sybase ASE 如果通过page定位表和索引

ASE的报错信息中,时常出现page number而不出现表名,如下

Error 614, Severity 21, State 1. A row on page 121 
was accessed that has an illegal length of 0 in database 'production'.

报错信息提示了数据库为production,page num为121

1.通过sa登陆

2.执行dbcc traceon(3604)

3.执行dbcc page('production',121)

输出如下

Page found in cache default data cache.
BUFFER:
Buffer header for buffer 0x13d6800
page=0x13d7000 bdnew=0x0 bdold=0x0 bhash=0x0 bmass_next=0x0 
bmass_prev=0x0 bvirtpg=0 bdbid=0 bkeep=0
        bmass_stat=0x0800 bbuf_stat=0x0000 bpageno=121
        bxls_pin = 0x00000000 bxls_next = 0x00000000b
        bxls_flushseq 0 bxls_pinseq 0


PAGE HEADER:
Page header for page 0x13d7000
pageno=121 nextpg=122 prevpg=120 objid=7 timestamp=0001 0000043f
nextrno=1 level=10 indid=0  freeoff=1 minlen=1
page status bits: 0x8000,0x8,

DBCC execution completed. If DBCC printed error messages, contact 
a user with System Administrator (SA) role.


可以看到objid=7,indid=0

4.通过select object_name(7)获取表名称

5.通过indid得到索引名称

1> use database_name
2> go


1> select name 
2> from sysindexes 
3> where id = objid 
4> and indid = indid 
5> go

6.dbcc traceoff(3604)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值