विस्तारित इवेंट सत्र से पैरामीटर मान एकत्रित करना


9

मैं अपने आवेदन द्वारा उपयोग किए गए कथनों का पता लगाने के लिए विस्तारित घटनाओं का उपयोग कर रहा हूं। मैंने एक सत्र बनाया है जो वह जानकारी एकत्र करेगा जो मैं चाहता हूं, सिवाय इसके कि मैं उन मापदंडों के वास्तविक मूल्यों को जानना चाहता हूं जो उपयोग किए गए थे

मैं एक गैर-उत्पादन वातावरण पर यह ट्रेस कर रहा हूं और ट्रेस द्वारा मारा गया कोई भी प्रदर्शन स्वीकार्य है।

सभी प्रश्न हाइबरनेट से उत्पन्न होते हैं और इन्हें निम्न रूप में परिमाणित किया गया है:

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 कमांड (सभी पैरामीटर मान सहित) मिलता है। अन्य मामलों के लिए यह जानना अच्छा होगा कि पैरामीटर मान कैसे कैप्चर किया जाए, यदि यह संभव है।


जाँच करें कि क्या sqlserver.rpc_completed पैरामीटर मान सहित पूर्ण T-SQL प्रदान करता है।
इवान स्टैंकोविक

@ इवानस्टैंकोविच, हाँ, जिस तरह से मुझे यह करना था। जैसा कि "संपादित करें" प्रश्न में उल्लेख किया गया है।
पीटर हेनल

जवाबों:


3

किसी ने उल्लेख किया "मुझे लगता है कि केवल sqlserver.rpc_completed घटना आपको पैरामीटर मान सहित पूरी SQL कमांड देगी।" कृपया नीचे दिए गए उत्तर की समीक्षा करें:

एसक्यूएल सर्वर विस्तारित सत्रों में पारित पैरामीटर मानों पर कब्जा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.