jurnal de tranzacții lectură sql server - centru de soluții

Pentru a înțelege informațiile care sunt stocate în jurnalul de tranzacții, sau nu doar o copie de rezervă jurnal de tranzacții.

jurnal de tranzacții lectură sql server - centru de soluții

funcţia fn_dbblog

fn_dblog - este o caracteristică nedocumentat SQL Server, care vă permite să vizualizați porțiunea activă a jurnalului de tranzacții în timp real.

Să vedem cum să lucreze cu ea:

  1. Urmează funcția fn_dblog

Funcția returnează 129 de coloane, deci este recomandabil pentru a restrânge setul de rezultate din seturile necesare de câmpuri și, dacă este posibil să se limiteze numai selectarea tipului dorit de tranzacție

Din întregul set de date, care returnează funcția fn_dblog derivă doar tranzacțiile necesare.

De exemplu, vom alege doar o tranzacție pentru a insera rânduri în tabel:

jurnal de tranzacții lectură sql server - centru de soluții

Pentru a vedea tranzacțiile privind ștergerea rândurilor, executați următorul script:

Informații de linii introduse sau scoase stocate în coloane - RowLog Cuprins 0, 1, Cuprins RowLog Cuprins RowLog 2, Cuprins RowLog 3 Cuprins RowLog 4, descriere și Log Înregistrare

Pentru fiecare tip de tranzacție, folosind coloane diferite, în scopul de a obține informațiile de care aveți nevoie, trebuie să știți exact care coloanele sunt folosite pentru orice tranzacție, iar acest lucru nu este ușor, deoarece documentația oficială nu descrie.

Rândurile au fost inserate și șterse sunt stocate în valori hexazecimale. Pentru a trage de date de la aceste valori, trebuie să cunoască formatul de stocare, pentru a înțelege biți de state să cunoască numărul total de coloane, și așa mai departe.

  • În plus, este necesar pentru a converti datele binare în formă de tabel bazat pe coloanele tabelei de date de tip. Trebuie remarcat faptul că mecanismul de conversie este diferit pentru diferite tipuri de date.
  • fn_dbLog instrument gratuit minunat pentru citirea jurnalului de tranzacții, dar această funcție are o serie de limitări - destul de dificil de a înțelege datele, ca printre alte informații conține intrări asociate cu tabelele de sistem, funcție afișează numai partea activă a jurnalului și nu afișează informații pentru a actualiza BLOB-valoare.

    operațiune UPDATE cu un minim de logare jurnalul de tranzacții nu conține valoarea totală care a existat înainte și după schimbare, și păstrează doar ceea ce sa schimbat (SQL Server poate înregistra că valoarea sa schimbat „G“ la „D“, cu toate că, în realitate, a schimbat cuvântul „mai putea de fericire „să“ plutească „). În acest caz, trebuie să restaurați manual toate înregistrările de stat intermediare în pagină mai întâi introducerea la punctul în care vă interesează.

    Când ștergeți o pată de cerneală obiecte obiecte în sine nu sunt înregistrate în jurnal, dar numai faptul îndepărtării. Pentru a restaura la distanță BLOB obiecte de care aveți nevoie pentru a găsi într-o revistă un cuplu pentru această ștergere, care este pus în aplicare înainte de inserție, și ea, probabil, nu este conținută în partea activă a jurnalului.

    funcţia fn_dump_dblog

    fn_dump_dblog - este o altă caracteristică nedocumentat care vă permite să vizualizați jurnalul de tranzacții de backup jurnal de tranzacții este comprimat și convenționale.

    1. Mai jos este un exemplu de funcționare funcției fn_dump_dblog. Vă rugăm să rețineți că trebuie să specificați toate parametrul 63

    pentru că fn_dump_dblog se întoarce precum și fn_dblog 129 de coloane, este de dorit să se reducă set de câmpuri

    Dar, din nou, trebuie să decodeze valorile hexazecimale pentru a găsi înregistrarea dorită

    Și vei primi din nou aceleași restricții ca și în cazul unei fn_dblog funcție.

    Pentru a restaura o bază de date dintr-o copie a tranzacției log până la un anumit punct în timp sau la o anumită tranzacție, trebuie:

    O altă comandă utilă DBCC PAGE, dar, de asemenea, ca cele două -nedokumentirovannaya funcția anterioară. Acesta vă permite să vizualizați conținutul fișierelor LDF MDF și. Sintaxa este:

    Ca rezultat veți obține mesajul:

    În mod implicit, rezultatul comenzii PAGE DBCC nu este afișată în SQL Server Management Studio și pentru a afișa primul pas pe care trebuie să activați trace pavilion 3604:

    Acum re-rulați comanda:

    Veți vedea mai multe erori și titlul paginii, care pot fi ignorate. Mai jos puteti gasi hexazecimal de afișare LDF-fișier:

    jurnal de tranzacții lectură sql server - centru de soluții

    Utilizați ApexSQL Log

    ApexSQL Log - un instrument care vă permite să lucrați cu jurnalele de tranzacții SQL Server într-o formă vizuală. Acesta vă permite să vizualizați jurnalul de tranzacții curente în timp real, acces la copiile de rezervă jurnal de tranzacții, atât convenționale și stabilite în modul de compresie. În această aplicație singur citește datele din copiile de rezervă ale bazei de date pentru a obține toate informațiile necesare pentru o recuperare de succes. Cu ApexSQL Log, puteți vizualiza lanțuri de tranzacții care au avut loc în baza de date, chiar și cei care au fost angajat la utilitarul de configurare. Spre deosebire de caracteristici nedocumentate și neacceptate discutat mai sus, veți primi informații vizuale despre ceea ce a avut loc operațiuni pe obiecte vor putea vedea valoarea vechi și noi.

    Conectarea la baza de date a cărui tranzacție jurnal pe care doriți să le analizați

    jurnal de tranzacții lectură sql server - centru de soluții

    În etapa Selectați jurnalele SQL pentru a analiza. Selectați înregistrarea pe care doriți să îl citiți. Asigurați-vă că acestea formează un lanț complet

    jurnal de tranzacții lectură sql server - centru de soluții

  • Pentru a adăuga un backup jurnal de tranzacții și fișiere LDF individuale, utilizați butonul Add
  • Utilizați un filtru în etapa de configurare filtru. pentru a reduce numărul de tranzacții citit prin specificarea unui interval de timp, tipul de operațiune, tabele și alte filtre

    jurnal de tranzacții lectură sql server - centru de soluții

    Rezultatele complete pot fi văzute sub forma unui tabel

    Puteți ține evidența la pornirea operației și când ați terminat, tipul de operațiune, schema și obiectul pe care a avut loc operațiunea, numele utilizatorului care a comis această acțiune, precum și numele calculatorului și aplicația din care a avut loc această tranzacție. Pentru operațiunile de actualizare (update) puteți vedea modul în care noua și vechea valoare.

    jurnal de tranzacții lectură sql server - centru de soluții

    Pentru a evita valorile ilizibile hex, caracteristici fără acte, coloane de conținut obscure, interogări cu o structură complexă, script-uri complexe de a prelua date, operațiunile UPDATE date incomplete, precum și probleme în obținerea valorii BLOB din jurnalul de tranzacții SQL Server, utilizați programul ApexSQL Log. Este pentru tine de a efectua toate operațiunile complexe și prezintă rezultatele într-o formă ușor de citit. În plus, vă va permite cu un singur clic pentru a anula sau de a re-efectua tranzacția dorită.