NormalTable
ve AuditNormalTable
.
NormalTable
ve AuditNormalTable
.
Yanıtlar:
Denetim Tabloları, belirli bir tablo veya tablolara karşı işlemleri izlemek için kullanılır. Devam eden bir "kütük" görmenizi sağlar (daha iyi bir kelime bulunmadığı için). Örneğin, şöyle bir tablonuz olduğunu söyleyin:
create table SensitiveInformation
(
SensitiveNumber int not null,
SensitiveData varchar(100) not null
)
go
Bu tablodan ekleme, güncelleme ve silme erişimi olan kullanıcılar ve / veya uygulamalar olabilir. Ancak, bu verilerin hassas doğası nedeniyle, bu masada kimin ne yaptığını izlemek için hızlı ve kolay bir yol bulmak isteyebilirsiniz.
Yani o masada ne yapıldığını izlemek için bir Denetim Masası var. Genellikle bu, temel Kim , Ne , Ne Zaman'ı içerecektir .
Bir denetim tablosu şöyle görünebilir:
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
Denetim Tabloları genellikle Veritabanı Tetikleyicileri kullanılarak doldurulur. Başka bir deyişle, X
eylem gerçekleştiğinde SensitiveInformation
, ayrıntılarını içeri girin SensitiveInformationAudit
.
Action
tarla UPDATE
veya INSERT
yoksa DELETE
?
Denetim tablolarının şimdiye dek vurgulanmamış bir diğer önemli yönü, kimin hangi kaydı yaptığını (genellikle anlık görüntülerden önce ve sonra da dahil olmak üzere) denetim tablolarının bir kez yazıldığını izlemenin yanı sıra olmasıdır .
Bir denetim tablosundaki kayıtlar güncellenmemiş veya silinmemiş olabilir (nota bakınız), sadece eklenmelidir . Bu bazen tetikleyiciler veya belki de sadece uygulama mantığı kullanılarak uygulanır, ancak pratikte önemlidir, çünkü size hiçbir şeyin tahrif edilmediğini "kanıtladığını" sağlar.
Not: Eski kayıtları bir denetim masasından temizlemek, genellikle yönetim veya denetçiler tarafından onaylanması gereken özel işlemler gerektirir.
Denetim tabloları genellikle hassas / gizli tablolardaki değişiklikleri izlemek istediğinizde kullanılır. Ücret oranı ve bonus yüzdesi için kullanılan bir tablo varsa ve İK uygulaması bu verilere dayanarak maaşları ödüyorsa, bu tabloya yazma erişimi olan bir kullanıcı yetkisiz ödeme değişiklikleri yapabilir.
Aynı zamanda, bazı kullanıcıların bu tablolarda çalışmasına izin verilmelidir. Bu, denetim tablolarının girdiği yerdir. Denetim tabloları, değiştirilen verilerin önceki ve sonraki değerlerini izlemek için kullanılabilir. Genellikle, değişikliği yapan kişi ve değişikliğin yapıldığı saat gibi ek bilgileri de kaydederler.
Bu nedenle, bu denetim tabloları yetkilendirilmiş kullanıcıları yetkisiz faaliyetler gerçekleştirmekten alıkoymaktadır. Ayrıca doğru değerlere geri dönmek için bir araç sağlarlar.
SQL 2008 ve üzeri, bunun için kullanılabilecek Change Data Capture adlı bir yerleşik özelliğe sahiptir .
Denetim tabloları, bir veritabanında meydana gelen veri değişikliklerini yakalayan yerel veya 3. taraf denetim araçları tarafından kullanılır; bu, genellikle değişikliği yapan kişi, hangi nesnelerden etkilendiği, ne zaman yapıldığı hakkındaki bilgiler de dahil olmak üzere SQL oturum açma, uygulama ve ev sahibi değişikliği yapmak için kullanılır. Elde edilen tüm bilgiler denetim tablolarında saklanır ve ihracat veya sorgulama yoluyla kullanıcı dostu formatlarda mevcut olmalıdır.