Remove-SqlAvailabilityDatabase

Удаляет базу данных доступности из группы доступности.

Синтаксис

Remove-SqlAvailabilityDatabase
      [-Path] <String[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-SqlAvailabilityDatabase
      [-InputObject] <AvailabilityDatabase[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Remove-SqlAvailabilityDatabase удаляет базу данных доступности из своей группы доступности. Параметр InputObject или Path указывает базу данных доступности.

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

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

Примеры

Пример 1. Удаление базы данных из группы доступности

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

Эта команда удаляет базу данных доступности с именем Database16 из группы доступности с именем MainAG. Эта команда выполняется на экземпляре сервера, на котором размещен основной реплика. Таким образом, он удаляет базу данных-источник и все соответствующие базы данных-получатели из группы доступности. Синхронизация данных больше не выполняется для этой базы данных на дополнительных реплика.

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

PS C:\> Get-ChildItem "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases" | Remove-SqlAvailabilityDatabase

Эта команда получает все базы данных доступности, принадлежащие MainAG, а затем передает их в текущий командлет с помощью оператора конвейера. Текущий командлет удаляет каждую базу данных доступности.

Пример 3. Удаление базы данных-получателя из группы доступности

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\SecondaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16"

Эта команда удаляет базу данных-получатель с именем Database16 из вторичной реплика, размещенной экземпляром сервера с именем SecondaryServer\Instance. Синхронизация данных с удаленными базами данных-получателями останавливается. Эта команда не влияет на базу данных-источник и на любые другие базы данных-получатели.

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

PS C:\> Remove-SqlAvailabilityDatabase -Path "SQLSERVER:\Sql\PrimaryServer\InstanceName\AvailabilityGroups\MainAG\AvailabilityDatabases\Database16" -Script

Эта команда создает скрипт Transact-SQL, который удаляет базу данных доступности с именем Database16 из группы доступности с именем MainAG. Команда не выполняет это действие.

Параметры

-AccessToken

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

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

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

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

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Encrypt

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

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

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

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

Type:String
Accepted values:Mandatory, Optional, Strict
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostNameInCertificate

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

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Указывает базу данных доступности в качестве объекта AvailabilityDatabase , который удаляется этим командлетом.

Type:AvailabilityDatabase[]
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

Указывает путь к базе данных доступности, удаляемой командлетом.

Type:String[]
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Script

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TrustServerCertificate

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

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

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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

Microsoft.SqlServer.Management.Smo.AvailabilityDatabase

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