Hi,
I am getting error 8970 when I run a dbcc on my production database. Please
help.
Error Details:
--
Server: Msg 8970, Level 16, State 1, Line 1
Row error: Object ID 1, index ID 0, page ID (1:92), row ID 67. Column 'uid'
was created NOT NULL, but is NULL in the row.
DBCC results for 'sysobjects'.
There are 590 rows in 11 pages for object 'sysobjects'.
CHECKTABLE found 0 allocation errors and 1 consistency errors in table
'sysobjects' (object ID 1).
tiaTake a backup of the database. Restore on another server. Run dbcc checkdb
against the restored database. If it still errors out, run the
repair_rebuild option
and if it still does not work, you may have to run the
REPAIR_ALLOW_DATA_LOSS
See what happens. If everything looks good on this restored database on the
other server after performing the fix, then run it on production. if things
go south, atleast you have a backup of the database restored someplace else.
"sc_simsl" <sc_simsl@.hotmail.com> wrote in message
news:90D4B6D2-171D-47BB-8A94-74475992D324@.microsoft.com...
> Hi,
> I am getting error 8970 when I run a dbcc on my production database.
> Please
> help.
> Error Details:
> --
> Server: Msg 8970, Level 16, State 1, Line 1
> Row error: Object ID 1, index ID 0, page ID (1:92), row ID 67. Column
> 'uid'
> was created NOT NULL, but is NULL in the row.
> DBCC results for 'sysobjects'.
> There are 590 rows in 11 pages for object 'sysobjects'.
> CHECKTABLE found 0 allocation errors and 1 consistency errors in table
> 'sysobjects' (object ID 1).
> tia
>|||Object id 1 is the sysobjects table. Usually, DBCC CHECKDB will tell you the
needed repair level to
repair a corruption. If it specified REPAIR_ALLOW_DATA_LOSS, then the corrup
t data will be removed.
In this case, it might mean that the offending rows from sysobjects has to b
e removed, hence, the
tables that they "point to" also will be removed. Perhaps someone from MS wi
ll jump in and comment
on that. Consider opening a case with MS if reverting to your latest clean b
ackup isn't an option.
Also, see http://www.karaszi.com/SQLServer/in..._suspect_db.asp
And, this is what Books Online has to say about that error:
Error 8970
Severity Level 16
Message Text
Row error: Object ID O_ID, index ID I_ID, page ID P_ID, row ID S_ID. Column
'COLUMN' was created NOT
NULL, but is NULL in the row.
Explanation
A column was created as not NULL, but is NULL in the row.
Per-state information:
State 1: The column is a regular data column.
State 2: The column is a SqlVariant and the data contained within it is NULL
.
Action
HARDWARE FAILURE
Run hardware diagnostics and correct any problems. Also examine the Microsof
t? Windows NT? system
and application logs and the SQL Server? error log to see if the error occ
urred as the result of
hardware failure. Fix any hardware related problems.
If you have persistent data corruption problems, try to swap out different h
ardware components to
isolate the problem. Check to ensure that your system does not have write ca
ching enabled on the
disk controller. If you suspect this to be the problem, contact your hardwar
e vendor.
Finally, you might find it beneficial to switch to a completely new hardware
system, including
reformatting the disk drives and reinstalling the operating system.
RESTORE FROM BACKUP
If the problem is not hardware related and a known clean backup is available
, restore the database
from the backup.
DBCC CHECKDB
If no clean backup is available, execute DBCC CHECKDB without a repair claus
e to determine the
extent of the corruption. DBCC CHECKDB will recommend a repair clause to use
. Then, execute DBCC
CHECKDB with the appropriate repair clause to repair the corruption.
Caution If you are unsure what effect DBCC CHECKDB with a repair clause has
on your data, contact
your primary support provider before executing this statement.
If the record is from a non-clustered index, performing a repair will rebuil
d the index. Otherwise,
the record is deleted and all indexes are rebuilt.
Caution This repair may cause data loss.
If running DBCC CHECKDB with one of the repair clauses does not correct the
problem, contact your
primary support provider.
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
Blog: http://solidqualitylearning.com/blogs/tibor/
"sc_simsl" <sc_simsl@.hotmail.com> wrote in message
news:90D4B6D2-171D-47BB-8A94-74475992D324@.microsoft.com...
> Hi,
> I am getting error 8970 when I run a dbcc on my production database. Pleas
e
> help.
> Error Details:
> --
> Server: Msg 8970, Level 16, State 1, Line 1
> Row error: Object ID 1, index ID 0, page ID (1:92), row ID 67. Column 'uid
'
> was created NOT NULL, but is NULL in the row.
> DBCC results for 'sysobjects'.
> There are 590 rows in 11 pages for object 'sysobjects'.
> CHECKTABLE found 0 allocation errors and 1 consistency errors in table
> 'sysobjects' (object ID 1).
> tia
>|||Thanks all for your suggestions.
I had tried the REPAIR_ALLOW_DATA_LOSS but since it's sysobjects that's
corrupt, it does not proceed with the dbcc.
Since it's a production database and I cannot go back to an older backup, I
was forced to update the system table.
Updated the column in sysobjects, ran dbcc again. Gave the same error on
another column in the same row, repeated the steps a couple of times.
The table is clean now and dbcc checkdb/checkcatalog too do not give any
errors. Also tried accessing the object and it works fine.
I know the MS guys are going to scream, but this was my last resort!
thanks.
"Tibor Karaszi" wrote:
> Object id 1 is the sysobjects table. Usually, DBCC CHECKDB will tell you t
he needed repair level to
> repair a corruption. If it specified REPAIR_ALLOW_DATA_LOSS, then the corr
upt data will be removed.
> In this case, it might mean that the offending rows from sysobjects has to
be removed, hence, the
> tables that they "point to" also will be removed. Perhaps someone from MS
will jump in and comment
> on that. Consider opening a case with MS if reverting to your latest clean
backup isn't an option.
> Also, see http://www.karaszi.com/SQLServer/in..._suspect_db.asp
> And, this is what Books Online has to say about that error:
> Error 8970
> Severity Level 16
> Message Text
> Row error: Object ID O_ID, index ID I_ID, page ID P_ID, row ID S_ID. Colum
n 'COLUMN' was created NOT
> NULL, but is NULL in the row.
> Explanation
> A column was created as not NULL, but is NULL in the row.
> Per-state information:
> State 1: The column is a regular data column.
> State 2: The column is a SqlVariant and the data contained within it is NU
LL.
> Action
> hardware FAILURE
> Run hardware diagnostics and correct any problems. Also examine the Micros
oft? Windows NT? system
> and application logs and the SQL Server? error log to see if the error o
ccurred as the result of
> hardware failure. Fix any hardware related problems.
> If you have persistent data corruption problems, try to swap out different
hardware components to
> isolate the problem. Check to ensure that your system does not have write
caching enabled on the
> disk controller. If you suspect this to be the problem, contact your hardw
are vendor.
> Finally, you might find it beneficial to switch to a completely new hardwa
re system, including
> reformatting the disk drives and reinstalling the operating system.
> RESTORE FROM BACKUP
> If the problem is not hardware related and a known clean backup is availab
le, restore the database
> from the backup.
> DBCC CHECKDB
> If no clean backup is available, execute DBCC CHECKDB without a repair cla
use to determine the
> extent of the corruption. DBCC CHECKDB will recommend a repair clause to u
se. Then, execute DBCC
> CHECKDB with the appropriate repair clause to repair the corruption.
>
> Caution If you are unsure what effect DBCC CHECKDB with a repair clause h
as on your data, contact
> your primary support provider before executing this statement.
>
> If the record is from a non-clustered index, performing a repair will rebu
ild the index. Otherwise,
> the record is deleted and all indexes are rebuilt.
>
> Caution This repair may cause data loss.
>
> If running DBCC CHECKDB with one of the repair clauses does not correct th
e problem, contact your
> primary support provider.
>
> --
> Tibor Karaszi, SQL Server MVP
> http://www.karaszi.com/sqlserver/default.asp
> http://www.solidqualitylearning.com/
> Blog: http://solidqualitylearning.com/blogs/tibor/
>
> "sc_simsl" <sc_simsl@.hotmail.com> wrote in message
> news:90D4B6D2-171D-47BB-8A94-74475992D324@.microsoft.com...
>
Thursday, March 8, 2012
dbcc error on sysobjects
Labels:
1row,
database,
dbcc,
details-server,
error,
level,
line,
microsoft,
msg,
mysql,
oracle,
pleasehelp,
production,
run,
server,
sql,
state,
sysobjects
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment