sp_updatestats (Transact-SQL)

現在のデータベース内にあるすべてのユーザー定義テーブルと内部テーブルに対して UPDATE STATISTICS を実行します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_updatestats [ [ @resample = ] 'resample']

引数

  • [ @resample =] 'resample'
    sp_updatestatsUPDATE STATISTICS ステートメントの RESAMPLE オプションを使用します。新しい統計は、古い統計のサンプリング比率を継承します。'resample' が指定されていない場合、sp_updatestats は既定のサンプリングを使用して統計を更新します。このパラメータのデータ型は varchar(8) で、既定値は NO です。

解説

sp_updatestats は、ALL キーワードを指定することで、データベース内にあるすべてのユーザー定義テーブルと内部テーブルに対して効率よく UPDATE STATISTICS を実行し、その進行状況を示すメッセージを表示します。更新が完了すると、すべてのテーブルの統計が更新されたことをレポートします。無効化された非クラスタ化インデックスの統計も、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) の所有権が必要です。

戻り値

0 (成功) または 1 (失敗)

次の例では、AdventureWorks データベースのテーブルの統計を更新します。

USE AdventureWorks;
GO
EXEC sp_updatestats 

参照

関連項目

データベース エンジンのストアド プロシージャ (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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手