DBCC DROPCLEANBUFFERS (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

バッファー プールのクリーン バッファーと、列ストア オブジェクト プールの列ストア オブジェクトをすべて削除します。

Transact-SQL 構文表記規則

構文

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 ]

Note

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

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 固定サーバー ロールのメンバーシップが必要です

関連項目