
Necesito crear una tarea programada que haga una copia de seguridad de una base de datos dentro de una instancia de SQL Server 2005.
¿Existe algún argumento de línea de comando que pueda usar para lograr esto?
Respuesta1
OSQL -E -Q "BACKUP DATABASE database_name TO DISK = 'path and filename'"
Como en:
OSQL -E -Q "BACKUP DATABASE master TO DISK = 'C:\master.bak'"
Asegúrese de ejecutarlo como un usuario que tiene derechos para hacer una copia de seguridad de esa base de datos (o, alternativamente, use los argumentos "-U" y "-P" para proporcionar un nombre de usuario/contraseña en la línea de comando... no es una buena opción idea, pensamiento.)
Respuesta2
En realidad, lo mejor aquí es usar SQLCMD en lugar de OSQL. OSQL se considera obsoleto a partir de SQL Server 2005, aunque todavía existe en SQL Server 2008.