我有一个SQL脚本,如下所示: -
BACKUP DATABASE [**********] TO DISK = N'G:\Super Sacred Databases\Orderwise Backup\20-04-2017-13-05.bak' WITH NOFORMAT, NOINIT, NAME = N'**********-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
在服务器上,我希望运行一个可以在Windows任务调度程序上安排的.bat文件。
我的困惑是,如何编写.bat文件以在SQL Server上执行此查询?
我到目前为止试图使用它:
sqlcmd -U myLogin -P myPassword -S MyServerName -d MyDatabaseName
-Q ?
问题是对我来说根本不起作用,而且我不知道-Q是什么?将在SQL Server中运行特定的查询。
此外,我不确定如何在所需字段中指定Servername或Databasename。
我知道我是新手,但是我很努力。
提前感谢您的帮助!
续 -
现在我正在使用这个
sqlcmd -U s******a -P 0****! -S LPSERVER\ORDERWISE
-Q "BACKUP DATABASE [********Live] TO DISK = N'G:\Super Sacred Databases\Orderwise Backup\20-04-2017-13-05.bak' WITH NOFORMAT, NOINIT, NAME = N'******estLive-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
"
但它似乎没有做任何事只是在CMD界面中显示cmd行而不再做任何事情。
有什么建议吗?
答案 0 :(得分:1)
由于BACKUP DATABASE可以在任何数据库的上下文中执行,因此您可以跳过-d
参数。
"服务器名称"如果您没有运行SQL Server的默认实例,则通常是运行SQL Server实例的PC的Windows名称,可选地由\InstanceName
扩展。对于本地PC,您只需使用.
作为服务器名称。
-Q
包含您正在执行的查询:
sqlcmd -U myLogin -P myPassword -S MyServerName -Q "BACKUP DATABASE ..."