Excluir um aplicativo da camada de dados
Aplica-se ao: SQL Server Banco de Dados SQL do Azure
Você poderá excluir um aplicativo da camada de dados usando o Assistente para Excluir Aplicativo da Camada de Dados ou um script do Windows PowerShell. É possível especificar se o banco de dados associado será retido, desanexado ou removido.
Antes de começar: Limitações e Restrições, Permissões
Para atualizar um DAC, usando o: Assistente para Registrar o Aplicativo da Camada de Dados, PowerShell
Antes de começar
Ao excluir uma instância de DAC (aplicativo da camada de dados), você escolhe uma das três opções que especificam o que será feito com o banco de dados associado ao aplicativo da camada de dados. Todas as três opções excluem os metadados da definição do DAC. As opções diferem no que fazem com o banco de dados associado ao aplicativo da camada de dados. O assistente não exclui nenhum dos objetos do nível de instância associados ao DAC ou banco de dados, como logons.
Opção | Ações de banco de dados |
---|---|
Excluir registro | O banco de dados associado permanece intacto. |
Desanexar banco de dados | O banco de dados associado é desanexado. A instância do Mecanismo de Banco de Dados não pode fazer referência ao banco de dados, mas os dados e os arquivos de log estão intatos. |
Excluir banco de dados | O banco de dados associado é removido. Os dados e os arquivos de log são excluídos. |
Limitações e Restrições
Não há nenhum mecanismo automático para restaurar os metadados da definição do DAC ou o banco de dados depois que um DAC é excluído. A maneira como a instância do DAC pode ser recriada manualmente depende da opção de exclusão.
Opção | Como recriar a instância do DAC |
---|---|
Excluir registro | Registrar um DAC do banco de dados deixado no lugar. |
Desanexar banco de dados | Reanexe o banco de dados usando sp_attachdb ou o SQL Server Management Studio e registre uma nova instância de DAC do banco de dados. |
Excluir banco de dados | Restaure o banco de dados de um backup completo feito antes do DAC ser excluído e registre uma nova instância do DAC no banco de dados. |
Aviso
A recompilação de uma instância de DAC através do registro de um DAC em um banco de dados restaurado ou reanexado não recriará algumas partes do DAC original, como a política de seleção de servidor.
Permissões
Um DAC pode ser excluído somente pelos membros das funções de servidor fixas sysadmin ou serveradmin , ou pelo proprietário do banco de dados. A conta interna do administrador de sistema do SQL Server chamada sa também pode iniciar o assistente.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
Para excluir um DAC usando um assistente
No Pesquisador de Objetos, expanda o nó da instância que contém o DAC a ser excluído.
Expanda o nó Gerenciamento .
Expanda o nó Aplicativos da Camada de Dados .
Clique com o botão direito do mouse no DAC a ser excluído e selecione Excluir Aplicativo da Camada de Dados...
Conclua as etapas das caixas de diálogo do assistente:
Página de Introdução
Esta página descreve as etapas para excluir um aplicativo da camada de dados.
Não mostrar esta página novamente. - Clique na caixa de seleção para interromper a exibição da página no futuro.
Avançar >: continua para a página Escolher Método.
Cancelar : finaliza o assistente sem excluir um aplicativo da camada de dados ou banco de dados.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
Página Escolher Método
Use esta página para especificar a opção que tratará o banco de dados associado ao DAC que será excluído.
Excluir registro : remove os metadados que definem o aplicativo da camada de dados, mas deixa o banco de dados associado intacto.
Desanexar banco de dados : remove os metadados que definem o aplicativo da camada de dados e desanexa o banco de dados associado.
O banco de dados não pode mais ser referenciado por essa instância do Mecanismo de Banco de Dados, mas os dados e os arquivos de log permanecem intactos.
Excluir banco de dados : remove os metadados que definem o DAC e descarta o banco de dados associado.
Os dados e os arquivos de log do banco de dados são excluídos permanentemente.
< Anterior – Retorna à página Introdução .
Próximo >: avança para a página Resumo.
Cancelar : finaliza o assistente sem excluir o DAC ou o banco de dados.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
Página de Resumo
Use esta página para examinar as ações que o assistente tomará ao excluir a instância do DAC.
Review your selection summary (Examinar o resumo de sua seleção) : examine o DAC, o banco de dados e o método de exclusão exibidos na caixa. Se as informações estiverem corretas, selecione Avançar ou Concluir para excluir o DAC. Se o DAC e as informações do banco de dados não estiverem corretas, selecione Cancelar e selecione o DAC correto. Se o método de exclusão não estiver correto, selecione Anterior para retornar ou a página Escolher Método e selecione um método diferente.
< Anterior – Retorna à página Escolher método para escolher um método de exclusão diferente.
Avançar > - Exclui a instância do DAC usando o método que você escolheu na página anterior e prossegue para a página Excluir Aplicativo da Camada de Dados.
Cancelar : finaliza o assistente sem excluir a instância de DAC.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
Página Excluir Aplicativo da Camada de Dados
Esta página relata o êxito ou a falha da operação de exclusão.
Excluindo o DAC : relata o êxito ou falha de cada ação realizada para excluir a instância de DAC. Analise as informações para determinar o êxito ou falha de cada ação. Todas as ações que encontrarem um erro terão um link na coluna Resultado . Selecione o link para exibir um relatório do erro para aquela ação.
Salvar Relatório : selecione esse botão para salvar o relatório de exclusão em um arquivo HTML. O arquivo relata o status de cada ação, inclusive todos os erros gerados por qualquer uma das ações. A pasta padrão é SQL Server Management Studio\DAC Packages na pasta Documents da conta do Windows.
Concluir : finaliza o assistente.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
Usando o PowerShell
Crie um objeto de servidor SMO e defina-o como a instância que contém o DAC a ser excluído.
Abra um objeto ServerConnection e conecte-se à mesma instância.
Use
add_DacActionStarted
eadd_DacActionFinished
para assinar os eventos de atualização do DAC.Especifique o DAC a ser excluído.
Use um de três exemplos, dependendo de qual opção de exclusão é apropriada:
- Para excluir o registro do DAC e deixar o banco de dados intacto, use o método
Unmanage
. - Para excluir o registro do DAC e desanexar o banco de dados, use o método
Uninstall
e especifiqueDetachDatabase
. - Para excluir o registro do DAC e remover o banco de dados, use o método
Uninstall
e especifiqueDropDatabase
.
- Para excluir o registro do DAC e deixar o banco de dados intacto, use o método
Excluir o DAC e manter o banco de dados
O exemplo a seguir exclui um DAC chamado <myApplication>
usando o método Unmanage
para excluir o DAC, mas deixar o banco de dados intacto.
## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)
$serverConnection.Connect()
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
## Subscribe to the DAC delete events.
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})
## Specify the DAC to delete.
$dacName = "<myApplication>"
## Only delete the DAC definition from msdb, the associated database remains active.
$dacStore.Unmanage($dacName)
Excluir o DAC e desanexar o banco de dados
O exemplo a seguir exclui um DAC chamado <myApplication>
usando o método Uninstall
para excluir o DAC e desanexar o banco de dados.
## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)
$serverConnection.Connect()
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
## Subscribe to the DAC delete events.
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})
## Specify the DAC to delete.
$dacName = "<myApplication>"
## Delete the DAC definition from msdb and detach the associated database.
$dacStore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
Excluir o DAC e remover o banco de dados
O exemplo a seguir exclui um DAC chamado <myApplication>
usando o método Uninstall
para excluir o DAC e remover o banco de dados.
## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)
$serverConnection.Connect()
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
## Subscribe to the DAC delete events.
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})
## Specify the DAC to delete.
$dacName = "<myApplication>"
## Delete the DAC definition from msdb and drop the associated database.
$dacStore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
Confira também
Aplicativos da camada de dados
Aplicativos da camada de dados
Implantar um aplicativo da camada de dados
Registrar um banco de dados como um DAC
Fazer backup e restaurar bancos de dados do SQL Server
Anexar e desanexar bancos de dados (SQL Server)