DBCC

greenspun.com : LUSENET : SQL Server Database Administration : One Thread

Hi Eric, With the old database backup, i restored the database on a new server. when i ran dbcc checktable on one of the table i got this error

Msg 2506, Level 16, State 3 Table Corrupt: The values in adjust table should be in ascending order starting from the end of the table (page#=3629 row#=2); check adjust table in this row Msg 2524, Level 16, State 1 Table Corrupt: Row length is inconsistent between the computed row length and the recorded row length on page; check the following page and row: pageno=3629 row#=2 computed row length=530 row length on page=529 Msg 2596, Level 16, State 1 Page pointer = 0x230ee800, pageno = 3629, status = 0x101, objectid = 1008006622, indexid = 0 has an incorrect pgfreeoff value of 1983. The offset should be 970. Msg 2506, Level 16, State 3 Table Corrupt: The values in adjust table should be in ascending order starting from the end of the table (page#=4296 row#=3); check adjust table in this row Msg 2524, Level 16, State 1 Table Corrupt: Row length is inconsistent between the computed row length and the recorded row length on page; check the following page and row: pageno=4296 row#=3 computed row length=541 row length on page=540 Msg 2596, Level 16, State 1 Page pointer = 0x2383d800, pageno = 4296, status = 0x101, objectid = 1008006622, indexid = 0 has an incorrect pgfreeoff value of 1867. The offset should be 1263. Msg 2506, Level 16, State 3 Table Corrupt: The values in adjust table should be in ascending order starting from the end of the table (page#=4301 row#=0); check adjust table in this row Msg 2524, Level 16, State 1 Table Corrupt: Row length is inconsistent between the computed row length and the recorded row length on page; check the following page and row: pageno=4301 row#=0 computed row length=556 row length on page=555 Msg 2596, Level 16, State 1 Page pointer = 0x236d3800, pageno = 4301, status = 0x101, objectid = 1008006622, indexid = 0 has an incorrect pgfreeoff value of 1962. The offset should be 587.

and i checked the table in old database also, it is showing the same error message. what i have to do, to clear this error.

Thanks, Ravi.

-- Anonymous, January 24, 2002

Answers

Ravi,

The SQL Server Books Online suggests that you make a copy of the table like so:

1. Save the index/trigger/constraint definitions for the problem table. You will need to re-create them later.

2. Select the data from the problem table into a new one: SELECT * INTO new_table FROM problem_table 3. Drop the problem table: drop table problem_table 4. Rename the new table, giving it the problem table’s name: sp_rename new_table, problem_table 5. If applicable, re-create the indexes and triggers. If the problem persists, you will need to contact Microsoft PSS (Product Support Services) about it. Ideally, though you should upgrade to a more recent version of SQL Server and upgrade to its latest service pack.

[The following description of how PSS works is from the description in microsoft.public.sqlserver.server by Neil Pike, MVP/MCSE, Protech Computing Ltd.]

Microsoft PSS are people who support all Microsoft's products, write fixes, take the calls, sort out workarounds etc. They work 24x7x365. The only way to contact them to place an initial call is by phone (unless you have a premier support contract in which case there are web based methods). For details of your nearest PSS support center go to:

http://support.microsoft.com/support/supportnet/default.asp

All calls are chargeable either to your credit card or an existing account. Your call fee WILL be reimbursed if the problem turns out to be an Microsoft bug, or a feature that hasn't been publicly documented. The person answering the phone cannot know it's a bug, so they have to take details of your credit card before passing you on to a technician. When the call is closed the technician decides whether to mark the call as "free" in which case you get a refund automatically.

Good Luck,

Eric

-- Anonymous, January 25, 2002


Moderation questions? read the FAQ