黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

SQL Server中TempDB管理(version store的邏輯

系統(tǒng) 2613 0
原文: SQL Server中TempDB管理(version store的邏輯結(jié)構(gòu))

原文來自:

http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/

http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/31/managing-tempdb-in-sql-server-tempdb-basics-version-store-logical-structure.aspx

前面幾篇博文已經(jīng)初步介紹了版本存儲區(qū),現(xiàn)在我們來了解一下它的邏輯結(jié)構(gòu),看看它究竟是如何儲存不同結(jié)構(gòu)的表格和索引行的。其實(shí)我們只要看一下 DMV
sys.dm_tran_version_store
這個DMV就夠了 .

這個DVM視圖顯示了版本存儲區(qū)全部邏輯結(jié)構(gòu)。有兩點(diǎn)值得注意。第一,版本存儲區(qū)也和數(shù)據(jù)頁面索引頁面一樣由8k大小的頁組成。這些頁存在緩沖池中,可以在TempDB面臨內(nèi)存壓力時被寫入磁盤。第二,版本存儲區(qū)存儲的是完整的二進(jìn)制文件,就像在數(shù)據(jù)頁存儲的一樣。這種二進(jìn)制文件分為前后兩個部分,然后在SQL
Server內(nèi)部會對其進(jìn)行組合。這使得行版本存儲獨(dú)立于它所屬的對象的架構(gòu),即一個儲存區(qū)的頁可以存儲來自不同表不同索引的行,甚至可能來自同一實(shí)例下的不同數(shù)據(jù)庫。換句話說,版本存儲區(qū)是一個SQL
Server實(shí)例下公用的。和數(shù)據(jù)頁和索引頁一樣,在內(nèi)存緊張的時候版本存儲頁也會從緩沖池中被清除。

如果查看名為 sys.dm_tran_version_store 的DMV會發(fā)現(xiàn),我們會發(fā)現(xiàn)版本行有很多原始數(shù)據(jù)或索引頁面所沒有的的新屬性,如database-id,行長度等。您可能會問,行版本同樣受到SQL
Server最大行長度8060的限制,那么它是如何存儲原始數(shù)據(jù)行(最大行長度也是8060)并增長新屬性的呢。答案是,數(shù)據(jù)行在版本存儲頁實(shí)際上被分成了2行,只是在DMV視圖中表現(xiàn)成一大行。

下面是一個版本存儲的例子。事務(wù)57已經(jīng)更新了三個不同的行,同時事務(wù)58只更新1行內(nèi)容。請注意,如果一個事務(wù)中多次更新同一行,只會創(chuàng)建一個行版本,因?yàn)閷ζ渌聞?wù)來說,它從一開始就持有了X鎖。

transaction_sequence_num
version_sequence_num database_id

------------------------
-------------------- -----------

57????????????????????? 1??????????????????? 9??????????

57????????????????????? 2??????????????????? 9??????????

57????????????????????? 3??????????????????? 9??????????

58????????????????????? 1??????????????????? 9??????????

?

rowset_id??????????? status min_length_in_bytes

--------------------
------ -------------------

72057594038321152??? 0?????
12??????????? ?????

72057594038321152??? 0?????
12????????????????

72057594038321152??? 0?????
12????????????????

72057594038386688??? 0?????
16????????????????

?

record_length_first_part_in_bytes

---------------------------------

29??????????????????????????????

29??????????????????????????????

29??????????????????????????????

33??????????????????????????????

?

record_image_first_part????????????????????????????????????????????

--------------------------------------------------------------------

0x50000C0073000000010000000200FCB000000001000000270000000000???????

0x50000C0073000000020000000200FCB000000001000100270000000000???????

0x50000C0073000000030000000200FCB000000001000200270000000000???????

0x500010000100000002000000030000000300F800000000000000002E0000000000

?

record_length_second_part_in_bytes??? record_image_second_part

----------------------------------
----------------------

0????????????????????????????????? NULL

0????????????????????????????????? NULL

0????????????????????????????????? NULL

0????? ????????????????????????????NULL

SQL Server中TempDB管理(version store的邏輯結(jié)構(gòu))


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論