从 SQL Server 作业执行批处理文件

从 SQL Server 作业执行批处理文件

我想在 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 数据库

相关内容