Non, mais deux choses :
- en préventif vous pouvez utiliser le profiler SQL
- en curatif vous pouvez toujours relire le journal des transactions
Exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| CREATE DATABASE TEST_LOG;
GO
USE TEST_LOG;
GO
CREATE TABLE T (C INT);
GO
INSERT INTO T VALUES (1);
INSERT INTO T VALUES (2);
INSERT INTO T VALUES (3);
DELETE FROM T
WHERE C = 2;
DBCC log (TEST_LOG, 0) |
qui donne :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Current LSN Operation Context Transaction ID
---------------------- ------------------------- ------------------------- --------------
00000007:00000015:0001 LOP_BEGIN_CKPT LCX_NULL 0000:00000000
00000007:00000015:0002 LOP_MODIFY_ROW LCX_BOOT_PAGE_CKPT 0000:00000000
00000007:00000016:0001 LOP_END_CKPT LCX_NULL 0000:00000000
00000007:00000017:0001 LOP_MODIFY_ROW LCX_OBJECT_ID 0000:00000000
00000007:00000017:0002 LOP_BEGIN_XACT LCX_NULL 0000:0000013d
00000007:00000017:0003 LOP_INSERT_ROWS LCX_CLUSTERED 0000:0000013d
00000007:00000017:0004 LOP_INSERT_ROWS LCX_INDEX_LEAF 0000:0000013d
...
00000007:00000024:0001 LOP_BEGIN_XACT LCX_NULL 0000:00000145
00000007:00000024:0002 LOP_MODIFY_HEADER LCX_PFS 0000:00000145
00000007:00000024:0003 LOP_EXPUNGE_ROWS LCX_CLUSTERED 0000:00000000
00000007:00000024:0004 LOP_SET_BITS LCX_PFS 0000:00000000
00000007:00000024:0005 LOP_SET_BITS LCX_PFS 0000:00000000
00000007:00000024:0006 LOP_SET_BITS LCX_PFS 0000:00000000
00000007:00000024:0007 LOP_COMMIT_XACT LCX_NULL 0000:00000145 |
Syntaxe :
DBCC LOG(<database name> [, {0 | 1 | 2 | 3 | 4 } ] )
le dernier paramètres donnant plus ou moins d'information et jouant sur la présentation des données
A +
Partager