
Preciso criar uma tarefa agendada que faça backup de um banco de dados em uma instância do SQL Server 2005.
Existe um argumento de linha de comando que eu possa usar para conseguir isso?
Responder1
OSQL -E -Q "BACKUP DATABASE database_name TO DISK = 'path and filename'"
Como em:
OSQL -E -Q "BACKUP DATABASE master TO DISK = 'C:\master.bak'"
Certifique-se de estar executando isso como um usuário que tem direitos para fazer backup desse banco de dados (ou, alternativamente, use os argumentos "-U" e "-P" para fornecer um nome de usuário/senha na linha de comando... não é um bom ideia, pensamento.)
Responder2
Na verdade, melhor aqui é usar SQLCMD em vez de OSQL. OSQL é considerado obsoleto no SQL Server 2005, embora ainda exista no SQL Server 2008.