SQLクエリステートメントに文字列が含まれていると、SQL Server拡張イベントで確認できますか?SQL Server拡張イベント - 構文内の特定の文字列を見つける
たとえば、文字列ord_id=4
を含むすべてのクエリを毎日12:00〜15:00に検索したいとします。
拡張イベントでこれをどのようにトレースできますか?
おかげで、 オハッド
セッションウィザードでSQLクエリステートメントに文字列が含まれていると、SQL Server拡張イベントで確認できますか?SQL Server拡張イベント - 構文内の特定の文字列を見つける
たとえば、文字列ord_id=4
を含むすべてのクエリを毎日12:00〜15:00に検索したいとします。
拡張イベントでこれをどのようにトレースできますか?
おかげで、 オハッド
セッションウィザードでますあなたは*書いた場合、これはすべてのファイルを読んであなたはどこを見れする知っていれば、あなたはそれが簡単にするために、この後、ファイル名の代わりに、*
を書くことができることを意味拡張イベント
にSELECT CONVERT(XML, event_data) XMLEventData FROM sys.fn_xe_file_target_read_file(N'PathForTheFile\*.xel', NULL, NULL, NULL)
を読み取るために、このクエリを使用することができますあなたのニーズに合わせてクエリを変更する必要があります。
SELECT
xexml.value('(./action[@name="username"]/value)[1]', 'varchar(400)') as UserName
,xexml.value('(./action[@name="client_hostname"]/value)[1]', 'varchar(400)') as Client_Hostname
,xexml.value('(./action[@name="collect_system_time"]/value)[1]', 'datetime') as ProcessTime
,xexml.value('(./data[@name="statement"]/value)[1]', 'nvarchar(4000)') as SQLStatement
FROM
(
SELECT CONVERT(XML, event_data) XMLEventData FROM sys.fn_xe_file_target_read_file(N'PathOfYourFiles\*.xel', NULL, NULL, NULL) f
) AS EventTable
CROSS APPLY XMLEventData.nodes('/event') n (xexml)
WHERE cast(xexml.value('(./action[@name="collect_system_time"]/value)[1]', 'datetime')as time) between '12:00:00' and '15:00:00'
AND xexml.value('(./data[@name="statement"]/value)[1]', 'nvarchar(4000)') like '%ord_id=4%'
%ord_id = 4%を使用する必要がありますか? –
あなたはそれが%%で動作すると言っていますか、わかりません、私はそれを長い間テストしました – TheGameiswar
ord_id = 4の構文でも失敗したクエリもどうやって見つけることができますか?今、私は失敗しなかったすべてのクエリを取得します... –