sp_autostats (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
インデックス、統計オブジェクト、テーブル、またはインデックス付きビューの統計の自動更新オプション ( AUTO_UPDATE_STATISTICS
) を表示または変更します。
AUTO_UPDATE_STATISTICS
オプションの詳細については、「
構文
sp_autostats
[ @tblname = ] N'tblname'
[ , [ @flagc = ] 'flagc' ]
[ , [ @indname = ] N'indname' ]
[ ; ]
引数
[ @tblname = ] N'tblname'
AUTO_UPDATE_STATISTICS
オプションを表示するテーブルまたはインデックス付きビューの名前。 @tblname は nvarchar(776)で、既定値はありません。
[ @flagc = ] 'flagc'
AUTO_UPDATE_STATISTICS
オプションを更新または表示します。 @flagc は varchar(10)であり、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
ON |
有効 |
OFF |
Off |
指定なし | 現在の AUTO_UPDATE_STATISTICS 設定を表示します |
[ @indname = ] N'indname'
AUTO_UPDATE_STATISTICS
オプションを表示または更新する統計の名前。 @indname は sysname で、既定値は NULL
です。 インデックスの統計を表示する場合は、インデックスの名前を使用できます。インデックスの名前は、対応する統計オブジェクトの名前と同じです。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
@flagcが指定されている場合、sp_autostats
は実行されたアクションを報告しますが、結果セットは返されません。
@flagcが指定されていない場合、sp_autostats
は次の結果セットを返します。
列名 | データ型 | 説明 |
---|---|---|
Index Name |
sysname | インデックスまたは統計の名前。 |
AUTOSTATS |
varchar(3) | AUTO_UPDATE_STATISTICS オプションの現在の値。 |
Last Updated |
datetime | 最新の統計の更新日。 |
テーブルまたはインデックス付きビューの結果セットには、インデックス用に作成された統計、 AUTO_CREATE_STATISTICS
オプションで生成された単一列の統計、および CREATE STATISTICS ステートメントで作成された統計が含まれます。
解説
指定したインデックスが無効な場合、または指定したテーブルに無効なクラスター化インデックスがある場合は、エラー メッセージが表示されます。
AUTO_UPDATE_STATISTICS
は、メモリ最適化テーブルでは常に OFF です。
アクセス許可
AUTO_UPDATE_STATISTICS
オプションを変更するには、固定データベース ロールdb_ownerメンバーシップ、または@tblnameに対するALTER
権限が必要です。
AUTO_UPDATE_STATISTICS
オプションを表示するには、public ロールのメンバーシップが必要です。
例
A. テーブルのすべての統計の状態を表示する
次に、 Production.Product
テーブルのすべての統計の状態を表示します。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product';
GO
B. テーブルのすべての統計に対してAUTO_UPDATE_STATISTICSを有効にする
次の例では、Production.Product
テーブルのすべての統計に対してAUTO_UPDATE_STATISTICS
オプションを有効にします。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product', 'ON';
GO
C: 特定のインデックスの AUTO_UPDATE_STATISTICS を無効にする
次の例では、Production.Product
テーブルのAK_Product_Name
インデックスのAUTO_UPDATE_STATISTICS
オプションを無効にします。
USE AdventureWorks2022;
GO
EXEC sp_autostats 'Production.Product', 'OFF', AK_Product_Name;
GO