Поделиться через


Switch-SqlAvailabilityGroup

Запускает отработку отказа группы доступности на вторичную реплику.

Синтаксис

Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [[-Path] <String[]>]
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Switch-SqlAvailabilityGroup
      [-AllowDataLoss]
      [-Force]
      [-InputObject] <AvailabilityGroup[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Switch-SqlAvailabilityGroup запускает отработку отказа группы доступности на указанную вторичную реплику. Запустите этот командлет на целевой вторичной реплике. После отработки отказа вторичная реплика становится основной репликой.

Примеры

Пример 1. Отработка отказа группы доступности

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"

Эта команда выполняет отработку отказа вручную MainAG группы доступности на экземпляр сервера с именем SecondaryServer\InstanceName. Эта команда не разрешает потерю данных. Выполните эту команду на экземпляре сервера, на котором размещена вторичная реплика, к которой требуется выполнить отработку отказа.

Пример 2. Принудительное отработка отказа группы доступности

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -AllowDataLoss

Эта команда выполняет отработку отказа вручную MainAG группы доступности на экземпляр сервера с именем SecondaryServer\InstanceName. Команда задает параметр AllowDataLoss. Поэтому отработка отказа может привести к потере данных, а командная строка запрашивает подтверждение. Укажите параметр Force, чтобы пропустить подтверждение.

Пример 3. Создание скрипта для отработки отказа группы доступности

PS C:\> Switch-SqlAvailabilityGroup -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Script

Эта команда создает скрипт Transact-SQL, который выполняет отработку отказа вручную группы доступности MainAG экземпляру сервера с именем SecondaryServer\InstanceName. Скрипт не разрешает потерю данных. Команда не вызывает отработку отказа.

Параметры

-AccessToken

Маркер доступа, используемый для проверки подлинности в SQL Server, в качестве альтернативы пользователю или паролю или проверке подлинности Windows.

Это можно использовать, например, для подключения к SQL Azure DB и SQL Azure Managed Instance с помощью Service Principal или Managed Identity.

Используемый параметр может быть строкой, представляющей маркер или объект PSAccessToken, как возвращается при выполнении Get-AzAccessToken -ResourceUrl https://database.windows.net.

Этот параметр является новым в версии 22 модуля.

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AllowDataLoss

Указывает, что этот командлет запускает принудительное отработка отказа на целевую вторичную реплику. Возможна потеря данных. Если параметр или script не указан, командлет запрашивает подтверждение.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед запуском командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Encrypt

Тип шифрования, используемый при подключении к SQL Server.

Это значение сопоставляется со свойством EncryptSqlConnectionEncryptOption в объекте SqlConnection драйвера Microsoft.Data.SqlClient.

В версии 22 модуля по умолчанию используется Optional (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:String
Допустимые значения:Mandatory, Optional, Strict
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Force

Принудительно выполняется команда без запроса подтверждения пользователя. Этот командлет запрашивает подтверждение, только если указать параметр AllowDataLoss.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-HostNameInCertificate

Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.

Этот параметр является новым в версии 22 модуля.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Указывает группу доступности, которую этот командлет выполняет отработку отказа.

Тип:AvailabilityGroup[]
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Path

Указывает путь группы доступности, которую этот командлет выполняет отработку отказа. Если этот параметр не указан, этот командлет использует текущее рабочее расположение.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ProgressAction

Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.

Тип:ActionPreference
Aliases:proga
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Script

Указывает, что этот командлет возвращает скрипт Transact-SQL, выполняющий задачу, выполняемую этим командлетом.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TrustServerCertificate

Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.

В версии 22 модуля по умолчанию используется $true (для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.

Этот параметр является новым в версии 22 модуля.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]

Вы можете передать группу доступности этому командлету.