三种查看SqlServer中数据物理pge页的方法
1.根据数据记录查看当前记录所在的文件编号、page页、以及在页中的插槽。
示例如下:
SELECT top
%%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()
DBCC page(数据库名,,,)
DBCC TraceOff()
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())
RETURNS varchar()
AS
BEGIN
RETURN(convert(varchar(), (convert(int, substring(@page_num, , ))
* power(, )) +
(convert(int, substring(@page_num, , )))) + ':' +
convert(varchar(),
(convert(int, substring(@page_num, , )) * power(, )) +
(convert(int, substring(@page_num, , )) * power(, )) +
(convert(int, substring(@page_num, , )) * power(, )) +
(convert(int, substring(@page_num, , )))) )
END;
3.使用DBCC IND命令,示例如下:
DBCC IND(testLogDB,'dbo.Dumplpt',-)
将返回形如下结果:
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
三种查看SqlServer中数据物理pge页的方法的更多相关文章
- EF3:Entity Framework三种开发模式实现数据访问
前言 Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对 ...
- Entity Framework:三种开发模式实现数据访问
原文地址 http://blog.csdn.net/syaguang2006/article/details/19606715 前言 Entity Framework支持Database First. ...
- 查看SQLSERVER内部数据页面的小插件Internals Viewer
原文:查看SQLSERVER内部数据页面的小插件Internals Viewer 查看SQLSERVER内部数据页面的小插件Internals Viewer 感觉internals viewer这个名 ...
- Pandas中查看列中数据的种类及个数
Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data ...
- [ 原创 ]学习笔记-三种向ListView中填充简单文本的方法
Android 中ListView是很重要的一块内容 掌握ListView的基本用法 对学习安卓起着举足轻重的作用 今天就介绍一下三种向ListView 填充简单文本的方法 填充其他数据类型的用法之后 ...
- sqlserver 中数据导入到mysql中的方法以及注意事项
数据导入从sql server 到mysql (将数据以文本格式从sqlserver中导出,注意编码格式,再将文本文件导入mysql中): 1.若从slqserver中导出的表中不包含中文采用: bc ...
- 三种查看MySQL数据库版本的方法
https://blog.csdn.net/hj7jay/article/details/51921504 1.使用-V参数 首先我们想到的肯定就是查看版本号的参数命令,参数为-V(大写字母)或者-- ...
- 新三种求数列中值SQL之效率再比拼
在 https://www.cnblogs.com/xiandedanteng/p/12677688.html 中我列举了三种求中值方案,其中日本人MICK的做法因为不适用于二百万结果集而放弃,取而 ...
- C# 三种方式实现Socket数据接收(经典)
Stream.Read 方法 当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数. 语法: public abstract int Read(byte[] buffer, in ...
随机推荐
- Scala中的Implicit(隐式转换,隐式参数,隐式类)
文章来自:http://www.cnblogs.com/hark0623/p/4196452.html 转发请注明 代码如下: /** * 隐式转换 隐式参数 隐式类 */ //隐式转换 class ...
- 在Windows下利用Eclipse调试FFmpeg
目录 [隐藏] 1 环境与软件 2 第一步:安装MinGW 3 第二步:配置编译环境 4 第三步:配置SDL 5 第四步:编译 5.1 编译faac 5.2 编译fdk-aac 5.3 编译x264 ...
- asp.net控件开发基础(1)(转)原文更多内容
asp.net本身提供了很多控件,提供给我们这些比较懒惰的人使用,我认为控件的作用就在此,因为我们不想重复工作,所以要创建它,这个本身便是一个需求的关系,所以学习控件开发很有意思. wrox网站上有本 ...
- js:数据结构笔记10--图和图算法
图:是由边和定点的集合组成: 按照图的定点对是否有序可以分为:有向图和无向图: 路径:所有顶点都由边连接构成:路径长度为第一个定点到最后一个顶点之间的数量: 环:指向自身的顶点,长度为0:圈:至 ...
- 20130617 hbase regionserver 老挂掉
hbase regionserver 老挂掉: 添加如下: <property><name>hbase.regionserver.restart.on.zk.expire< ...
- fork和execve
fork函数在新的子进程中运行相同的程序,新的子进程是父进程的一个复制品. execve函数在当前进程的上下文中加载并运行一个新的程序.它会覆盖当前进程的地址空间,但并没有创建一个新的进程.新的程序仍 ...
- 洛谷 P1025 数的划分 Label:dp
题目描述 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序). 例如:n=7,k=3,下面三种分法被认为是相同的. 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法. 输 ...
- 常用移动web开发框架研究分析
纯粹的总结一下移动web开发框架,移动web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家族 ...
- 【BZOJ】3223: Tyvj 1729 文艺平衡树(splay)
http://www.lydsy.com/JudgeOnline/problem.php?id=3223 默默的.. #include <cstdio> #include <cstr ...
- C#关闭word进程
C#关闭word进程 foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcessesByName(&q ...