SQL Server Management Studio (SSMS) での過去のクエリの追跡
場合によっては、SSMS で以前に実行したクエリを確認する必要があります。 SSMS には組み込みのクエリ履歴トラッカーがありませんが、回避策はあります。
クエリ履歴データの検索
クエリの実行後に SQL Server インスタンスが再起動されていない場合、クエリ プランがプラン キャッシュに残っている可能性があります。 このクエリを試してください:
<code class="language-sql">SELECT t.[text] FROM sys.dm_exec_cached_plans AS p CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t WHERE t.[text] LIKE N'%<unique_query_identifier>%';</code>
<unique_query_identifier>
を覚えているクエリの一部に置き換えます。
SSMS がクラッシュしてクエリ履歴が失われた場合は、次の回復ファイルを確認してください:
<code>C:\Users\<username>\Documents\SQL Server Management Studio\Backup Files\</code>
サードパーティのツールとトレースの使用
クエリ履歴を継続的に監視するには、SSMS Tools Pack などのツールを調べてください。 あるいは、ログイン名またはホスト名でフィルターされた軽量の SQL Server トレースを設定することもできます。
sys.dm_exec_query_stats による詳細なクエリ履歴
Nenad-Zivkovic が指摘したように、sys.dm_exec_query_stats
を使用すると、より包括的なクエリ履歴の詳細が提供されます。このクエリは他のシステム ビューと結合して、結果を最終実行時間順に並べます:
<code class="language-sql">SELECT t.[text], s.last_execution_time FROM sys.dm_exec_cached_plans AS p INNER JOIN sys.dm_exec_query_stats AS s ON p.plan_handle = s.plan_handle CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t WHERE t.[text] LIKE N'%<unique_query_identifier>%' ORDER BY s.last_execution_time DESC;</code>
<unique_query_identifier>
をクエリの一意の部分に置き換えることを忘れないでください。
以上がSQL Server Management Studio でクエリ履歴を取得および追跡するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。