Sql-server – Error in table ‘sys.sysbinobjs’ on master database

dbcc-checkdbservice-packsql server

We have a SQL server DatabaseIntegrityCheck job to check the SYSTEM_DATABASES, and it shows an error message below in the logs now:

Msg 2570, Level 16, State 2, Line 1 Page (1:354), slot 28 in object ID
58, index ID 1, partition ID 281474980511744, alloc unit ID
281474980511744 (type "In-row data"). Column "name" value is out of
range for data type "nvarchar". Update column to a legal value.
CHECKDB found 0 allocation errors and 1 consistency errors in table
'sys.sysbinobjs' (object ID 58). CHECKDB found 0 allocation errors and
1 consistency errors in database 'master'.

Recommendation is to install SP4 – already done and problem still exists.

Any thoughts please other than rebuild master – no backup available unfortunately.

Best Answer

There's nothing you can do to fix it, I'm afraid, without a backup, you can't fix errors in system tables like this and I actually would've been surprised if installing SP4 would've worked.

The best (and probably only) way to resolve this is to create a brand-new, clean install of SQL Server somewhere else, then restore all of users database there, and script out your logins and jobs etc. to the new site.

Not ideal, I know, and a bit time consuming perhaps, but easy to do and it'll definitely solve your problem. You might be able to sell it as/use it as an opportunity to upgrade everything, spec the system exactly who you'd like it and get everything updated. There will be some downtime (but this can be minimised).

This is similar to your situation (but perhaps worse) and Paul Randal's reply puts it quite succinctly. This on SSC is another similar one, but not answers (except a confirmation that there's not a lot you can do). Finally, this MSDN post explores the problem as well - same conclusion.