Eu tenho um banco de dados SQL de 2,8 TB (principalmente arquivos de dados, cerca de 400 GB de arquivos de log) que atualmente leva cerca de 9 horas para restaurar. Esse banco de dados é usado para fins de teste e deve ser excluído e restaurado a partir de um backup entre cada execução, para garantir que estamos sempre começando do mesmo ponto.
Minha pergunta é: o servidor atualmente possui 12 núcleos e 92 GB de RAM, com um subsistema de disco RAID 5 no qual o banco de dados está. Quais áreas geralmente causam gargalos nos processos de restauração do SQL? É o disco, memória ou CPU?
sql-server
performance
Sean Long
fonte
fonte
Respostas:
Seu principal gargalo em uma restauração será a E / S do disco. Para corrigir isso, você basicamente precisa de discos mais rápidos ou de uma configuração diferente. Eu não sei o suficiente sobre RAID ou SANs para sugerir alguma coisa lá. Você pode até considerar SSDs. Eles são incrivelmente rápidos. Eu não gostaria de usá-los em algo que não seja recriado regularmente (o tempdb é sempre um bom candidato para isso), mas, como você o restaura com frequência, pode ser bom. Por outro lado, você provavelmente deseja garantir que o servidor de teste esteja o mais próximo possível do servidor de produção, se estiver realizando testes de desempenho.
Existem algumas outras coisas que você pode fazer para se ajudar. Primeiro comprima seus backups se você ainda não estiver. Obviamente, isso pressupõe o SQL 2008 ou superior. Isso reduzirá não apenas o espaço em disco para armazenar o backup, mas também o IO para lê-lo. Há um custo de CPU envolvido, portanto, esteja ciente. Também não exclua seu banco de dados, apenas restaure-o. Dessa forma, os arquivos já estão no lugar e não há sobrecarga para criá-los. Você pode ativar a inicialização instantânea de arquivos (é uma permissão no nível do servidor) para acelerar drasticamente a criação / crescimento de arquivos para o seu arquivo de dados, mas não funcionará no seu arquivo de log.
fonte
Não faça um backup e restauração; use instantâneos do SQL Server. É preciso muito espaço em disco para armazenar um arquivo esparso do mesmo tamanho dos arquivos que você capturou instantaneamente, mas a reversão é centenas de vezes mais rápida.
Eles estão disponíveis nas edições SQL Server Enterprise e SQL Server Developer.
fonte