Eu tenho um banco de dados do SQL Server que faz backup dos logs de transações a cada 10 minutos, com um backup completo durante a noite.
Usando o SQL 2008 Management studio, parece que precisamos selecionar cada log de transações, um por um. Existe alguma maneira de apontar para um diretório?
Estou pensando em executar um backup diferencial várias vezes ao dia, o que pode compensar parte disso, mas analisar um por um através de dezenas / centenas de arquivos parece consumir bastante tempo. Escrever um código para tentar criar um script parece muito fora do tópico das nossas principais competências.
Se o SQL Server Management Studio não tiver uma maneira mais rápida, talvez haja uma ferramenta de terceiros disponível?
sql-server
sql-server-2008
ssms
aSkywalker
fonte
fonte
Respostas:
Não há maneiras de especificar vários backups de log de transações (pasta ok) para restaurar no SQL Server Management studio.
Mas você pode encontrar todas as informações sobre as operações de backup do SQL Server no banco de dados MSDB (tabela backupsetset e afins).
Aqui está o script para gerar comandos do SQL Server para restaurar o banco de dados a partir do backup e aplicar todos os backups dos logs de transações executados no último backup completo do banco de dados. Eu acho que deveria ajudá-lo.
fonte
você só precisa de uma lista de instruções sql como ...
Assim, você pode criar um script VB que facilmente gera esse SQL para você a partir de uma determinada pasta. Aqui está um exemplo http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/restoring-multiple-transaction-log-backu
Depois de criar o SQL, basta verificar se ele está correto e executá-lo.
fonte
Aqui está um exemplo de como você pode gerar automaticamente o script de restauração do SQL Server a partir de arquivos de backup em um diretório usando o TSQL:
Gerar automaticamente o script de restauração do SQL Server a partir de arquivos de backup em um diretório
Gerar automaticamente scripts de restauração de banco de dados do SQL Server
fonte
Eu não queria usar a abordagem baseada em SQL da resposta aceita, porque não queria habilitar procedimentos armazenados estendidos. Então, eu escrevi um script do PowerShell para fazer isso.
Você o aponta para uma pasta e gera um script com base no backup completo mais recente e em todos os backups subsequentes do log de transações.
fonte