Remove-SqlAvailabilityDatabase

Remove um banco de dados de disponibilidade de seu grupo de disponibilidade.

Syntax

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>]

Description

O cmdlet Remove-SqlAvailabilityDatabase remove o banco de dados de disponibilidade de seu grupo de disponibilidade. O parâmetro InputObject ou Path especifica o banco de dados de disponibilidade.

Se você executar esse cmdlet na instância de servidor que hospeda o réplica primário, o cmdlet removerá o banco de dados primário e todos os bancos de dados secundários correspondentes do grupo de disponibilidade.

Se você executar esse cmdlet em uma instância de servidor que hospeda um réplica secundário, o cmdlet removerá apenas o banco de dados secundário local do grupo de disponibilidade. O banco de dados secundário não está mais associado ao grupo de disponibilidade, mas outras cópias do banco de dados continuam a ser unidas.

Exemplos

Exemplo 1: remover um banco de dados de um grupo de disponibilidade

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

Esse comando remove o banco de dados de disponibilidade chamado Database16 do grupo de disponibilidade chamado MainAG. Esse comando é executado na instância do servidor que hospeda o réplica primário. Portanto, ele remove o banco de dados primário e todos os bancos de dados secundários correspondentes do grupo de disponibilidade. A sincronização de dados não ocorre mais para esse banco de dados em nenhuma réplica secundária.

Exemplo 2: remover todos os bancos de dados de um grupo de disponibilidade

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

Esse comando obtém todos os bancos de dados de disponibilidade que pertencem a MainAGe os passa para o cmdlet atual usando o operador de pipeline. O cmdlet atual remove cada banco de dados de disponibilidade.

Exemplo 3: remover um banco de dados secundário de um grupo de disponibilidade

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

Esse comando remove o banco de dados secundário chamado Database16 do réplica secundário hospedado pela instância de servidor chamada SecondaryServer\Instance. A sincronização de dados com os bancos de dados secundários removidos é interrompida. Este comando não afeta o banco de dados primário ou nenhum outro banco de dados secundário.

Exemplo 4: criar um script para remover um banco de dados de um grupo de disponibilidade

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

Esse comando cria um script Transact-SQL que remove o banco de dados de disponibilidade chamado Database16 do grupo de disponibilidade chamado MainAG. O comando não executa essa ação.

Parâmetros

-AccessToken

O token de acesso usado para autenticar em SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar e SQL Azure DBSQL Azure Managed Instance usar um Service Principal ou um Managed Identity.

O parâmetro a ser usado pode ser uma cadeia de caracteres que representa o token ou um PSAccessToken objeto conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

Esse parâmetro é novo na v22 do módulo.

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

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

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

-Encrypt

O tipo de criptografia a ser usado ao se conectar a SQL Server.

Esse valor é mapeado para a Encrypt propriedade SqlConnectionEncryptOption no objeto SqlConnection do driver Microsoft.Data.SqlClient.

Na v22 do módulo, o padrão é Optional (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será 'Obrigatório', o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

-HostNameInCertificate

O nome do host a ser usado na validação do certificado TLS/SSL do SQL Server. Você deve passar esse parâmetro se a instância de SQL Server estiver habilitada para Forçar Criptografia e quiser se conectar a uma instância usando nome do host/nome curto. Se esse parâmetro for omitido, será necessário passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance para se conectar a uma instância de SQL Server habilitada para Forçar Criptografia.

Esse parâmetro é novo na v22 do módulo.

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

-InputObject

Especifica o banco de dados de disponibilidade, como um objeto AvailabilityDatabase , que esse cmdlet remove.

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

-Path

Especifica o caminho de um banco de dados de disponibilidade que o cmdlet remove.

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

-Script

Indica que esse cmdlet retorna um script Transact-SQL que executa a tarefa que este cmdlet executa.

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

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a movimentação da cadeia de certificados para validar a confiança.

Na v22 do módulo, o padrão é $true (para compatibilidade com v21). Na v23+ do módulo, o valor padrão será "$false", o que pode criar uma alteração interruptiva para scripts existentes.

Esse parâmetro é novo na v22 do módulo.

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

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

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

Entradas

Microsoft.SqlServer.Management.Smo.AvailabilityDatabase

Você pode passar um banco de dados de disponibilidade para esse cmdlet.