Excluir um Aplicativo da Camada de Dados

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.

[Início]

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 no 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.

Observação sobre cuidadosCuidado

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.

[Início]

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.

[Início]

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

[Início]

Página 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 com a página Escolher Método.

Cancelar - Finaliza o assistente sem excluir um aplicativo da camada de dados ou banco de dados.

[Assistente de Exclusão]

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 aquela 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 - Volta à página de Introdução.

Próxima >- Continue com a página Resumo.

Cancelar - Finaliza o assistente sem excluir o DAC ou o banco de dados.

[Assistente de Exclusão]

Página Resumo

Use esta página para examinar as ações que o assistente tomará ao excluir a instância do DAC.

Revisar o resumo de sua seleção - Revise 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 para a página Escolher Método para escolher um método de exclusão diferente.

Próxima >- Exclui a instância de DAC usando o método escolhido na página anterior e continua com a página Excluir Aplicativo da Camada de Dados.

Cancelar - Finaliza o assistente sem excluir a instância de DAC.

[Assistente de Exclusão]

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. Examine as informações para determinar o êxito ou falha de cada ação. Todas as ações que obtiveram 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.

[Assistente de Exclusão]

Excluir um DAC usando o PowerShell

Para excluir um DAC usando o script do 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 destes três conjuntos de códigos, dependendo da opção de exclusão apropriada:

    • Para excluir o registro do DAC, mas 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.

[Início]

Exemplo Excluindo o DAC mas deixando o banco de dados (PowerShell)

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
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Exemplo Excluindo o DAC e desanexando o banco de dados (PowerShell)

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
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Exemplo Excluindo o DAC e removendo o banco de dados (PowerShell)

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
$srv = get-item .

## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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)

PowerShell

Consulte também

Conceitos

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)