sp_updatestats (Transact-SQL)
針對目前資料庫中的所有使用者自訂資料表和內部資料表來執行 UPDATE STATISTICS。
語法
sp_updatestats [ [ @resample = ] 'resample']
引數
- [ @resample =] 'resample'
指定 sp_updatestats 將使用 UPDATE STATISTICS 陳述式的 RESAMPLE 選項。新統計資料會繼承舊統計資料中的取樣比率。如果未指定 'resample',則 sp_updatestats 會利用預設取樣來更新統計資料。這個參數是 varchar(8),預設值是 NO。
傳回碼值
0 (成功) 或 1 (失敗)
備註
藉由指定 ALL 關鍵字,sp_updatestats 會針對資料庫中的所有使用者自訂和內部資料表來執行 UPDATE STATISTICS。sp_updatestats 會顯示進度訊息。當更新完成時,它會報告已更新所有資料表的統計資料。sp_updatestats 也會更新已停用的非叢集索引的統計資料。sp_updatestats 會忽略含已停用之叢集索引的資料表。
在 SQL Server 2005 中,sp_updatestats 只會更新必須根據 sys.sysindexes 相容性檢視中的 rowmodctr 資訊來更新的統計資料;因此,可以避免不必要地更新未變更的項目。
如果是相容性層級低於 90 的資料庫,執行 sp_updatestats 會重設目前資料庫中每份資料表的所有索引和統計資料的自動 UPDATE STATISTICS 設定。如需詳細資訊,請參閱<sp_autostats (Transact-SQL)>。如果是相容性層級 90 或以上的資料庫,sp_updatestats 可以保留任何特定索引或統計資料的自動 UPDATE STATISTICS 設定。
權限
需要系統管理員 (sysadmin) 固定伺服器角色中的成員資格或資料庫 (dbo) 的擁有權。
範例
下列範例會更新 AdventureWorks
資料庫中之資料表的統計資料。
USE AdventureWorks;
GO
EXEC sp_updatestats
請參閱
參考
Database Engine 預存程序 (Transact-SQL)
ALTER DATABASE (Transact-SQL)
CREATE INDEX (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
sp_autostats (Transact-SQL)
sp_createstats (Transact-SQL)
sp_dbcmptlevel (Transact-SQL)
系統預存程序 (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)