2012-03-06 25 views
0

2つの異なる.BAKファイル(異なる夜間バックアップファイル)を使用して2つのデータベースを復元しました.TRNファイルのデータを読むには?

最新の復元.BAKから消失したデータ行があります。

理由を調べる必要があります。

問題を引き起こした可能性のあるユーザーアクションを知るために.TRNデータを読み書きする方法はありますか?

+0

http://stackoverflow.com/questions/4507509/how-to-view-transaction-logs-in-sql-サーバー2008 – Marc

答えて

4

Apexsqlをチェックアウトすると、トランザクションログを読み込むツールが提供されます。しかし、フリーウェアではありません。

SQl Serverには、文書化されていない機能もあります。詳細はThis Postを参照してください。

DBCC LOG(databasename, typeofoutput) 
2

ポールランダルは、あなたが同じ概念を使用することができるかもしれない、find out who dropped a table using the transaction logに文書化されていない機能を使用して書きました。

自分の投稿で彼は落としたテーブルを探していたので、私はローカルシステムでそれを試して、テーブルからレコードを削除するためにWHERE [Tranaction Name] = 'DELETE'にフィルタすることに気付きました。

ので、このクエリ:


SELECT [Current LSN], [Begin Time], SPID, [Database Name], [Transaction Begin], [Transaction ID], [Transaction Name], [Transaction SID], Context, Operation 
FROM ::fn_dblog (null, null) 
WHERE [Transaction Name] = 'DELETE' 
GO 

戻り、この出力


Current LSN Begin Time SPID Database Name Transaction Begin Transaction ID Transaction Name Transaction SID Context Operation 
00000474:00000239:0001 2012/03/06 10:09:19:547 58 NULL NULL 0001:000a67be DELETE 0x010500000000000515000000628ADB6E31CC6098F269B2B9F8060000 LCX_NULL LOP_BEGIN_XACT 
関連する問題