मैं अपने आवेदन द्वारा उपयोग किए गए कथनों का पता लगाने के लिए विस्तारित घटनाओं का उपयोग कर रहा हूं। मैंने एक सत्र बनाया है जो वह जानकारी एकत्र करेगा जो मैं चाहता हूं, सिवाय इसके कि मैं उन मापदंडों के वास्तविक मूल्यों को जानना चाहता हूं जो उपयोग किए गए थे ।
मैं एक गैर-उत्पादन वातावरण पर यह ट्रेस कर रहा हूं और ट्रेस द्वारा मारा गया कोई भी प्रदर्शन स्वीकार्य है।
सभी प्रश्न हाइबरनेट से उत्पन्न होते हैं और इन्हें निम्न रूप में परिमाणित किया गया है:
SELECT a, b, c From Customer where CustomerId = @P0
यह मेरा सत्र सेटअप है।
CREATE EVENT SESSION [TracingForStatements] ON SERVER
ADD EVENT sqlserver.sp_statement_completed (
ACTION (
sqlserver.session_id,
package0.collect_system_time,
sqlserver.transaction_id,
package0.event_sequence
)
WHERE (
sqlserver.database_id=555
)
)
ADD TARGET package0.ring_buffer(SET max_memory= 128000)
WITH (EVENT_RETENTION_MODE = NO_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 1 SECONDS)
मैं कैप्चर किए गए कथनों में उपयोग किए जाने वाले मापदंडों के वास्तविक मूल्यों को कैसे पकड़ सकता हूं? क्या यह संभव है?
- संपादित करें (वर्कअराउंड): ईवेंट को rpc_completed में बदलने से मुझे हाइबरनेट से पूर्ण SQL कमांड (सभी पैरामीटर मान सहित) मिलता है। अन्य मामलों के लिए यह जानना अच्छा होगा कि पैरामीटर मान कैसे कैप्चर किया जाए, यदि यह संभव है।