10.3 解决计算机名修改或作业移植导致的服务器名问题.sql

来自「SQLServer2000常用函数大全(经典)」· SQL 代码 · 共 22 行

SQL
22
字号
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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?