sp_updatestats (Transact-SQL)
適用対象:SQL ServerAzure SQL Database
現在のデータベース内のすべてのユーザー定義テーブルと内部テーブルに対して実行 UPDATE STATISTICS
されます。
詳細についてはUPDATE STATISTICS
、「UPDATE STATISTICS (Transact-SQL)」を参照してください。 統計の詳細については、「統計」を参照してください。
構文
sp_updatestats [ [ @resample = ] 'resample' ]
リターン コードの値
0
(成功) または 1
(失敗)。
引数
[ @resample = ] 'resample'
UPDATE STATISTICS ステートメントのオプションをRESAMPLE
使用することをsp_updatestats
指定します。 指定されていない場合 resample
は、 sp_updatestats
既定のサンプリングを使用して統計を更新します。 引数は resample
varchar(8) で、既定値は NO
.
解説
sp_updatestats
は、キーワード (keyword)をALL
指定して、データベース内のすべてのユーザー定義テーブルと内部テーブルで実行UPDATE STATISTICS
されます。 sp_updatestats
は、進行状況を示すメッセージを表示します。 更新が完了すると、すべてのテーブルの統計が更新されたことを報告します。
sp_updatestats
は、無効な非クラスター化インデックスの統計を更新し、無効なクラスター化インデックスの統計を更新しません。
ディスク ベース テーブルの場合、 sp_updatestats
sys.dm_db_stats_properties カタログ ビューの情報にmodification_counter
基づいて統計を更新し、少なくとも 1 つの行が変更された統計を更新します。 メモリ最適化テーブルの統計は、実行時 sp_updatestats
に常に更新されます。 そのため、必要以上に実行 sp_updatestats
しないでください。
sp_updatestats
では、ストアド プロシージャまたはその他のコンパイル済みコードの再コンパイルをトリガーできます。 ただし、 sp_updatestats
参照されているテーブルとそのインデックスに対して 1 つのクエリ プランしか使用できない場合は、再コンパイルが発生しない可能性があります。 このような場合は、統計が更新されても再コンパイルの必要はありません。
sp_updatestats
は、特定の統計の最新 NORECOMPUTE
のオプションを保持します。 統計の更新の無効化および再有効化について詳しくは、「統計」をご覧ください。
以前のバージョンから SQL Server 2022 (16.x) にデータベースを復元する場合は、データベースで実行 sp_updatestats
する必要があります。 これは、SQL Server 2022 (16.x) で導入された統計自動ドロップ機能の適切なメタデータの設定に関連しています。 自動ドロップ機能は、Azure SQL Database、Azure SQL Managed Instance、および SQL Server 2022 (16.x) 以降で使用できます。
アクセス許可
SQL Server の場合は、データベース (dbo) の所有者であるか、sysadmin 固定サーバー ロールのメンバーである必要があります。
Azure SQL Database の場合は、db_owner固定データベース ロールのメンバーである必要があります。
例
次の例では、データベースのすべてのテーブルの統計を更新します。
USE AdventureWorks2022;
GO
EXEC sp_updatestats;
インデックスと統計の自動管理
Adaptive Index Defrag のようなソリューションを活用し、1 個以上のデータベースに対するインデックスの最適化と統計更新を自動管理します。 このプロシージャでは、断片化レベルやその他のパラメーターに基づいてインデックスを再構築または再構成するか、線形しきい値で統計を更新するかが自動的に選択されます。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示