Кафедра комп’ютерних технологій
Індивідуальне завдання
з дисципліни: " Структурована мова запитів SQL"
Тема: Відстежування змін за допомогою стовпців і таблиць аудиту
Коломия 2009
План
Аудит за допомогою стовпців
Налаштування стовпців аудиту
Аудит за допомогою таблиць
Використання тригера UPDATE для заповнення таблиці аудиту
Використання OUTPUT для заповнення таблиці аудиту
Відновлення даних за допомогою таблиць аудиту
Використання таблиць аудиту для відновлення змінених даних
Висновок
Аудит за допомогою стовпців Перевага аудиту за допомогою стовпців полягає в тому, що контрольна інформація розміщується в тій же таблиці, що і дані. У табл.1 перераховані деякі стовпці аудиту, які зазвичай додаються в таблиці.
Табл.1. Різні типи стовпців аудиту
Відстежування події Типи даних Коментарі
INSERT, UPDATE або DELETE
INSERT, UPDATE або DELETE
DELETE
DATETIME
VARCHAR
BІТ/ТІN YINT
Використовується для відстежування дати і часу виконання відстежуваної дії
Зазвичай використовується з функцією GETDATE () як значення за умовчанням, але значення може задаватися і зухвалим застосуванням
Використовується для відстежування імені користувача або додатку, що виконує відстежувану дію.
Використовується для того, щоб помітити дані як що видаляються. Це може з великою ефективністю застосовуватися в індексуванні і фільтрації
По цій таблиці можна зробити вивід, що зміни даних насправді не протоколюються. Найбільш ефективний спосіб використання стовпців аудиту - це відстежування факту внесення зміни, часу зміни і особи або додатку, що виконав цю зміну. Можна використовувати ці стовпці в будь-якій комбінації, щоб відстежувати зміни в записах в реальній таблиці.
Налаштування стовпців аудиту Спочатку потрібно визначити події, які потрібно відстежувати. В даному прикладі ви показано як додавати стовпці аудиту для відстежування ініціатора змін, дати і часу створення запису, дати і часу останнього оновлення запису і того, чи був видалений запис з таблиці Person. Address бази даних Adventure Works.
Вибравши таблицю (Person. Address) і визначивши події, які відстежуватимуться, потрібно вирішити, які стовпці додати в таблицю.
Стовпець ModifiedDate вже існує в таблиці. Він відстежуватиме дату, що показує, коли запис був востаннє змінений або видалений.
Стовпець CreatedDate відстежуватиме, коли був створений запис. Тип даних цього стовпця DATETIME, з використанням функції GETDATE () для надання поточної дати як значення за замовчуванням.
Стовпець ModifiedBy - це стовпець VARCHAR, який міститиме ім'я користувача або деякі інші засоби для ідентифікації користувача або додатки, які внесли зміни.
Стовпець IsDeleted - стовпець з типом даних BIT, який використовуватиметься для запису про видалення рядка. Дата і користувач відстежуватимуться через стовпці ModifiedDate і ModifiedBy. Якщо запис був видалений, цей стовпець буде помічений, а в зміненому стовпці будуть відомості про того, хто і коли видалив запис.
Тепер можна виконати представлений нижче сценарій, щоб змінити таблицю Person. Address.
USE Adventure Works
GO
ALTER TABLE Person. Address
ADD CreatedDate DATETIME NULL DEFAULT GETDATE ()
,ModifiedBy VARCHAR (50) NULL
, IsDeleted BIT DEFAULT (0)
Далі, якщо змінювати таблицю з вже наявними даними, слід задати в стовпці CreatedDate значення, що показує, що стовпець був створений до того, як був початий аудит. ............