關於sqlserver 事務日誌的研究

2021-09-29 16:48:09 字數 1427 閱讀 6976

因專案要做sqlserver資料實時同步到mysql,於是想到了解析下 sqlserver的日誌

1個16進製制數對應4個二進位制數字,2個16進製制數字對應8個二進位制數字,及1個位元組。

sqlserver版本 2008

建立了一張表table_2

改動id列其餘列不變

比較上圖發現

不同處實在這個位置 正好可以看到 3是我輸入的資料3

b轉為10進製為 11 a轉為10進製為12

第一列不變 改動code列

十六進製制 32 是轉為字串 2 34是4

select 

cast(

'1900-01-01 00:00:00' +

interval cast(conv(substr(hex(binarydata),1,8), 16, 10) as signed) day +

interval cast(conv(substr(hex(binarydata),9,8), 16, 10) as signed)* 10000/3 microsecond

as datetime) as converted_datetime

from

(select 0x00101d0b05000002 as binarydata

union all

select 0x00009e85013711ee as binarydata

) d

exec sp_change_users_login'auto_fix','mary',null,'b3r12-36'    --當為了測試或其他目的而恢復資料庫時很有用。重新對映登入id的正確位置

sp_help 'table_2' --快速查詢表結構,索引和約束

檢視SQL Server的事務日誌

sql server 7.0和sql server2000中,可以用下面的命令檢視 dbcc log type 例如 dbcc log master,0 引數 dbid or dbname 任一資料庫的id或名字 type 輸出結果的型別 0 最少資訊 operation,context,trans...

SQL Server 事務日誌收縮小結

對於每乙個資料庫來講,都需要至少乙個事務日誌檔案。事務日誌檔案是整個資料庫的血液,如果沒有事務日誌的話,那麼將無法進行任何操作。事務日誌記錄著在相關資料庫上的操作,同時還儲存資料庫恢復 recovery 的相關資訊。事務日誌與資料庫恢復 recovery 是密切相關的,其實資料庫在啟動時,便會進行相...

如何讀懂SQL Server的事務日誌

本文將介紹sql server的事務日誌中記錄了哪一些資訊,如何來讀懂這些事務日誌中資訊。首先介紹乙個微軟沒有公開的函式fn dblog,在文章的接下來的部分主要用到這個函式來讀取事務日誌。fn dblog startinglsn,endinglsn startinglsn 表示起始的lsn號,如果...