शुरू करेंमुफ़्त में शुरू करें

ट्रिगर के executions का ट्रैक रखना

ट्रिगर्स की मॉनिटरिंग करते समय एक अहम पहलू उनके execution का इतिहास रखना है. इससे आप ट्रिगर रन के समय और डेटाबेस में होने वाली किसी भी समस्या के बीच संबंध जोड़ सकते हैं.

अगर समय मेल खाते हैं, तो संभव है कि समस्याएँ ट्रिगर के कारण हुई हों.

SQL Server sys.dm_exec_trigger_stats view में उन सभी ट्रिगर्स के execution की जानकारी देता है जो फिलहाल मेमोरी में स्टोर हैं. लेकिन जैसे ही कोई ट्रिगर मेमोरी से हटता है, उससे जुड़ी जानकारी भी इस view से हट जाती है, इसलिए आपका ट्रिगर execution इतिहास खो जाता है.

इस सीमा से निपटने के लिए, आप TriggerAudit टेबल का उपयोग करने का निर्णय लेते हैं ताकि Orders टेबल में पंक्तियों को संशोधित करने के किसी भी प्रयास की जानकारी स्टोर की जा सके, क्योंकि लोगों ने रिपोर्ट किया है कि यह टेबल अक्सर अनरेस्पॉन्सिव रहती है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

SQL Server में Triggers बनाना और उनका अनुकूलन

पाठ्यक्रम देखें

अभ्यास निर्देश

  • PreventOrdersUpdate ट्रिगर में संशोधन करें.
  • ट्रिगर को सेट करें ताकि Orders टेबल में rows अपडेट होने पर यह फायर हो.
  • ट्रिगर execution के अतिरिक्त विवरण TriggerAudit टेबल में जोड़ें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

-- Modify the trigger to add new functionality
___ TRIGGER PreventOrdersUpdate
ON ___
-- Prevent any row changes
INSTEAD OF ___
AS
	-- Keep history of trigger executions
	INSERT INTO ___ (TriggerName, ExecutionDate)
	SELECT 'PreventOrdersUpdate', 
           GETDATE();

	RAISERROR ('Updates on "Orders" table are not permitted.
                Place a new order to add new products.', 16, 1);
कोड संपादित करें और चलाएँ