sp_autostats (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

インデックス、統計オブジェクト、テーブル、またはインデックス付きビューの自動統計更新オプション (AUTO_UPDATE_STATISTICS) を表示または変更します。

AUTO_UPDATE_STATISTICS オプションの詳細については、「 ALTER DATABASE SET Options (Transact-SQL)」 および 「Statistics」を参照してください。

Transact-SQL 構文表記規則

構文

  
sp_autostats [ @tblname = ] 'table_or_indexed_view_name'   
    [ , [ @flagc = ] 'stats_flag' ]   
    [ , [ @indname = ] 'statistics_name' ]  

引数

[ @tblname = ] 'table_or_indexed_view_name' AUTO_UPDATE_STATISTICS オプションを表示するテーブルまたはインデックス付きビューの名前です。 table_or_indexed_view_namenvarchar(776)で、既定値はありません。

[ @flagc = ] 'stats_flag'AUTO_UPDATE_STATISTICS オプションを次のいずれかの値に更新します。

ON = ON

OFF = OFF

stats_flagが指定されていない場合は、現在のAUTO_UPDATE_STATISTICS設定を表示します。 stats_flagvarchar(10)で、既定値は NULL です。

[ @indname = ] 'statistics_name' AUTO_UPDATE_STATISTICS オプションを表示または更新する統計の名前です。 インデックスの統計を表示する場合は、インデックスの名前を使用できます。インデックスの名前は、対応する統計オブジェクトの名前と同じです。

statistics_namesysname で、既定値は NULL です。

リターン コードの値

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

結果セット

stats_flagが指定されている場合、sp_autostatsは実行されたアクションを報告しますが、結果セットは返しません。

stats_flagが指定されていない場合、sp_autostatsは次の結果セットを返します。

列名 データ型 説明
Index Name sysname インデックスまたは統計の名前。
AUTOSTATS varchar(3) AUTO_UPDATE_STATISTICS オプションの現在の値。
最終更新日 datetime 最新の統計更新日。

テーブルまたはインデックス付きビューの結果セットには、インデックスに対して作成された統計、AUTO_CREATE_STATISTICS オプションで生成された単一列の統計、 CREATE STATISTICS ステートメントで作成された統計が含まれます。

解説

指定したインデックスが無効な場合、または指定したテーブルに無効なクラスター化インデックスがある場合は、エラー メッセージが表示されます。

AUTO_UPDATE_STATISTICS はメモリ最適化テーブルでは常に OFF です。

アクセス許可

AUTO_UPDATE_STATISTICS オプションを変更するには、固定データベース ロールdb_ownerメンバーシップ n、または table_name に対する ALTER 権限 必要です。AUTO_UPDATE_STATISTICS オプションを表示するには、 パブリック ロールのメンバーシップが必要です。

A. テーブルのすべての統計の状態を表示する

テーブルのすべての統計の状態を次に Product 示します。

USE AdventureWorks2022;  
GO  
EXEC sp_autostats 'Production.Product';  
GO  

B. テーブルのすべての統計のAUTO_UPDATE_STATISTICSを有効にする

次の例では、Product テーブルのすべての統計の AUTO_UPDATE_STATISTICS オプションを有効にします。

USE AdventureWorks2022;  
GO  
EXEC sp_autostats 'Production.Product', 'ON';  
GO  

C. 特定のインデックスの AUTO_UPDATE_STATISTICS を無効にする

次の例では、テーブルのインデックスの AUTO_UPDATE_STATISTICS オプション AK_Product_NameProduct 無効にします。

USE AdventureWorks2022;  
GO  
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;  
GO  

参照

統計
ALTER DATABASE SET のオプション (Transact-SQL)
データベース エンジン ストアド プロシージャ (Transact-SQL)
CREATE STATISTICS (Transact-SQL)
DBCC SHOW_STATISTICS (Transact-SQL)
DROP STATISTICS (Transact-SQL)
sp_createstats (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)