
Мне нужно создать запланированную задачу, которая будет выполнять резервное копирование базы данных в экземпляре SQL Server 2005.
Есть ли аргумент командной строки, который можно использовать для достижения этой цели?
решение1
OSQL -E -Q "BACKUP DATABASE database_name TO DISK = 'path and filename'"
Как в:
OSQL -E -Q "BACKUP DATABASE master TO DISK = 'C:\master.bak'"
Убедитесь, что вы запускаете его как пользователь, имеющий права на резервное копирование этой базы данных (или, в качестве альтернативы, используйте аргументы «-U» и «-P», чтобы указать имя пользователя/пароль в командной строке... не очень хорошая идея, как мне показалось.)
решение2
На самом деле лучше использовать SQLCMD вместо OSQL. OSQL считается устаревшим с SQL Server 2005, хотя он все еще присутствует в SQL Server 2008.