dbcc ind command on sysindexkey fails
i have a database in sql 2000. When i open 开发者_运维问答 the system table sysindexkeys, I see many records. However, when i use dbcc ind command for this table, i do not get any information regarding the table. i also used DBCC TRACEON (3604)
heres what i did : -
Declare @DBID Int, @TableID Int Select @DBID = db_id(), @TableID = object_id('sysindexkeys') DBCC ind(@DBID, @TableID, -1) GO
This does not give any information.However if i use this command for other tables, I get the page no details for those tables. Can anybody help me figure this out.
Thanks, Jude
As before I am only really set up to test this on 2005 but the same information may well apply. In 2005 I can DBCC ind some of the underlying system tables via the DAC, but not all of them - some seem to be blocked from being accessed.
Sys.SysHobts and Sys.SysHobtColumns works, but Sys.SysIndexes and Sys.SysIndexKeys both fail.
If you select from sys.sysobjects you will notice a large portion of the system tables have negative ID's and that seems to correlate with which can be used with DBCC and which block the action claiming not to exist.
I tested a sample and the rule appears to hold, so might be a good indication of whether you can do it or not. I've not seen documentation say DBCC Ind is limited in what objects it can inspect, but there is not exactly much official documentation on it regardless. There clearly is an artificial limitation since we are witnessing it.
精彩评论