sql >> データベース >  >> RDS >> Sqlserver

SQL ServerManagementStudioでクエリ履歴を表示する方法

    [この質問は重複してクローズされる可能性が高いため。]

    SQL Serverが再起動されていない場合(およびプランが削除されていない場合など)、プランキャッシュでクエリを見つけることができる場合があります。

    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'%something unique about your query%';
    

    Management Studioがクラッシュしたためにファイルを紛失した場合は、ここでリカバリファイルを見つけることができる場合があります:

    C:\Users\<you>\Documents\SQL Server Management Studio\Backup Files\
    

    それ以外の場合は、クエリ履歴を保存するために、EdHarperの回答で述べたSSMSTools Packなど、他の何かを使用する必要があります。ただし、SQLServer2012以降では無料ではありません。または、ログイン名またはホスト名でフィルタリングされた軽量トレースを設定できます(ただし、これにはプロファイラーではなくサーバー側トレースを使用してください)。

    @ Nenad-Zivkovicがコメントしたように、sys.dm_exec_query_statsに参加すると役立つ場合があります last_execution_timeで並べ替えます :

    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'%something unique about your query%'
    ORDER BY s.last_execution_time DESC;
    


    1. プログラムでPostgresJDBCの`DataSource`オブジェクトを生成します

    2. R12.2でのサービスグル​​ープの変更

    3. アプリケーション、接続プール、PostgreSQL用の1つのセキュリティシステム-LDAPの場合

    4. Oracleのvarcharとvarchar2の違いは何ですか?