मैंने एक विशिष्ट डेटाबेस (डेटाबेस नाम द्वारा फ़िल्टर किए गए) के लिए हमारे उत्पादन सर्वर पर एक ट्रेस (टेम्पलेट: tsql_replay) पर कब्जा कर लिया है। मैं इसे अपने परीक्षण सर्वर पर फिर से खेलना चाहता हूं, लेकिन निश्चित रूप से डेटाबेस आईडी परीक्षण सर्वर पर अलग है।विभिन्न डेटाबेस पर एक एसक्यूएल प्रोफाइलर ट्रेस कैसे दोबारा चलाने के लिए?
अभी तक, मैंने ट्रेस फ़ाइल को एक तालिका में लोड करने और अद्यतन क्वेरी के साथ डेटाबेस आईडी को संशोधित करने का प्रयास किया है (नीचे देखें), लेकिन प्रोफाइलर मुझे इसे फिर से चलाने की कोशिश करते समय त्रुटि देता है (अनुपस्थित घटनाएं, आदि)। अगर मैं सीधे ट्रेस फ़ाइल खोलता हूं, तो यह मुझे इसे फिर से चलाने की अनुमति देता है। तो किसी भी तरह, या तो एक टेबल में लोड हो रहा है या डेटाबेस आईडी बदल रहा है कुछ गड़बड़ है।
रीप्ले के लिए ट्रेस कैप्चर करने के लिए सही प्रक्रिया क्या है, और डेटाबेस को बदलने पर इसे फिर से चलाया जाना चाहिए?
select * into trace_table
from fn_trace_gettable('f:\trace\trace100222.trc', default)
go
update trace_table
set databaseid = 47
where databaseid = 16
क्या आपकी समस्या का समाधान हुआ? यदि ऐसा है तो कृपया उत्तर के रूप में चिह्नित करें। –