NormalTable
और AuditNormalTable
।
NormalTable
और AuditNormalTable
।
जवाबों:
ऑडिट टेबल का उपयोग किसी विशेष तालिका या तालिकाओं के खिलाफ लेनदेन को ट्रैक करने के लिए किया जाता है। वे आपको एक चालू "लॉग" (बेहतर शब्द की कमी के लिए) देखने की अनुमति देते हैं। उदाहरण के लिए, मान लें कि आपके पास एक तालिका है:
create table SensitiveInformation
(
SensitiveNumber int not null,
SensitiveData varchar(100) not null
)
go
ऐसे उपयोगकर्ता और / या अनुप्रयोग हो सकते हैं जिनके पास उस तालिका से सम्मिलित करने, अद्यतन करने और हटाने के लिए पहुँच हो। लेकिन उस डेटा की संवेदनशील प्रकृति के कारण, आप ट्रैक करने के लिए एक त्वरित और आसान तरीका चाहते हैं जो उस तालिका पर क्या कर रहा है।
तो आपके पास उस टेबल पर क्या किया जा रहा है, इस पर नज़र रखने के लिए एक ऑडिट टेबल है। आमतौर पर इसमें मूल कौन , क्या , कब शामिल होगा ।
एक ऑडिट तालिका इस तरह दिख सकती है:
create table SensitiveInformationAudit
(
SensitiveNumberNew int null,
SensitiveNumberOld int null,
SensitiveDataNew varchar(100) null,
SensitiveDataOld varchar(100) null,
Action varchar(50) not null,
AuditDate datetime not null,
LastUpdatedUser varchar(100) not null
)
go
ऑडिट टेबल आमतौर पर डेटाबेस ट्रिगर के उपयोग से भरे जाते हैं। दूसरे शब्दों में, जब X
कार्रवाई होती है SensitiveInformation
, तो उसमें विवरण सम्मिलित करें SensitiveInformationAudit
।
Action
क्षेत्र UPDATE
या INSERT
या DELETE
?
लेखापरीक्षा तालिकाओं का एक अन्य महत्वपूर्ण पहलू जो इस प्रकार अब तक उजागर नहीं किया गया है, वह यह है कि किसने क्या रिकॉर्ड किया है (अक्सर स्नैपशॉट से पहले और बाद में) ऑडिट टेबल को लिखने के लिए ट्रैक रखने के अलावा ।
ऑडिट टेबल में रिकॉर्ड्स को केवल अपडेट नहीं किया जा सकता है और न ही हटाया जा सकता है (नोट देखें) । यह कभी-कभी ट्रिगर्स या शायद सिर्फ एप्लिकेशन लॉजिक का उपयोग करके लगाया जाता है, लेकिन यह व्यवहार में महत्वपूर्ण है क्योंकि यह आपको "सबूत" देता है कि कुछ भी इस तरह से छेड़छाड़ नहीं किया गया है जिसे पता लगाना मुश्किल है।
नोट: ऑडिट टेबल से पुराने रिकॉर्ड को साफ करने के लिए विशेष प्रक्रियाओं की आवश्यकता होती है जिन्हें अक्सर प्रबंधन या लेखा परीक्षकों द्वारा अनुमोदित किया जाना होता है।
ऑडिट टेबल का उपयोग आम तौर पर तब किया जाता है जब आप संवेदनशील / गोपनीय तालिकाओं में परिवर्तन ट्रैक करना चाहते हैं। यदि कोई तालिका है जो भुगतान दर और बोनस प्रतिशत के लिए उपयोग की जाती है, और एचआर अनुप्रयोग इस डेटा के आधार पर वेतन का भुगतान करता है, तो इस तालिका में लिखने की पहुंच वाला उपयोगकर्ता अनधिकृत भुगतान संशोधन कर सकता है।
इसी समय, कुछ उपयोगकर्ताओं को इन तालिकाओं पर काम करने की अनुमति दी जानी चाहिए। यह वह जगह है जहाँ ऑडिट टेबल आते हैं। ऑडिट टेबल का उपयोग बदले हुए डेटा के पहले और बाद में ट्रैक करने के लिए किया जा सकता है। आमतौर पर वे उस व्यक्ति की तरह अतिरिक्त जानकारी भी सहेजते हैं जिसने परिवर्तन किया था और जिस समय परिवर्तन किया गया था।
इसलिए ये ऑडिट टेबल अनधिकृत गतिविधियों को करने से उपयोगकर्ताओं को सशक्त बनाते हैं। वे सही मूल्यों पर वापस लौटने का एक साधन भी प्रदान करते हैं।
SQL 2008 और इसके बाद के संस्करण में अंतर्निहित डेटा कैप्चर नामक एक सुविधा है जिसका उपयोग इसके लिए किया जा सकता है।
ऑडिट टेबल का उपयोग देशी या तीसरे पक्ष के ऑडिटिंग टूल द्वारा किया जाता है जो एक डेटाबेस पर होने वाले डेटा परिवर्तनों को कैप्चर करता है, जिसमें आमतौर पर यह जानकारी शामिल होती है कि परिवर्तन किसने किया, कौन सी वस्तुएं इससे प्रभावित हुईं, जब इसे बनाया गया था और साथ ही सूचना पर जानकारी SQL लॉगिन, एप्लिकेशन और होस्ट परिवर्तन करने के लिए उपयोग किया जाता है। सभी कैप्चर की गई जानकारी ऑडिटिंग टेबल में संग्रहीत है और एक्सपोर्ट या क्वेरी के माध्यम से उपयोगकर्ता के अनुकूल प्रारूपों में उपलब्ध होनी चाहिए।