Compartilhar via


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

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

  1. No Pesquisador de Objetos, expanda o nó da instância que contém o DAC a ser excluído.

  2. Expanda o nó Gerenciamento .

  3. Expanda o nó Aplicativos da Camada de Dados .

  4. Clique com o botão direito do mouse no DAC a ser excluído e selecione Excluir Aplicativo da Camada de Dados...

  5. Conclua as etapas das caixas de diálogo do assistente:

    1. Introdução

    2. Escolher método

    3. Resumo

    4. Excluir Aplicativo da Camada de Dados

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

  1. Crie um objeto de servidor SMO e defina-o como a instância que contém o DAC a ser excluído.

  2. Abra um objeto ServerConnection e conecte-se à mesma instância.

  3. Use add_DacActionStarted e add_DacActionFinished para assinar os eventos de atualização do DAC.

  4. Especifique o DAC a ser excluído.

  5. 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 especifique DetachDatabase.
    • Para excluir o registro do DAC e remover o banco de dados, use o método Uninstall e especifique DropDatabase.

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)