DBCC DROPCLEANBUFFERS (Transact-SQL)
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
バッファー プールのクリーン バッファーと、列ストア オブジェクト プールの列ストア オブジェクトをすべて削除します。
構文
SQL Server、Azure SQL Database、Azure Synapse Analytics のサーバーレス SQL プール の構文:
DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]
Azure Synapse Analytics および Analytics Platform System (PDW) の構文:
DBCC DROPCLEANBUFFERS ( COMPUTE | ALL ) [ WITH NO_INFOMSGS ]
引数
WITH NO_INFOMSGS
すべての情報メッセージを表示しないようにします。 情報メッセージは通常、Azure Synapse Analytics と Analytics Platform System (PDW) では表示されません。
COMPUTE
各計算ノードからメモリ内のデータ キャッシュを消去します。
ALL
制御ノードから、および各計算ノードからメモリ内のデータ キャッシュを消去します。 値を指定しない場合、この設定が既定値になります。
解説
サーバーのシャットダウンと再起動を行わずに、コールド バッファー キャッシュを使ってクエリをテストするには、DBCC DROPCLEANBUFFERS
を使用します。
バッファー プールのクリーン バッファーと列ストア オブジェクト プールの列ストア オブジェクトを削除するには、まず CHECKPOINT を使用してコールド バッファー キャッシュを作成します。 CHECKPOINT により、現在のデータベースのすべてのダーティ ページがディスクに書き込まれ、バッファーが削除されます。 データベースのチェックポイントを実行した後、DBCC DROPCLEANBUFFERS
コマンドを発行して、バッファー プールからすべてのバッファーを削除できます。
Azure SQL Database では、現在のデータベースまたはエラスティック プールをホストしているデータベース エンジン インスタンスに対して DBCC DROPCLEANBUFFERS
が動作します。 ユーザー データベースで DBCC DROPCLEANBUFFERS
を実行すると、そのデータベースのクリーン バッファーが削除されます。 データベースがエラスティック プール内にある場合は、そのエラスティック プール内の他のすべてのデータベースのクリーン バッファーも削除されます。 master
データベースでコマンドを実行しても、同じ論理サーバー上の他のデータベースには影響しません。 Basic、S0、または S1 サービス目標を使用してデータベースでこのコマンドを実行すると、同じ論理サーバー上でこれらのサービス目標を使用する他のデータベースでクリーン バッファーが削除される場合があります。
結果セット
SQL Server では DBCC DROPCLEANBUFFERS
は次の値を返します。
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
アクセス許可
適用対象: SQL Server、Analytics Platform System (PDW)
- サーバーに対する sysadmin アクセス許可が必要です
適用対象: SQL Server 2022 以降
- サーバーに対する ALTER SERVER STATE アクセス許可が必要です。
適用対象: Azure SQL データベース
- サーバー ロール ##MS_ServerStateManager## のメンバーシップが必要です
適用対象: Azure Synapse Analytics
- db_owner 固定サーバー ロールのメンバーシップが必要です