WEB开发网
开发学院数据库MSSQL Server 利用DBCC PAGE查看SQL Server中的表和索引数据 阅读

利用DBCC PAGE查看SQL Server中的表和索引数据

 2008-10-13 10:07:43 来源:WEB开发网   
核心提示: 有了这些信息,现在我们可以看看我们插入的Washington, Franklin和Jefferson三行是如何存储到EMPLOYEE表中的,利用DBCC PAGE查看SQL Server中的表和索引数据(3),EMPLOYEE表有一个聚簇索引(主键定义的结果),它表示应该有一个由DBCC

有了这些信息,现在我们可以看看我们插入的Washington, Franklin和Jefferson三行是如何存储到EMPLOYEE表中的。EMPLOYEE表有一个聚簇索引(主键定义的结果),它表示应该有一个由DBCC IND输出结果产生的IndexID = 1(index_id = 1指向聚簇索引,在这个聚簇索引中,对于表来说叶级别页是真正的数据)。观察由DBCC IND产生的输出结果,我们可以看到,这个PageType = 1聚簇索引可以在文件数(PageFID) = 1和页码(PagePID) = 143的地方找到。这里有四个不同的显示页数据的打印选项。我使用的是包含页标题信息和数据的打印选项3。

注意:在我们能够运行DBCC PAGE之前,要求跟踪标志3604设置成指导引擎去发送输出结果到控制台,否则你将什么都看不到。

  DBCCTRACEON(3604)
  DBCCPAGE('MSSQLTIPS',1,143,3)WITHTABLERESULTS
  GO

滚动到这些结果的结尾处,我们可以看到,我们的数据已经存储了并且它存储在聚簇索引的列上。数据行存储在以零点偏移开始的槽变量上。

利用DBCC PAGE查看SQL Server中的表和索引数据

EMPLOYEE表也有一个非聚簇索引(通过在表中定义的约束)。让我们查看创建的非聚簇索引。再次观察DBCC IND输出,我们可以很容易确定非聚簇页,因为它是IndexID = 2 (PageType = 2)并且它可以在文件数(PageFID)= 1和页码(PagePID) = 153中找到。注意,如果我们有表上的不同索引,我们可以查看sys.indexes并且得到随后要用来查看具体索引的index_id。现在,让我们来看看索引数据:

  DBCCPAGE('MSSQLTIPS',1,153,3)WITHTABLERESULTS
  GO

上一页  1 2 3 4  下一页

Tags:利用 DBCC PAGE

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接