quinta-feira, 17 de maio de 2018

SQL SERVER - O assistente para restauração de banco de dados no SSMS Management Studio está muito lento.

Recentemente enfrentamos uma situação muito interessante. Para ser muito honesto, eu estava inicialmente perdido por alguns momentos quando descreveram essa situação e queriam que eu resolvesse o erro deles. Eles estavam enfrentando uma situação muito especial em que o SQL Server Management Studio estava funcionando bem, mas quando tentavam restaurar qualquer banco de dados, o Assistente de banco de dados de restauração do SSMS demorava uma eternidade para ser aberto.


Os desenvolvedores ficaram muito surpresos com esse problema e já passaram muito tempo no servidor. Depois de tentativas frustradas, eles decidiram me procurar e queriam que eu resolvesse o erro deles. Vamos ver quais são os vários esforços que tentamos durante a chamada para resolver o problema e qual deles funcionou exatamente.

Falha na tentativa 1: reinstalar o SSMS

Isso não funcionou para nós.

Falha na tentativa 2: instalar a versão mais recente do SSMS

Novamente, assim como a reinstalação do SSMS, a versão mais recente do SQL Server Management Studio não funcionou.

Falha na tentativa 3: aumentar a memória para o sistema operacional

Como estávamos em uma máquina virtual, tentamos aumentar a memória no sistema operacional, mas isso também não foi bem-sucedido.

Falha na tentativa 4: tentativa de restaurar outro banco de dados

Não importa qual banco de dados nós tentamos restaurar o Assistente de banco de dados de restauração do SSMS não apareceria facilmente.

Falha Tentativa 5: Tentei quando o servidor não estava ocupado

Honestamente, isso também não funcionou.

Tentativa Bem-sucedida: Excluir Histórico de Backup

Bem, depois de passar mais de 30 minutos em várias tentativas mal-sucedidas diferentes, assim como um DBA, eu também estava um pouco perdido no momento. No entanto, quando percebi que apenas o seu assistente de banco de dados de restauração é lento, mas nenhuma outra parte no SSMS, de repente me lembrei sobre o histórico de backup.


Sempre que abrimos o Assistente de restauração de banco de dados nesse momento, o SQL Server recupera o histórico inteiro do backup de banco de dados da tabela msdb.dbo.backupset e é exibido na seção Conjuntos de backups a serem restaurados. Eu verifiquei com o DBA e eles não estavam excluindo nenhum histórico de backup como parte do processo de manutenção.

A próxima coisa que fizemos foi excluir o histórico de backup com o seguinte comando, onde eu deletei todo o histórico antes da data de 1º de janeiro de 2018.

1
2
USE msdb;
EXEC sp_delete_backuphistory @oldest_date = '01/01/2018';

Uma vez que eu apaguei o histórico deles, de repente o assistente de banco de dados de restauração começou a abrir muito rapidamente.

Lição aprendida de que você deve ter um plano de manutenção adequado. Excluir o histórico de backup é apenas uma das etapas da tarefa de manutenção, você pode planejar dentro das suas rotinas e criar um plano de manutenção muito robusto que não lhe dará surpresas inesperadas, como descrito em postagem de blog de hoje.

Grande abraços, sucesso.

Nenhum comentário:

Postar um comentário