ce s-ar întâmpla dacă o cheie primară a fost modificat sau permisiuni pentru o procedură stocate au fost actualizate fără a fi conștienți de ea? Urmărirea SQL Server numai cu change data capture (CDC) nu este suficientă pentru a rămâne la curent cu modificările aduse bazelor de date critice. Într-adevăr, fără o urmărire fiabilă și eficientă a modificărilor SQL Server, pur și simplu nu puteți controla ce se întâmplă pe serverele SQL.
urmărirea modificărilor Native în SQL Server
SQL Server utilizează un mecanism de urmărire sincron, ceea ce înseamnă că modificările sunt înregistrate odată ce modificările limbajului de manipulare a datelor (DML) au fost comise. Capabilitățile de urmărire a modificărilor SQL Server oferite de instrumentele native oferă unele funcții de urmărire a modificărilor; de exemplu, puteți utiliza urmărirea modificărilor pentru a vedea cine a șters ce tabele sau ce rânduri au fost modificate. Dar va trebui să scrieți un set de interogări în Transact-SQL pentru a obține informații mai detaliate de urmărire a modificărilor, cum ar fi detalii despre datele modificate, coloanele modificate sau tabelele create de utilizator-iar această sarcină vă poate devora cu ușurință timpul prețios. În plus, activarea urmăririi modificărilor vă poate umple rapid serverul, deci trebuie să rulați în mod constant curățarea pentru a evita epuizarea spațiului pe disc, ceea ce ar determina performanța și disponibilitatea să sufere.
pentru a utiliza urmărirea modificărilor SQL Server, trebuie să activați urmărirea modificărilor pe două niveluri imbricate: urmărirea modificărilor bazei de date și urmărirea modificărilor tabelului.
activarea urmăririi modificărilor pentru o bază de date
pentru ca urmărirea modificărilor să funcționeze, baza de date trebuie să aibă cel puțin nivel de compatibilitate SQL Server 2005. Puteți determina numărul versiunii bazei de date a serverului rulând interogarea” Selectați @@VERSION”. Trebuie să activați urmărirea modificărilor pentru fiecare bază de date individual.
pentru a activa urmărirea modificărilor la nivel de bază de date, puteți utiliza fie SQL Server Management Studio, fie executați următoarea interogare T-SQL:
ALTER DATABASE Accounting2020
SET CHANGE_TRACKING = pe
(CHANGE_RETENTION = 3 zile, AUTO_CLEANUP = pe)
după ce este activată urmărirea modificărilor, puteți seta o perioadă de păstrare diferită modificând parametrii CHANGE_RETENTION și AUTO_CLEANUP.
activarea urmăririi modificărilor pentru un tabel
ca și în cazul bazelor de date, modificările tabelului de urmărire necesită activarea urmăririi pe fiecare tabel separat. Din nou, puteți face acest lucru fie în SQL Server Management Studio sau cu o interogare ca acest exemplu:
ALTER contracte de masă
activați CHANGE_TRACKING
cu (TRACK_COLUMNS_UPDATED = ON)
odată ce schimbarea de urmărire este activată pentru un tabel, informații despre toate rândurile modificate de instrucțiuni SQL comune (SELECT, INSERT, UPDATE, DELETE, etc.) este stocat intern.
parametrul TRACK_COLUMNS_UPDATED este utilizat pentru a seta urmărirea modificărilor pentru coloane activate sau dezactivate. Dacă este activat, SQL Server va stoca informații suplimentare despre coloanele care au fost actualizate. Cu toate acestea, deoarece informațiile despre coloane de urmărire se adaugă la cheltuielile de stocare, această opțiune este dezactivată în mod implicit și menținerea acesteia dezactivată este recomandată pentru toate aplicațiile care nu necesită Date istorice.
urmărirea ușoară și eficientă a schimbărilor cu Netwrix Auditor
spre deosebire de instrumentele native de urmărire a modificărilor care necesită scrierea interogărilor și accesarea manuală a datelor, Netwrix Auditor pentru SQL Server oferă tablouri de bord și rapoarte preconstruite care vă permit să identificați cu ușurință modificările și să vedeți toate detaliile critice. De exemplu, puteți vedea că o coloană care a fost ștearsă sau un rol de utilizator a fost modificată, împreună cu valorile înainte și după ale fiecărei modificări. Căutarea interactivă vă ajută să investigați rapid modificările suspecte, astfel încât să puteți preveni indisponibilitatea bazei de date și alte întreruperi.
Netwrix Auditor facilitează, de asemenea, urmărirea atentă a resurselor cheie, cum ar fi serverele cu cele mai multe modificări și utilizatorii care fac cele mai multe modificări. Raport abonamente tine la curent în mod automat pe programul pe care o alegeți. Și nu mai este nevoie să vă faceți griji în mod constant cu privire la curățare, deoarece stocarea pe două niveluri a Netwrix păstrează datele consolidate de schimbare SQL Server rentabil pentru mai mult de 10 ani, asigurând în același timp acces rapid și sigur la acesta în orice moment. Chiar mai bine, Netwrix Auditor utilizează un mecanism de audit non-intruziv, deci nu va degrada performanța bazei de date.