Como 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 é retido, desanexado ou descartado.
Antes de começar
Quando você exclui uma instância de DAC (aplicativo da camada de dados), 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 é ignorado. São excluídos os dados e os arquivos de log. |
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 |
---|
A recriação de uma instância de DAC com o registro de um DAC de 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 do sistema do SQL Server, chamada sa, também pode iniciar o assistente.
Excluir um DAC usando o PowerShell
Crie um arquivo de script do PowerShell (como DeleteDAC.ps1) contendo o código a seguir.
Adicione código para criar um objeto SMO Server e defini-lo como a instância que contém o DAC que você deseja excluir. Este exemplo define um objeto Server como a instância padrão no computador local:
## Set a SMO Server object to the default instance on the local computer. CD SQLSERVER:\SQL\localhost\DEFAULT $srv = get-item .
Adicione código para abrir um objeto ServerConnection e conectar-se à mesma instância.
## 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)
Adicione código para assinar os eventos de exclusão do DAC.
## 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})
Adicione código para especificar o DAC a ser excluído. Este exemplo especifica o nome do DAC:
## Specify the DAC to delete. $dacName = "MyApplication"
Adicione código para executar o método Uninstall com as informações especificadas acima. Use um destes três conjuntos de códigos, dependendo de qual opção de exclusão é apropriada:
Para excluir o registro do DAC, mas deixar o banco de dados intato:
## Only delete the DAC definition from msdb, the associated database remains active. $dacstore.Unmanage($dacName)
Para excluir o registro do DAC e desanexar o banco de dados:
## Delete the DAC definition from msdb and detach the associated database. $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
Para excluir o registro do DAC e descartar o banco de dados:
## Delete the DAC definition from msdb and drop the associated database. ## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
Execute o DeleteDAC.ps1 de uma sessão do PowerShell na qual você tenha carregado os snapins SQL Server PowerShell ou usando o utilitário de prompt de comando sqlps.
Usando o Assistente para Excluir Aplicativo da Camada de Dados
No Management Studio, você pode iniciar o assistente clicando com o botão direito do mouse em um nó de aplicativo da camada de dados no Pesquisador de Objetos e selecionando Excluir Aplicativo da Camada de Dados….
Clique no link na lista abaixo para ver os detalhes de uma página do assistente:
Introdução
Escolher método
Resumo
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 com a página Escolher Método.
Cancelar - Finaliza o assistente sem excluir um aplicativo da camada de dados ou banco de dados.
Página Escolher Método
Use esta página para especificar o método de exclusão do aplicativo da camada de dados.
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.
Página de Resumo
Use essa 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.
Página Excluir Aplicativo da Camada de Dados
Essa 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 Documentos da conta do Windows.
Concluir - Finaliza o assistente.
Consulte também
Conceitos
Outros recursos
Histórico de alterações
Conteúdo atualizado |
---|
Adicionada a seção sobre o uso do PowerShell. |