जैसा कि मैंने आपका अन्य प्रश्न , मुझे लगता है कि यहां एक प्रक्रिया और सुरक्षा समीक्षा क्रम में है। यह एक लेखापरीक्षित डेटाबेस है, इसलिए कोई नहीं (विशेष रूप से तृतीय-पक्ष सेवा प्रदाता) को आपके डेटाबेस में आपकी जानकारी के बिना tables तालिकाएं बनानी चाहिए ।
आपके पास जो समस्या है वह है, साथ ही नई तालिका बनाई जा रही है, आपको ऑडिट/बदले गए रिकॉर्ड को स्टोर करने के लिए एक और टेबल भी बनाने की आवश्यकता होगी, जिसमें मूल तालिका के समान एक समान संरचना होगी, संभवतः एक समय/तारीख और उपयोगकर्ता कॉलम। यदि कोई तृतीय-पक्ष प्रदाता इस तालिका को बना रहा है, तो वे ऑडिटिंग तालिका बनाना नहीं जान पाएंगे, इसलिए यदि आप अपने ट्रिगर्स को गतिशील रूप से उत्पन्न कर सकते हैं, तो भी वे काम नहीं करेंगे।
एक एकल तालिका बनाना असंभव है जो आपके डेटाबेस में अन्य सभी तालिकाओं के लिए सभी परिवर्तन रिकॉर्ड रखेगी क्योंकि तालिकाओं के बीच की संरचना अनिवार्य रूप से भिन्न होती है।
इसलिए:सभी परिवर्तन अनुरोध करें (जैसे प्रदाता टेबलएक्स बनाना चाहते हैं, वे परिवर्तन का कारण बताते हुए एक परिवर्तन अनुरोध (एसक्यूएल स्क्रिप्ट सहित) सबमिट करते हैं) स्वयं और/या आपकी टीम को।
आप अपने डेटाबेस की एक परीक्षण प्रतिलिपि पर SQL निष्पादित करते हैं, और संशोधित रिकॉर्ड रखने के लिए एक और तालिका बनाने के लिए उसी संरचना का उपयोग करते हैं।
फिर आप आवश्यक ट्रिगर बनाते हैं और उनका परीक्षण करते हैं, दो टेबल और अपने ट्रिगर बनाने के लिए एक नई SQL स्क्रिप्ट उत्पन्न करते हैं और इसे अपने लाइव डेटाबेस पर निष्पादित करते हैं। आप अपने प्रदाता को नई तालिका का उपयोग करने की अनुमति देते हैं और वे चले जाते हैं।
सब खुश हैं। हां, इसमें थोड़ा अधिक समय लग सकता है, और हां आपके पास करने के लिए और अधिक काम होगा, लेकिन यह पहले से बदले जा चुके रिकॉर्ड को फिर से बनाने के लिए क्वेरी लॉग को पार्स करने और पार्स करने की आवश्यकता से बहुत कम काम का नरक है/ हटा दिया गया है, या बाइनरी लॉग को पार्स कर दिया गया है और हर बदलाव के साथ अप-टू-डेट रखा गया है, और जब लॉग फ़ाइल का प्रारूप आदि बदलता है तो अपना कोड संशोधित करें।