您的位置:1010cc时时彩经典版 > 1010cc安卓版 > 常用命令,Server内幕之数据页

常用命令,Server内幕之数据页

发布时间:2019-09-30 10:45编辑:1010cc安卓版浏览(85)

    数据页是包含已增多到数据库表中的客户数量的结构。

    我们都很领会SQL Server用8KB 的页来囤积数据,并且在SQL Server里磁盘 I/O 操作在页级试行。也正是说,SQL Server 读取或写入全体数据页。页有差异的类型,像数据页,GAM,SGAM等。在那文章里,让大家一齐来掌握下多少页结构。

    【IT168专稿】谈起GAM和SGAM,我们不得不从数据库的页和区提及。多少个数据库由客商定义的上空整合,那么些空间用来永远存款和储蓄客商对象,举例数据库管理消息、表和目录。这几个空间被分配在几个或五个操作系统文件中。

    《Microsoft Sql server 二〇一〇 Internals》索引目录:


    如前所述, 数据页有三种, 每一个都以不一致的格式存款和储蓄数据。

    SQL Server把数量记录存在数据页(Data Page)里。数据记录是堆表里、聚焦索引里叶子节点的行。

      当大家创设叁个数据库的时候,举例以缺省的不二等秘书诀CREATE DATABASE TESTDB,SQLServer自动帮咱们创造好如下七个数据库文件。

    《Microsoft Sql server 二零零六Internal》读书笔记--目录索引

    --1 DBCC FLUSHPROCINDB

    SQL server 有行内数据页、行溢出数据页和 LOB 数据页。

    数量页由3个部分组成。页头(标头),数据区(数据行和可用空间)及行偏移数组。

    1010cc时时彩经典版 1  

     

    破除SQL SE奥德赛VE奥迪Q5服务器内部存款和储蓄器中某些数据库的贮存进程缓存内容
    用法 DBCC FLUSHPROCINDB(db_id)

    与 SQL server 中的全数其余项目标页一样, 数据页的尺寸固定为 8 KB 或8192字节。

    1010cc时时彩经典版 2

      那多少个数据文件是理当如此的操作系统文件,当中四个是叫行数据文件,用来累积数据库的各类对象,其他二个是日记文件,一向记录数据变动的经过。

     

     

    它们由三要害组件组成: 页面页眉、数据行和行偏移量数组, 如图6-4 所示。

    在大家探讨在SQL Server里,数据页内部结构具体是哪些从前,大家来创建三个表并插入一些记下。

      从逻辑角度来讲,数据库的相当小存款和储蓄单位为页即8kb。

    上篇大家根本学习了元数据(metadata)的仓库储存及选择目录视图来询问那些消息,前几天,大家一而再学习数据页(Data Pages)。


    1010cc时时彩经典版 3

     

      数据库被分成若干逻辑页面(每一种页面8KB),何况在各样文件中,全体页面都被三番两次地从0到x编号,在那之中x是由文件的大大小小决定的。我们得以通过点名一个数据库ID、三个文书ID、贰个页码来援用任何八个数据页。每一个数据页则用来存款和储蓄表和目录,以及相关的数据库管理新闻。

     数据页(Data pages)是包罗已经增加到数据库的表中的顾客数据的结构。正如前方所见到的,数据页有三类,每类数据页以分歧的办法存款和储蓄数据。复习一下,分别是in-row data pages、row-overflow data pages和LOB data pages。与另外品类的page一样,data pages也是固定的8K大小或8192 bytes。它由三类组件组成:the page Header,data rows和the row offset array,如下图所示:

    --2 DBCC page

    1010cc时时彩经典版, 

     1 USE [InternalStorageFormat]
     2 GO
     3 
     4 IF EXISTS ( SELECT  *
     5             FROM    sysobjects
     6             WHERE   id = OBJECT_ID(N'[dbo].[Customers]')
     7                     AND OBJECTPROPERTY(id, N'IsUserTable') = 1 )
     8     DROP TABLE dbo.Customers
     9 
    10 CREATE TABLE Customers
    11 (
    12    FirstName CHAR(50) NOT NULL,
    13    LastName CHAR(50) NOT NULL,
    14    Address CHAR(100) NOT NULL,
    15    ZipCode CHAR(5) NOT NULL,
    16    Rating INT NOT NULL,
    17    ModifiedDate DATETIME NOT NULL,
    18 )
    19 GO
    20 
    21 
    22 INSERT INTO dbo.Customers
    23         ( FirstName ,
    24           LastName ,
    25           Address ,
    26           ZipCode ,
    27           Rating ,
    28           ModifiedDate
    29         )
    
    30 VALUES  ( 'Woody' , -- FirstName - char(50)
    31           'Tu' , -- LastName - char(50)
    32           'ZUOQIAO YOUXI TOWN LINHAI CITY' , -- Address - char(50)
    33           '0000' , -- ZipCode - char(5)
    34           1 , -- Rating - int
    35           '2015-05-07 10:09:51'  -- ModifiedDate - datetime
    36         )
    37         go 2
    

      大家沿着上边数据文件的不二等秘书诀能够找到该文件,观看一下新建的数据文件的尺寸为:

    1010cc时时彩经典版 4

    dbcc traceon(3604)

    页标题

    当今大家要寻找SQL Server给那些表分配的页有如何,这些将在动用非文书档案的授命DBCC IND。
    它的语法如下:

      2.18 MB (2,293,760 字节)=2,293,760b/8kb=280个页面=35个区

    1、Page Header

    dbcc page(northwind,1,100,1)

     

    DBCC IND 命令用于查询一个储存对象的当中存款和储蓄结构音讯,该命令有4个参数, 前3个参数必需钦命。语法如下:
    DBCC IND ( { 'dbname' | dbid }, { 'objname' | objid },{ nonclustered indid | 1 | 0 | -1 | -2 } [, partition_number] )
    率先个参数是数据库名或数据库ID。
    第贰个参数是数据库中的对象名或对象ID,对象足以是表大概索引视图。
    其多少个参数是三个非集中索引ID或许 1, 0, 1, or 2. 值的含义:
     0: 只展现对象的in-row data页和 in-row IAM 页。
     1: 展现对象的总体页, 包含IAM 页, in-row数据页, LOB 数据页row-overflow 数据页 . 如果央求的指标包括集中所以则索引页也包含。
     -1: 突显任何IAM页,数据页, 索引页 也囊括 LOB 和row-overflow 数据页。
     -2: 呈现任何IAM页。
     Nonclustered index ID:展现索引的一切 IAM页, data页和索引页,包括LOB和 row-overflow数据页。
    为了合作sql server 两千,第八个参数是可选的,该参数用于钦命四个分区号.如果不给定值可能给定0, 则展现任何分区数据。
    和DBCC PAGE不相同的是, SQL Server运维DBCC IND没有要求展开3604跟踪标记.

      数据库举办空中管理的小不点儿单位为区(extents)。

    正如上海体育场地所示,每一种data page (除去96 bytes,还恐怕有8096 bytes贮存data,row overhead和row offset)。你能够动用上面的DBCC Page命令来查阅。

    /*询问northwind 的数量的第101个页面包车型地铁新闻*/

    如图6-4 所示, 页标题攻陷每一种数据页的前玖拾玖个字节 (为数据、行成本和行偏移保留80玖拾捌个字节)。表6-5 列出了检讨页标题时显得的部分新闻。

    咱俩来举办下列的通令:

      五个区由8个逻辑上三翻五次的页面组成(64KB的空中)。为了能够更使得地分配空间,SQL Server 2010不会为一点点的数额向数据表分配整区的长空。SQL Server 二零零六有二种档期的顺序的区。

    2、Data Rows for in-Rows

    /*DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])

    1010cc时时彩经典版 5

    1 DBCC IND('InternalStorageFormat','Customers',-1)
    

      统一类型的区 这么些区为单个对象具有,区中全体的8个数据页只可以被所属对象使用。

     Page Header的上面是row data,单个数据行最大能够存放8060 bytes的in-row data,那就是以前数据行不能够凌驾8060限量的原故!有个别行也得以在单身的页面(pages)中存放row-overflow data和LOB数据,存款和储蓄在二个加以的page变量中的行数决计于表结构及数码被存放的组织。贰个兼有全方位永远长度列的表每页能积累一样的行数。一个拥有可变长度列的表在页中寄存不一致的行数以适应数据的实际尺寸。保持行长度尽量短,允许愈来愈多的行以适应页面,减弱了I/O,改良了高速缓存命中率(cache-hit ratio)。

    ?

     

    SQL Server会给大家如下的输出结果:
    1010cc时时彩经典版 6

      混合类型的区 那些区能为最多8个目的分享。

    由此,作为系统架构师或数据库Designer,实在有须要领悟那么些啊。邀月深有体会。呵呵。程序很烂,是后天的,但数据结构不客观,那是原始的,两个的杀伤力同样惊人!

    切实参数描述如下:

    行内数据的数据行

    能够看看有2条记下,一条记下为页面类型(PageType)为10的页和一条记下为页面类型(PageType)为1的页。页面类型(PageType)10是IAM页,页面类型(PageType)1是数据页,它的页ID是79.

      SQL Server为新的表或索引从混合类型的区中分配页面。当该表或索引增进到8个页面时,今后全体的分配都采纳统一类型的区。

    3、Row Offset Array

    dbid: 富含页面包车型地铁数据库ID

     

    至于数据库页类型如下所示:

      当一张表或一个索引须要更加的多的半空中时,SQL Server要求找到能够用来分配的空中。假如该表或索引全体依然有限8个页面,SQL Server必需找到能够用来分配的混合类型区构成的上空。如若表或索引有8个页面或更加大,SQL Server必需找到二个随意的统一类型的区。

    行偏移数组(row offset array) 是一个2-byte entries的块(block),每一个项表明对应数据行在页开头的舞狮,每行(row)有叁个两字节的项。固然那个字节不会和数目一齐存储在行中,它们能影响适应page的行数。行偏移数组透露了行在页上的逻辑顺序。举例,即使三个表有一个聚集索引,SQL Server按聚集索引键的逐个存放数据。那并不意味着数据是大意按集中索引键的依次寄放,而是行偏移数组的Slot 0 指向聚焦索引键连串的率先行(row),Slot 1 指向第二行,等等。当大家要高效查看实际页的时候,这个行的物理地方只怕在页的别的职分。

    dbname:包涵页面包车型客车数据库的称呼

    页标题前边是储存表实际数据行的区域。单个数据行的最大尺寸为8060字节的行内数据。

    • 1 Data page 堆表和聚焦索引的叶子节点数据
    • 2 Index page 集中索引的非叶子节点和非聚焦索引的有所索引记录

    • 3 Text mixed page A text page that holds small chunks of LOB values plus internal parts of text tree. These can be shared between LOB values in the same partition of an index or heap.

    • 4 Text tree page A text page that holds large chunks of LOB values from a single column value.

    • 7 Sort page 排序时所用到的一时页,排序中间操作存款和储蓄数据用的。

    • 8 GAM page 全局分配映射(Global Allocation Map,GAM)页面 那个页面记录了哪些区已经被分配并用作何种用途。

    • 9 SGAM page 共享全局分配映射(Shared Global Allocation Map,GAM)页面 那个页面记录了哪些区当前被充任混合类型的区,而且这一个区需满含最少贰个未利用的页面。

    • 10 IAM page  有关每种分配单元中表或索引所采用的区的音讯

    • 11 PFS page  有关页分配和页的可用空间的新闻

    • 13 boot page 记录了关于数据库的音讯,仅存于每一个数据库的第9页

    • 15 file header page 笔录了有关数据库文件的音讯,存于每个数据库文件的第0页

    • 16 DCM page 记录自从上次全备以来的数目变动的页面,以备差别备份

    • 17 BCM page 有关每一个分配单元中自最终一条 BACKUP LOG 语句之后的大体量操作所修改的区的新闻

      SQL Server使用两种特殊类别的页面来记录哪些区已经被分配出去了,哪些项目(混合类型或合併类型)的区可供使用:

     检查数据页(Exampling Data Pages)

    filenum:包涵页面包车型客车公文编号

    行还足以在单独的页上存款和储蓄行溢出和 LOB 数据。

    近期大家来拜见79号项目为1的数额页里存放的数额,那几个将在用到DBCC PAGE命令,它的语法如下:

      全局分配映射(Global Allocation Map,GAM)页面 那一个页面记录了哪些区已经被分配并用作何种用途。三个GAM页面在它所覆盖空间里针对每多个区都有贰个数码位。倘若数据位为0,那么相应的区正在使用;若是该数据位为1,那么该区为工商业自由贸易区。贰个GAM页面除了页面尾部和其余一些内需记入的开支差相当的少有八千字节或许说64 000位空间可用,所以每一个GAM页面能够覆盖64000个区,也正是大意4GB的数量。那代表多个文本的每4GB空间对应一个GAM页面。

     DBCC page命令能够帮大家查询:MSDN文书档案中中从不提供此命令,微软真的很极其啊。语法为:

    pagenum:文件内的页面

    在给定页上囤积的行数依据表结构和储存的数码而转换。

    dbcc page 命令读取数据页结构的吩咐DBCC Page。
    该命令为非文书档案化的命令,具体如下:
      DBCC Page ({dbid|dbname},filenum,pagenum[,printopt])
      具体参数描述如下:
      dbid 包罗页面包车型大巴数据库ID
      dbname 包涵页面包车型大巴数据库的名称
      filenum 包涵页面包车型客车文本编号
      pagenum 文件内的页面
      printopt 可选的出口选项;接纳个中贰个值:
      0:私下认可值,输出缓冲区的标题和页面标题
      1:输出缓冲区的标题、页面题目(分别出口每一行),以及行偏移量表
      2:输出缓冲区的标题、页面标题(全体出口页面),以及行偏移量表
      3:输出缓冲区的标题、页面标题(分别出口每一行),以及行偏移量表;每一行
      后跟分别列出的它的列值
      要想见见那个输出的结果,还索要安装DBCC TRA高管N(3604)。

      共享全局分配映射(Shared Global Allocation Map,SGAM)页面 那个页面记录了哪些区当前被用作混合类型的区,并且这一个区需富含最少三个未使用的页面。就如一个GAM页面,每贰个SGAM页面覆盖了大约6五千个区,也正是大意4GB的数据。贰个SGAM页面在它所遮掩空间里针对每个区都有贰个数目位。假如数额位为1,那么相应的被利用的区为混合类型,而且该区有局地Infiniti制页面;若是数量位为0,那么相应的区不是八个混合类型的区,大概纵然是一个掺杂类型的区,可是具有的页面都已经被使用了。

    DBCC PAGE ({dbid | dbname},filenum,pagenum[,printopt])

    printopt:可选的出口选项;选取在那之中三个值:

    享有全体固定长度列的表始终能够积攒每页同样的行数;

    我们来施行下列的吩咐:

      表4-2呈现了依据每一个区当下的应用状态,在GAM和SGAM中该区所对应的比特位格局。

    个中,最终八个参数能够是0,1,2,3,默感到0,有意思味的心上人能够相比下这几个参数的区分。大家作个示例:

    0:暗中同意值,输出缓冲区的标题和页面标题

    可变长度行能够按照输入数据的实在尺寸, 存款和储蓄尽恐怕多的行。

    1 DBCC TRACEON(3604)
    2 DBCC PAGE(InternalStorageFormat,1,79,3)
    3 GO    
    
    区的当前使用情况 GAM比特位设置 SGAM比特位设置
    自由,未使用 1 0
    统一类型或已全部使用的混合区 0 0
    含有自由页面的混合区 0 1

    DBCC traceON(3604)
    go
    --查询testdb数据库的率先个文本的第157页的数据页
    DBCC PAGE (testdb,1,157,1);
    GO

    1:输出缓冲区的标题、页面标题(分别出口每一行),以及行偏移量表

    保证行长越来越短能够使越来越多行相符页面, 进而减弱 i/o 并追加所需数据在缓存中的大概。

    SQL Server会给大家蕴涵4个部分的出口。首盘部是BUFFE大切诺基,里面是有些内部存款和储蓄器分配音信,对此大家没有多少兴趣。下一部分是牢固96 bytes大小的页头(page header),页头(page header)会左近如下呈现:

      假设SQL Server须求找到叁个新的通通未有行使的区,那么它能够动用其他三个在GAM页面中对应的比特位值为1的区。要是SQL Server供给找到二个拥有可用空间(有一个或七个随机页面)的混合类型的区,那么它能够找寻贰个对应的GAM中的值为0、SGAM中的值为1的区。假使不设有有可用空间的插花类型的区,SQL Server会使用GAM页面来搜寻二个簇新的区并将其分配为混合类型的区,然后利用该区中的一页。假若根本未曾自由区,那么那几个文件已经满了。

    查询结果如下:

    2:输出缓冲区的标题、页面标题(整体出口页面),以及行偏移量表

     

    1010cc时时彩经典版 7

    第0页 第1页 第2页 第3页 第4页 第5页 第6页 第7页
    m_type=15 m_type=11 m_type=8 m_type=9 m_type=0 m_type=0 m_type=16 m_type=17
    头文件页 PFS页 GAM页 SGAM页 保留页 保留页 DCM页 BCM页

    1010cc时时彩经典版 8

    3:输出缓冲区的标题、页面标题(分别出口每一行),以及行偏移量表;每一行后跟分别列出的它的列值

    行偏移量数组

    页头相关字段的意思:

      SQL Server能够相当的慢地锁定一个文本中的GAM页面,因为它总是位于任何数据库文件的第三页上(页码为2)。SGAM页面是在第四页上(页码为3)。下三个GAM页面出现在第三个GAM页面(页码为2)现在的每511 2三19个页面中,况且下一个SGAM页面出现在第二个SGAM页面(页码为3)现在的每511 2二十八个页面中。每二个数据库文件的页码为0的页面是文件头页面,并且每一个文件独有一页。页码0是头文件页,页码1是页面自由空间页(Page Free Space,PFS)。

    1010cc时时彩经典版 9

    */

     

    • Page @0x08F84000            同BUFFER中的bpage地址
    • m_pageId = (1:79)              数据页号     
    • m_headerVersion = 1         头文件版本号,一向为1          
    • m_type = 1                          页面类型,1为数据页面
    • m_typeFlagBits = 0x4         数据页和索引页为4,其余页为0        
    • m_level = 0                         该页在索引页(B树)中的级数
    • m_flagBits = 0x七千          页面标记
    • m_objId (AllocUnitId.idObj) = 46                       同Metadata: ObjectId             
    • m_indexId (AllocUnitId.idInd) = 256                  同Metadata: IndexId
    • Metadata: AllocUnitId = 72057594040942592  存储单元的ID,sys.allocation_units.allocation_unit_id                              

    • Metadata: PartitionId = 72057594039304192   数据页所在的分区号,sys.partitions.partition_id                             

    • Metadata: IndexId = 0                                        页面包车型大巴索引号,sys.objects.object_id&sys.indexes.index_id

    • Metadata: ObjectId = 277576027                      该页面所属的靶子的id,sys.objects.object_id
    • m_prevPage

      (0:0)                  该数据页的前一页面;主要用在数据页、索引页和IAM页

    • m_nextPage = (0:0)                  该数据页的后一页面;首要用在数据页、索引页和IAM页

    • pminlen = 221                          定长数据所占的字节数
    • m_slotCnt = 2                           页面中的数据的行数
    • m_freeCnt = 7644                    页面中剩下的长空
    • m_freeData = 544                    从第二个字节到结尾二个字节的上空字节数

    • m_reservedCnt = 0                   活动职业释放的字节数

    • m_lsn = (255:8406:2)                日志记录号
    • m_xactReserved = 0                 最新插足到m_reservedCnt领域的字节数
    • m_xdesId = (0:0)                       添加到m_reservedCnt的近年的政工id
    • m_ghostRecCnt = 0                 幻影数据的行数
    • m_常用命令,Server内幕之数据页。tornBits = 0                         页的校验位依旧被由数据库页面爱戴情势决定分页珍视位代表

      在SQLServer二〇〇九的每三个数据库中的前八页顺序都是永久的。

    别的,还应该有更详尽的第X到第X行的数量突显。越多音信,请查看:


    行偏移量数组是2字节项的块, 各类条目款项表示相应数据行起先的页面上的偏移量。

    再来看下页面相关分配景况:

      除了第9页为数据库的BOOT页以外,从第8页到第173页为SQLServer2010内部系统表的连锁存款和储蓄音讯,然后从第174页到第279页为未分配页面。因为第一页从0起头,所以刚刚280页,即和大家看出的数据库数据文件的高低完全相等。

     http://support.microsoft.com/?scid=kb;en-us;83065&x=15&y=13http://blogs.msdn.com/sqlserverstorageengine/archive/2006/12/13/More-undocumented-fun_3A00_-DBCC-IND_2C00_-DBCC-PAGE_2C00_-and-off_2D00_row-columns.aspx

    --3 DBCC checkalloc

    每行在那几个数组中都有贰个2字节的条款 (正如前面所研究的, 当您读书每行所需的13个开荒字节时)。

     1010cc时时彩经典版 10

    第8页

     http://support.microsoft.com/?scid=kb;en-us;83065&x=8&y=12

    DBCC checkalloc(northwind)

    就算这一个字节未有存款和储蓄在数额行中, 但它们确实会影响符合页面包车型客车行数。

    • GAM (1:2) = ALLOCATED                                                   在GAM页上的分配情形
    • SGAM (1:3) = ALLOCATED                                                 在SGAM页上的分配情状
    • PFS (1:1) = 0x61 MIXED_EXT ALLOCATED  50_PCT_FULL 在PFS页上的分配景况,该页为八分之四满,                       

    • DIFF (1:6) = CHANGED

    • ML (1:7) = NOT MIN_LOGGED   

    第8页

    询问结果分为四片段:BUFFER、PAGE HEADER、DATA、和OFFSET TABLE(即真实的offset array) ,

    /*常用命令,Server内幕之数据页。反省钦点数据库的系统表内和表间的一致性

     

    接下去正是用来贮存实际多少的槽(slot),每条记下存放三个槽(slot)里。0号槽在页里具有第1条数据,1号槽具备第2条数据,依此类推。通过下边的图片,你能够见到大家记录大小是224 bytes,217 bytes(50 50 100 5 4 8) 的定长和7 bytes 的系统行费用。

    第8页

      注意,要想获取近似上海教室的询问的缜密新闻,非得选拔张开TRA主管N开关,语法为:

    checkalloc是检查钦定数据库,看其颇负科学分配的页和尚未分配的页的情景。

    行偏移量数组提醒页上行的逻辑顺序。

    1010cc时时彩经典版 11

    第N页

    DBCC traceON(3604)
    GO

    若未钦赐数据库名,则checkalloc检查当前数据库。checkalloc会回去已分配的和选拔的半空中数据。

    举个例子, 如若表具备聚焦索引, SQL server 将按聚焦索引键的顺序存款和储蓄这么些行。

    页的结尾一某个是行偏移数组表,咱们得以用参数为1的DBCC PAGE命令来,在输出消息的尾部别获得得。

    第173页

    至于DBCC TRACEON (Transact-SQL)的更加多用法,请参见MSDN

    checkalloc的缺省格局为nofix,要运用fix选项,必需把数据库置于单客户形式。

    那并不代表行按聚集索引键的逐一物理地蕴藏在页面上。

    实行如下的通令:

    第279页

    譬喻你想获悉系统硬件的相关音信,可以经过DBCC traceON(3205)展开追踪开关。  

    */

    反倒, 偏移量数组中的插槽0援引集中索引键顺序中的第一行, 插槽1援引第二行, 依此类推。

    1 DBCC TRACEON(3604)
    2 DBCC PAGE(InternalStorageFormat,1,79,3)
    3 GO    
    

    m_type=1

     数据行的构造(the structure of data rows)
    叁个表的通用结构如下图所示:


    正如您在检讨实际上页面时所观望的那样, 那么些行的物理地点能够放在页面包车型地铁任何义务。

    SQL Server在输出消息的底部,给大家如下的新闻:

    m_type=13

     1010cc时时彩经典版 12

    --4 DBCC checkcatalog

     

    1010cc时时彩经典版 13

    m_type in (1,2,10)

     当中:状态位A富含一个关于行的位图音讯。这几个bits有如下含义:

    DBCC checkcatalog(northwind)/*

    翻看数据页

    其一行偏移表,应该从下往上读。每条槽条目款项是三个2 bytes长的指针指向页里槽偏移量。这里大家插入了2条记下,所以表里有2个槽条目款项。第1条记下指向第96 bytes,刚幸而页头后。这么些行偏移表能够支持我们管理页面包车型大巴记录。在页里的行偏移表里,每条记下要求2 bytes的轻重来积累。于此类似,在堆表上建设构造的非聚焦索引,每一个非集中索引行里都包含二个物理指针映射回堆表里的行记录。那个物理指针是[文件号:页号:槽号](file:page:solt)的构造,由此在读取页的时候,能够找到堆表里的对应行,再通过行偏移表里槽号里的偏移量,就足以在页里读取到对应的行记录。借使我们要修改页中间的记录,大家并不一定必要整合全部页,大家只要修改偏移表里偏移量就可以。

    N/A

          Bit 0 Versioning information; in SQL Server 2008, it's always 0.
          Bits 1 through 3 Taken as a 3-bit value, 0 indicates a primary record, 1 indicates a forwarded record, 2 indicates a forwarded stub, 3 indicates an index record, 4 indicates a blob fragment, 5 indicates a ghost index record, and 6 indicates a ghost data record.
          Bit 4 Indicates that a NULL bitmap exists; in SQL Server 2008, a NULL bitmap is always present, even if no NULLs are allowed in any column.
          Bit 5 Indicates that variable-length columns exist in the row.
          Bits 6 Indicates that the row contains versionings information.
          Bits 7 Not used in SQL Server 2008.

    检查批定数据库的种类表内和种类表间的一致性

     

    1010cc时时彩经典版 14

    Data页

    状态位B字段中只使用一位,表示该记录是一条备份转发记录。
    

    */

    能够使用 DBCC 页命令查看数据页的内容, 

    在页头大家看见如今页面还恐怕有7644 bytes能够用,大家一起来注脚下。

    Boot页

    下表显示了表数据行的储存新闻:


    本文由1010cc时时彩经典版发布于1010cc安卓版,转载请注明出处:常用命令,Server内幕之数据页

    关键词:

上一篇:八个排行函数,四大排行函数

下一篇:没有了