Comment afficher les journaux de transactions dans SQL Server 2008 [fermé]

j'ai besoin de voir les journaux de transactions d'une base de données sur SQL Server 2008 afin de trouver une transaction de suppression et, si tout va bien, de la faire revenir en arrière.

malheureusement je n'ai aucune idée où commencer, et je trouve difficile de déterminer qui sont bon articles sur Google.

Que dois-je faire?

52
demandé sur Peter Mortensen 2010-12-22 11:47:28

3 réponses

vous pouvez utiliser le sans-papiers

DBCC LOG(databasename, typeofoutput)

où Type de production:

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 (database, 1)

vous pouvez également essayer fn_dblog.

pour revenir en arrière à l'aide du journal des transactions, je jette un coup d'oeil au message de débordement de la cheminée pour revenir en arrière à l'aide du journal des transactions .

51
répondu kevchadders 2017-05-23 10:31:09

vous ne pouvez pas lire le fichier du journal des transactions facilement parce que ce n'est pas correctement documenté. Il existe essentiellement deux façons de le faire. Utiliser des fonctions de base de données non documentées ou semi-documentées ou utiliser des outils tiers.

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

fonctions SQL:

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

outils de tiers:

Toad pour SQL Server et ApexSQL Log .

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

19
répondu JdMR 2017-05-23 12:25:54

j'ai accidentellement supprimé tout un tas de données dans le mauvais environnement et ce post a été l'un des premiers que j'ai trouvé.

parce que je paniquais et cherchais simultanément une solution, je suis allé pour la première chose que j'ai vu - ApexSQL Logs , qui était de 2000 $qui était un coût acceptable.

cependant, j'ai depuis découvert que Crapaud pour le serveur Sql peut générer des scripts d'annulation à partir de des journaux de transactions et il est seulement $655.

enfin, trouvé une option encore moins cher SysToolsGroup Log Analyzer et il est seulement $300.

5
répondu viggity 2017-11-16 16:59:57