ऑडिट टेबल क्या है?


24

ऑडिट टेबल क्या हैं?

वे कैसे उपयोगी हैं?

मैं उनके इस लेख को पढ़कर आया ।


2
वे सिर्फ नियमित टेबल हैं। यह है कि आप उनका उपयोग कैसे करते हैं और आप उनमें क्या डालते हैं जो उन्हें "ऑडिट टेबल" बनाते हैं।
निक चम्मास

1
वे समान नहीं हैं। आपके पास एक ऑडिट टेबल है, जो आप ऑडिट कर रहे टेबल से अलग है। तो आपके पास दो टेबल होंगे, NormalTableऔर AuditNormalTable
थॉमस स्ट्रिंगर

1
मैट, शार्क को आपका जवाब मिल गया। @ शेखर, मैं इस बात पर जोर दे रहा था कि एक ऑडिट टेबल एक विशेष डेटाबेस निर्माण नहीं है (क्योंकि मुझे आभास हो गया कि ओपी ऐसा मान सकता है)। यह सिर्फ एक अन्य तालिका है जिसे डेवलपर बनाता है और कुछ जानकारी को ट्रैक करने के लिए उपयोग करता है।
निक चामास

@NickChammas ओह बिल्कुल, मैं पूरी तरह से समझ गया कि आपका क्या मतलब है। लेकिन ओपी की टिप्पणी से मुझे नहीं लगा कि उन्होंने ऐसा किया है।
थॉमस स्ट्रिंगर

यदि आप ऑडिट के शब्दकोश अर्थ पर विचार करते हैं, तो आप शायद इस निष्कर्ष पर पहुंचेंगे कि "ऑडिट टेबल" एक मिथ्या नाम है। एक ऑडिट डेटाबेस के लिए बाहरी होना चाहिए: यदि यह एप्लिकेशन व्यवसाय द्वारा स्वयं कोडित है, तो यह ऑडिट कैसे हो सकता है?
onedaywhen

जवाबों:


22

ऑडिट टेबल का उपयोग किसी विशेष तालिका या तालिकाओं के खिलाफ लेनदेन को ट्रैक करने के लिए किया जाता है। वे आपको एक चालू "लॉग" (बेहतर शब्द की कमी के लिए) देखने की अनुमति देते हैं। उदाहरण के लिए, मान लें कि आपके पास एक तालिका है:

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?
leeand00

24

लेखापरीक्षा तालिकाओं का एक अन्य महत्वपूर्ण पहलू जो इस प्रकार अब तक उजागर नहीं किया गया है, वह यह है कि किसने क्या रिकॉर्ड किया है (अक्सर स्नैपशॉट से पहले और बाद में) ऑडिट टेबल को लिखने के लिए ट्रैक रखने के अलावा ।

ऑडिट टेबल में रिकॉर्ड्स को केवल अपडेट नहीं किया जा सकता है और न ही हटाया जा सकता है (नोट देखें) । यह कभी-कभी ट्रिगर्स या शायद सिर्फ एप्लिकेशन लॉजिक का उपयोग करके लगाया जाता है, लेकिन यह व्यवहार में महत्वपूर्ण है क्योंकि यह आपको "सबूत" देता है कि कुछ भी इस तरह से छेड़छाड़ नहीं किया गया है जिसे पता लगाना मुश्किल है।

नोट: ऑडिट टेबल से पुराने रिकॉर्ड को साफ करने के लिए विशेष प्रक्रियाओं की आवश्यकता होती है जिन्हें अक्सर प्रबंधन या लेखा परीक्षकों द्वारा अनुमोदित किया जाना होता है।


4

ऑडिट टेबल का उपयोग आम तौर पर तब किया जाता है जब आप संवेदनशील / गोपनीय तालिकाओं में परिवर्तन ट्रैक करना चाहते हैं। यदि कोई तालिका है जो भुगतान दर और बोनस प्रतिशत के लिए उपयोग की जाती है, और एचआर अनुप्रयोग इस डेटा के आधार पर वेतन का भुगतान करता है, तो इस तालिका में लिखने की पहुंच वाला उपयोगकर्ता अनधिकृत भुगतान संशोधन कर सकता है।

इसी समय, कुछ उपयोगकर्ताओं को इन तालिकाओं पर काम करने की अनुमति दी जानी चाहिए। यह वह जगह है जहाँ ऑडिट टेबल आते हैं। ऑडिट टेबल का उपयोग बदले हुए डेटा के पहले और बाद में ट्रैक करने के लिए किया जा सकता है। आमतौर पर वे उस व्यक्ति की तरह अतिरिक्त जानकारी भी सहेजते हैं जिसने परिवर्तन किया था और जिस समय परिवर्तन किया गया था।

इसलिए ये ऑडिट टेबल अनधिकृत गतिविधियों को करने से उपयोगकर्ताओं को सशक्त बनाते हैं। वे सही मूल्यों पर वापस लौटने का एक साधन भी प्रदान करते हैं।

SQL 2008 और इसके बाद के संस्करण में अंतर्निहित डेटा कैप्चर नामक एक सुविधा है जिसका उपयोग इसके लिए किया जा सकता है।


2
अफसोस की बात है कि डेटा कैप्चर ऑडिटिंग के लिए भयानक है क्योंकि आप उस उपयोगकर्ता को कैप्चर नहीं कर सकते हैं जिसने बदलाव किया है (जब तक कि आप पहले से ही db में स्टोर नहीं कर रहे हैं)।
HLGEM

0

ऑडिट टेबल का उपयोग देशी या तीसरे पक्ष के ऑडिटिंग टूल द्वारा किया जाता है जो एक डेटाबेस पर होने वाले डेटा परिवर्तनों को कैप्चर करता है, जिसमें आमतौर पर यह जानकारी शामिल होती है कि परिवर्तन किसने किया, कौन सी वस्तुएं इससे प्रभावित हुईं, जब इसे बनाया गया था और साथ ही सूचना पर जानकारी SQL लॉगिन, एप्लिकेशन और होस्ट परिवर्तन करने के लिए उपयोग किया जाता है। सभी कैप्चर की गई जानकारी ऑडिटिंग टेबल में संग्रहीत है और एक्सपोर्ट या क्वेरी के माध्यम से उपयोगकर्ता के अनुकूल प्रारूपों में उपलब्ध होनी चाहिए।

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