web-dev-qa-db-fra.com

Comment afficher les journaux de transactions dans SQL Server 2008

J'ai besoin d'afficher les journaux des transactions d'une base de données sur SQL Server 2008 afin de rechercher une transaction de suppression et, espérons-le, de l'annuler.

Malheureusement, je ne sais pas par où commencer et j'ai du mal à déterminer quels sont de bons articles sur Google.

Que devrais-je faire?

53
109221793

Vous pouvez utiliser les sans-papiers

DBCC LOG(databasename, typeofoutput)

où typeofoutput:

0: Return only the minimum of information for each operation -- the operation, its context and the transaction ID. (Default)
1: As 0, but also retrieve any flags and the log record length.
2: As 1, but also retrieve the object name, index name, page ID and slot ID.
3: Full informational dump of each operation.
4: As 3 but includes a hex dump of the current transaction log row.

Par exemple, DBCC LOG (base de données, 1)

Vous pouvez également essayer fn_dblog.

Pour annuler une transaction à l'aide du journal des transactions, jetez un coup d'œil à Stack Overflow post Annulation d'une transaction à l'aide du journal des transactions.

52
kevchadders

Vous ne pouvez pas lire facilement le fichier du journal des transactions car il n’est pas correctement documenté. Il y a fondamentalement deux façons de faire cela. Utilisation de fonctions de base de données non documentées ou semi-documentées ou à l'aide d'outils tiers.

Remarque: Cela n'a de sens que si votre base de données est en mode de récupération complète.

Fonctions SQL:

DBCC LOG et fn_dblog - plus de détails ici et ici .

Outils tiers:

Toad for SQL Server et journal ApexSQL .

Vous pouvez également consulter plusieurs autres sujets où cela a été discuté:

20
JdMR

J'ai accidentellement supprimé un tas de données dans le mauvais environnement et cet article a été l'un des premiers que j'ai trouvés.

Comme je paniquais simultanément et que je cherchais une solution, j’ai choisi la première chose que j’ai vue - ApexSQL Logs , c’était 2 000 $, ce qui était un coût acceptable.

Cependant, j'ai depuis découvert que Toad for Sql Server peut générer des scripts d'annulation à partir de journaux de transactions et que le coût est de 655 $ seulement.

Enfin, trouvé une option encore moins chère SysToolsGroup Log Analyzer et il n’est que de 300 $.

5
viggity