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. |
Cuidado |
---|
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
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:
Introdução
Escolher método
Resumo
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
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 e add_DacActionFinished para assinar os eventos de atualização do DAC.
Especifique o DAC a ser excluído.
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