Jedną z prostych metod, z których korzystałem w przeszłości, jest po prostu tworzenie drugiej tabeli, której struktura jest podobna do tej, którą chcę kontrolować, a następnie utworzenie wyzwalacza aktualizacji/usuwania na głównej tablicy. Zanim rekord zostanie zaktualizowany/usunięty, bieżący stan zostanie zapisany w tabeli kontroli za pomocą wyzwalacza.Sugestie dotyczące wdrażania tabel kontroli w SQL Server?
Dane skuteczne w tabeli kontroli nie są najbardziej użyteczne i łatwe do raportowania. Zastanawiam się, czy ktoś ma lepszą metodę kontroli zmian danych?
Nie powinno być zbyt wielu aktualizacji tych rekordów, ale są to informacje bardzo poufne, dlatego ważne jest dla klienta, aby wszystkie zmiany były kontrolowane i łatwe do raportowania.
SQL Server 2008 ma wbudowaną obsługę z nową funkcją zmiany przechwytywania danych –
andyp
Należy zwrócić uwagę, że ta funkcja jest tylko dostępne w edycji Enterprise. – user17060
Funkcja zmiany przechwytywania danych wydaje się być bardziej przydatna do zapewnienia, że obiekty aplikacji są utrzymywane w zgodności z bazą danych, a nie rozwiązaniem audytującym. (Przechowuje na przykład tylko 2 dni zmian.) Nadal będziesz musiał sondować zmiany i zapisywać je w tabeli, więc równie dobrze możesz po prostu tworzyć i używać wyzwalaczy, by pisać do centralnej tabeli kontroli, jak poniżej. Och, a powyższy URL jest uszkodzony, użyj tego [link] (http://msdn.microsoft.com/en-us/library/bb933874.aspx). – BJury