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 MainAG
e 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 DB
SQL 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.