Compartilhar via


Remove-SqlAvailabilityDatabase

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

Sintaxe

Remove-SqlAvailabilityDatabase
      [-Path] <String[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-SqlAvailabilityDatabase
      [-InputObject] <AvailabilityDatabase[]>
      [-Script]
      [-AccessToken <PSObject>]
      [-TrustServerCertificate]
      [-HostNameInCertificate <String>]
      [-Encrypt <String>]
      [-ProgressAction <ActionPreference>]
      [-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 do servidor que hospeda a réplica primária, 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 uma réplica secundária, 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 ingressado no grupo de disponibilidade, mas outras cópias do banco de dados continuam ingressadas.

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 a réplica primária. Portanto, ele remove o banco de dados primário e todos os seus 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 da réplica secundária hospedada pela instância do servidor chamada SecondaryServer\Instance. A sincronização de dados com os bancos de dados secundários removidos é interrompida. Esse comando não afeta o banco de dados primário nem outros bancos de dados secundários.

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 no SQL Server, como uma alternativa ao usuário/senha ou à Autenticação do Windows.

Isso pode ser usado, por exemplo, para se conectar a SQL Azure DB e SQL Azure Managed Instance usando 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 objeto PSAccessToken conforme retornado executando Get-AzAccessToken -ResourceUrl https://database.windows.net.

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

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Encrypt

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

Esse valor é mapeado para a propriedade EncryptSqlConnectionEncryptOption 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 significativa para scripts existentes.

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

Tipo:String
Valores aceitos:Mandatory, Optional, Strict
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 do SQL Server estiver habilitada para o Force Encryption e quiser se conectar a uma instância usando nome de host/nome curto. Se esse parâmetro for omitido, passar o FQDN (Nome de Domínio Totalmente Qualificado) para -ServerInstance será necessário para se conectar a uma instância do SQL Server habilitada para o Force Encryption.

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

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

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

Tipo:AvailabilityDatabase[]
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Path

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

Tipo:String[]
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ProgressAction

Determina como o PowerShell responde às atualizações de progresso geradas por um script, cmdlet ou provedor, como as barras de progresso geradas pelo cmdlet Write-Progress. O cmdlet Write-Progress cria barras de progresso que mostram o status de um comando.

Tipo:ActionPreference
Aliases:proga
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Script

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-TrustServerCertificate

Indica se o canal será criptografado ao ignorar a 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 significativa para scripts existentes.

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

Microsoft.SqlServer.Management.Smo.AvailabilityDatabase

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