日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三种查看SqlServer中数据物理pge页的方法

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三种查看SqlServer中数据物理pge页的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.根據數據記錄查看當前記錄所在的文件編號、page頁、以及在頁中的插槽。

示例如下:

SELECT top 10 %%physloc%%, sys.fn_physlocFormatter (%%physloc%%) AS RID FROM tableName

?

--注意;在64位系統中sys.fn_physlocFormatter 整理出來的格式有時候不對,需要手工根據physloc來計算,計算的方法是:

以字節為單位倒敘,如

0x0702000001002200倒敘后是?
0x0022000100000207

前四位0022表示插槽號2*16+2 = 34,接下來的四位0001表示文件號,余下的00000207表示文件號2*16*16+7 = 519

DBCC TraceOn(3604) DBCC page(數據庫名,1,40995,0) DBCC TraceOff(3604)

?

2.根據sys.system_internals_allocation_units(該視圖同sys.allocation_units)獲得首頁

select OBJECT_NAME(object_id) as Name,p.rows,a.type_desc ,a.total_pages,a.first_page ,a.first_iam_page,a.root_page from sys.partitions P join sys.system_internals_allocation_units a on p.partition_id = a.container_id where object_id = object_id('dbo.Dumplpt')

?

首頁頁碼按照16進制形式保存,同上按字節反序后,前兩組表示2字節文件編號,后4組表示頁編號。可用如下函數來返回文件號和頁碼:

CREATE FUNCTION convert_page_nums (@page_num binary(6)) RETURNS varchar(11) AS BEGIN RETURN(convert(varchar(2), (convert(int, substring(@page_num, 6, 1)) * power(2, 8)) + (convert(int, substring(@page_num, 5, 1)))) + ':' + convert(varchar(11), (convert(int, substring(@page_num, 4, 1)) * power(2, 24)) + (convert(int, substring(@page_num, 3, 1)) * power(2, 16)) + (convert(int, substring(@page_num, 2, 1)) * power(2, 8)) + (convert(int, substring(@page_num, 1, 1)))) ) END;

3.使用DBCC IND命令,示例如下:

DBCC IND(testLogDB,'dbo.Dumplpt',-1)

將返回形如下結果:

PageFID PagePID IAMFID IAMPID ObjectID IndexID PartitionNumber PartitionID iam_chain_type PageType IndexLevel NextPageFID NextPagePID PrevPageFID PrevPagePID 1 197 NULL NULL 69575286 0 1 72057594038976512 In-row data 10 NULL 0 0 0 0 1 196 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 198 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 199 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 200 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 201 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 202 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 203 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 204 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 208 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 209 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 210 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 211 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 212 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0 1 213 1 197 69575286 0 1 72057594038976512 In-row data 1 0 0 0 0 0

  

轉載于:https://www.cnblogs.com/thaughtZhao/p/4262960.html

總結

以上是生活随笔為你收集整理的三种查看SqlServer中数据物理pge页的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。