标签归档:rowId获取

mssql sqlserver %%physloc%% 系统常量简介


摘要:
下文讲述sqlserver中 %%physloc%% 系统常量说明,如下所示
实验环境:sqlserver 2008 R2


%%physloc%% 系统常量产生于sqlserver 2008的数据库中,在表查询时,我们放入此常量可以获取行所在的实际物理地址,
此数据的格式为 binary(8),
1~4字节:页号
5~6字节:文件号
7~8字节:行Id(槽号)
我们将此常量结合  sys.fn_physlocformatter fn_PhysLocCracker 返回相应的格式化后的信息

create table test(keyId int identity,info varchar(30))
go
insert into test(info) values
(‘maomao365.com’),(N’sql教程博客’),
(‘sqlserverblog’)
go 100

select %%physloc%% as [行物理地址],
keyId,info
from test
go

truncate table test
drop table test

相关阅读:
mssql sqlserver fn_PhysLocFormatter使用说明
mssql sqlserver fn_physLocCracker使用说明

mssql sqlserver fn_PhysLocFormatter使用说明


摘要:
下文讲述sqlserver系统函数fn_PhysLocFormatter的用法,如下所示:
实验环境:sql server 2008 R2



fn_PhysLocFormatter系统函数功能简介

fn_PhysLocFormatter系统函数的功能为,返回数据行所属的rowId
fn_PhysLocFormatter系统函数返回值说明:

括号中的值分别为:
文件编号:page页:页中的插槽号


fn_PhysLocFormatter 系统函数举例应用

 create table test(keyId int identity,info varchar(30))
go
insert into test(info) values
('maomao365.com'),(N'sql教程博客'),
('sqlserverblog')
go 100

select sys.fn_PhysLocFormatter(%%physloc%%) as RID,
keyId,info from test
go

truncate table test
drop table test
fn_PhysLocFormatter用法举例说明

fn_PhysLocFormatter用法举例说明