校验当前实例下摆的所有过程值

2014-11-24 00:34:04 · 作者: · 浏览: 12
-- 作者:弘恩
-- 校验当前实例下摆的所有过程值
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