时间:2021-07-01 10:21:17 帮助过:74人阅读
SQL Server 2005/2008遍历所有表更新统计信息 无 DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR SELECT sst.name, Schema_name(sst.schema_id) FROM sys.tables sst WHERE sst.TYPE = 'U' DECLARE @name VARCHAR(80), @schema VARCHAR(40) OPEN Updat
SQL Server 2005/2008遍历所有表更新统计信息DECLARE UpdateStatisticsTables CURSOR READ_ONLY FOR
SELECT sst.name,
Schema_name(sst.schema_id)
FROM sys.tables sst
WHERE sst.TYPE = 'U'
DECLARE @name VARCHAR(80),
@schema VARCHAR(40)
OPEN UpdateStatisticsTables
FETCH NEXT FROM UpdateStatisticsTables INTO @name, @schema
WHILE ( @@FETCH_STATUS <> -1 )
BEGIN
IF ( @@FETCH_STATUS <> -2 )
BEGIN
DECLARE @sql NVARCHAR(1024)
SET @sql='UPDATE STATISTICS ' + Quotename(@schema)
+
'.' + Quotename(@name)
EXEC Sp_executesql @sql
END
FETCH NEXT FROM UpdateStatisticsTables INTO @name, @schema
END
CLOSE UpdateStatisticsTables
DEALLOCATE UpdateStatisticsTables
GO
UPDATE STATISTICS tblCompany USE tblCompany;EXEC sp_updatestats