Eu preciso criar backups de log de transações de um banco de dados com os nomes dos arquivos de alguma forma numerados de forma incremental, um por hora, ao longo do dia.
Exemplo:
9h - mydb 01 .trn
10h - mydb 02 .trn
11h - mydb 03 .trn
etc.
Não quero a data ou hora anexadas a eles porque nossos instantâneos SAN cuidarão do controle de versão. Esses nomes têm que ser os mesmos todos os dias.
Eu gostaria de fazer isso sem ter que criar um emprego para cada hora do dia. Eu simplesmente não consegui descobrir isso usando o T-SQL básico, que é o limite das minhas habilidades em T-SQL. Eu sei que poderia criar um monte de tarefas com comandos de backup padrão como abaixo, com um nome de arquivo diferente e horário agendado, no entanto, deve haver uma maneira melhor.
BACKUP LOG [mydb] TO DISK = N'X:\SQLBackups\mydb01.trn.trn'
,NAME = N'mydb_backup'
,COMPRESSION
,STATS = 10
,CHECKSUM
GO
Backup Log
permite que você use variáveis, você pode usar uma variável para o nome do seu disco e atribuir o nome apropriado, por exemplo: