Se um banco de dados for desanexado de uma instância permanentemente, existem tarefas de limpeza que devem ser feitas?
10
Se um banco de dados for desanexado de uma instância permanentemente, existem tarefas de limpeza que devem ser feitas?
Respostas:
Se você desanexar um banco de dados de uma instância, precisará executar uma exclusão do arquivo no nível do SO. A abordagem mais segura é descartar o banco de dados.
O que eu sugiro é fazer um backup final do banco de dados depois de colocá-lo no modo Somente Leitura (pois isso garantirá que nenhuma atividade esteja ocorrendo durante o backup) e, em seguida, remova-o do seu sistema por meio de um comando Drop Database .
O conjunto completo de comandos seria semelhante ao seguinte:
Depois disso, você desejará procurar os Trabalhos que executaram scripts no banco de dados. Eu sugiro que você apenas espere para ver o que falha (após o qual você pode criar um script / excluir o trabalho), pois há várias maneiras pelas quais um trabalho pode fazer referência a um banco de dados (nem todos são fáceis de identificar).
Por fim, convém remover todos os usuários da instância que só tiveram acesso a esse banco de dados. Esse script deve identificar quem são esses usuários, embora a versão de Max seja muito mais limpa (eu não percebi que ele postou uma abordagem até depois que eu editei minha resposta para incluir isso):
fonte
Eu votei na resposta de John; Gostaria de adicionar alguns detalhes sobre outros itens que talvez você queira limpar.
Os trabalhos e alertas do SQL Server Agent podem fazer referência ao banco de dados. Limpá-los evitará que erros desnecessários sejam relatados.
Remova todos os logons criados especificamente para o banco de dados. O T-SQL a seguir identificará possíveis logins candidatos que você pode investigar para ver se eles estão sendo usados. O código identifica logons que não são referenciados por nenhum banco de dados.
Podem existir dispositivos de backup para esse banco de dados. Embora não seja estritamente necessário removê-los, se eles não estiverem sendo usados, eles devem eliminar possíveis confusões futuras.
Os gatilhos no nível do servidor podem fazer referência ao banco de dados.
Procure planos de manutenção que façam referência ao banco de dados - eles falharão se não forem atualizados para remover o banco de dados ausente.
fonte
Todos os principais pontos já foram abordados. Abaixo estão os meus 2 centavos:
A desanexação de um banco de dados nunca é uma solução permanente, pois foi projetada para ser usada para mover os arquivos de banco de dados no servidor ou para outro servidor. A remoção permanente de um banco de dados pode ser feita pela opção Excluir no SSMS ou no comando DROP database, conforme mencionado acima.
Normalmente, os bancos de dados que são intencionalmente mantidos offline e continuam gerando alertas são os que desanexamos e mantemos até que possam ser permanentemente removidos (excluídos).
Tarefa de pré-desanexação: Execute
sp_helpdb dbname
para conhecer os locais dos arquivos.Tarefas de limpeza:
Além de logins, trabalhos de agente, gatilhos e pontos já mencionados por Max, esses dois também podem ser vistos.
fonte