2014-01-17 76 views
1

我试图做一个方法来做自动备份。 由于我使用SQL Server 2008 Express,我(显然)不能使用代理。所以我找到了一个sql脚本来做备份。我正在使用与Windows任务计划程序链接的bat文件来每天启动脚本。这里的蝙蝠:自动执行mssql查询?

“C:\ Program Files文件\ Microsoft SQL Server的\ 100个\工具\ BINN \ SQLCMD.EXE” -S (本地)\的SQLExpress -i C:\ DBbackups \ SQLExpressBackups.sql

SQL:

BACKUP DATABASE MuOnline TO DISK = N'C:\DBbackups\Online' 
WITH NOFORMAT, INIT, NAME = N'Online Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 

BACKUP DATABASE Ranking TO DISK = N'C:\DBbackups\Ranking.bak' 
WITH NOFORMAT, INIT, NAME = N'Ranking Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 

BACKUP DATABASE MU2003_EVENT_DATA TO DISK = N'C:\DBbackups\2003_EVENT_DATA.bak' 
WITH NOFORMAT, INIT, NAME = N'2003_EVENT_DATA', SKIP, NOREWIND, NOUNLOAD, STATS = 10 

BACKUP DATABASE SCFMuTeam TO DISK = N'C:\DBbackups\SCF.bak' 
WITH NOFORMAT, INIT, NAME = N'SCF Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 

GO 

的SQL工作正常,并创建备份,但我必须手动执行它 - 所以当任务调度程序运行批处理文件不执行SQL - 这是一个错误与蝙蝠文件或我需要添加到SQL?

+0

是否有在事件日志的任何错误或信息? – NickyvV

+1

我最近自己做了这个。确保您用于任务计划程序的帐户在SQL Server上具有数据库备份权限。 –

+0

编辑 - 我想我没有正确使用任务计划程序..批处理不工作,所以我试图像这样添加它http://i.imgur.com/cU5FTrb.png这是不正确的? – joe

回答

1

您的屏幕不正确。把SQLCMD.EXE到程序运行和 -S (local)\SQLExpress -i C:\DBbackups\SQLExpressBackups.sql 作为参数

http://technet.microsoft.com/en-us/library/ms162773.aspx

+0

好吧,它现在加载蝙蝠,我得到的DOS提示符 - 闪烁几秒钟,然后显示一秒钟的文本,并关闭。由于备份不存在,sql似乎不会执行。 – joe

+0

是否正确?因为它不会执行.sql – joe