-- 作者:弘恩
-- 校验当前实例下摆的所有过程值
IF OBJECT_ID('tempdb..T_CheckValues') IS NOT NULL
DROP TABLE tempdb..T_CheckValues;
CREATE TABLE tempdb..T_CheckValues ( db VARCHAR(255), ObjectName VARCHAR(255),CheckValues BIGINT);
DECLARE @sql VARCHAR(max) ;
SET @sql = '';
SELECT @sql = @sql + '
use ['+db.name+'];
INSERT INTO tempdb..T_CheckValues
SELECT ''' +db.name+ ''',
o.name,
CHECKSUM(s.definition) AS CheckValues
FROM sys.sql_modules AS s
JOIN sys.objects AS o ON s.object_id = o.object_id
WHERE o.type = ''P'' ;
'
FROM sys.databases db
WHERE db.database_id >= 5 ;
PRINT @sql;
EXEC (@sql);
SELECT * FROM tempdb..T_CheckValues