0

最後の再起動以降、特定のデータベースでユーザーが実行したステートメントを取得するクエリを作成する必要があります。

まず、トランザクション ログを返す ::fn_dblog(NULL,NULL) からすべてのトランザクションを抽出します。この後、次の 2 つのクエリを使用して、キャッシュされたクエリを取得しようとしました。

SELECT *
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC;

-- OR

select * from master.dbo.syscacheobjects where dbid = db_id() and objtype = 'Adhoc';

私の考えは、トランザクションを生成できるステートメントをそのトランザクションと結合し、他のステートメントも表示することです。問題は、クエリの情報を取得しようとする最初のクエリがデータベースを識別する情報を提供せず、他のクエリがそれをトランザクション ログに結合するために使用できる情報を提供しないことです。

この特定の DBMS についての事前の知識がなくても、このクエリを作成しようとしているので、概念上の誤りをお許しください。前もって感謝します。

4

0 に答える 0