擷取SQL Server資料行的物理地址資訊(%%lockress%% & %%physloc%%)

來源:互聯網
上載者:User

在SQL Server 2005裡可以通過%%lockress%%得到資料行對應的實體路徑資訊,在SQL Server2008裡還可以通過%%physloc%% 得到,用sys.fn_PhysLocFormatter 將得到的binary資料轉換後就是%%lockress%% 的值,但是,這幾個在MSDN裡都沒有介紹.

%%lockress%% 得到值包含了3部分:檔案編號,頁編號和位置編號,並以冒號分隔.

select *,%%lockres%% as phys from dbTest

得到的結果是:

id          name       phys
----------- ---------- --------------------------------
1           A          1:77:0
2           B          1:77:1
3           C          1:77:2

在SQL Server2008裡執行

select *,%%physloc%% as phys from dbTest

得到的結果是:

id          name       phys
----------- ---------- ------------------
1           A          0x7300000001000000
2           B          0x7300000001000100
3           C          0x7300000001000200

在SQL Server2008裡執行

 select *,sys.fn_PhysLocFormatter(%%physloc%%)  as physfrom dbTest 

得到的結果是:

id          name       phys
----------- ---------- ----------------------------
1           A          (1:115:0)
2           B          (1:115:1)
3           C          (1:115:2)

因為SQL Sever2005和SQL Server2008在不同的機器上,所以得到的物理資訊是不一樣的,得到的這個資訊,相當於是一張表的一個隱藏的唯一鍵列,所以通過這個可以很方便的處理一些問題,比如刪除沒有主鍵表裡的重複資料,但是MSDN裡沒有相關的說明,所以使用時要考慮一些風險.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.