USE msdb
--获取当前SQL Server的实例名
DECLARE @servername sysname
SET @servername=CAST(SERVERPROPERTY('servername') as nvarchar(128))
--检查是否存在作业的源服务器与当前实例名不同名的作业,如果存在,则更新
IF EXISTS(SELECT * FROM sysjobs WHERE originating_server<>@servername)
BEGIN
--因为要修改系统表,所以设置允许更新系统表
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
--将作业的来源服务器设置为当前实例
UPDATE sysjobs SET originating_server=@servername
WHERE originating_server<>@servername
--关闭系统表更新功能
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
END
--获取当前SQL Server的实例名
DECLARE @servername sysname
SET @servername=CAST(SERVERPROPERTY('servername') as nvarchar(128))
--检查是否存在作业的源服务器与当前实例名不同名的作业,如果存在,则更新
IF EXISTS(SELECT * FROM sysjobs WHERE originating_server<>@servername)
BEGIN
--因为要修改系统表,所以设置允许更新系统表
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
--将作业的来源服务器设置为当前实例
UPDATE sysjobs SET originating_server=@servername
WHERE originating_server<>@servername
--关闭系统表更新功能
EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
END