我想在 sql server 上创建备份作业。我想在作业中执行批处理文件。我只是想知道从 sql 作业执行批处理文件的部分。您有什么想法吗?
任何帮助都将不胜感激。
use MyDb
go
BACKUP DATABASE MyDb TO DISK = 'C:\BackUps\MyDb.bak' WITH differential
go
-- Call my batch file (which will zip MyDb.bak file)
答案1
如果您将此作为 SQL Server 代理作业(来自 SSMS)执行,则调用批处理文件会容易得多。只需添加类型为“ Operating System (CmdExec)
”的步骤并将其指向您的 .bat 文件即可。
答案2
如果你正在使用 SQL Server 2008 Enterprise(或更高版本),那么xp_cmdshell是实现此目的的方法,不过你必须先使用以下命令启用它:sp_configure。
如果你足够幸运,能够使用 mssql 2008 enterprise,那么备份压缩功能是您应该使用的。
您可能想做一些比调用 static.bat 文件更高级的事情。以下是一些有用的示例:
用于压缩和传输数据库备份文件的示例 SQL 脚本
如何以 .zip 格式备份 SQL 数据库