Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Administration (2000)
 data corruption - how now ?

Author  Topic 

SQL_Girl
Starting Member

2 Posts

Posted - 2004-03-01 : 05:01:59
Hi there,

Running SQL 2000 SP 3a on Windows 2003, on it's own instance.

I get the following message
"[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionCheckForData (CheckforData()).
Server: Msg 11, Level 16, State 1, Line 0
General network error. Check your network documentation.

Connection Broken"

when a select statment is run against a database. At first it seemed that it might be index releated, since I was able to recreate all the indexes under new names, while the old indexes still existed. When I tired rebuilding indexes, I got an error :
"Server: Msg 3624, Level 20, State 1, Line 1

Location: recbase.cpp:1378
Expression: m_offBeginVar < m_SizeRec
SPID: 61
Process ID: 1560

Connection Broken
"

Dropping indexes to try and recreate hasn't given me any joy - I can't create the indexes any more.

Doing a DBCC chec table gave me
"DBCC results for 'AcctTrans'.
There are 1041869 rows in 29977 pages for object 'AcctTrans'.
CHECKTABLE found 0 allocation errors and 38 consistency errors in table 'AcctTrans' (object ID 802817922).
repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKTABLE (VP4000.dbo.AcctTrans )."

Due to lovely way the database was set up, the recovery mode is simple, and wouldn't you guess it, all the post month-end backups failed. So recovery is an issueThere is no DB RI, so while I could repair and lose the 38 rows, I have no real way of tracking what will then be broken.

Any thoughts ? Otherwise I will need to tell the guys that they have lost their 38 rows, and ask them if they can programmatically determine the missing data, and recreate it.

nr
SQLTeam MVY

12543 Posts

Posted - 2004-03-01 : 05:18:43
>> all the post month-end backups failed.
If you don't have a test restore procedure set up then you deserve everything you get. The data is only secure up to the last verified restore.

Create a new database and transfer all the data into it.
For the problem table bcp all the data out and in to the new database. You will get an error somewhere probably.
If this is a data page error then there is not a lot you can do about it but have a look at
http://www.nigelrivett.net/PageStructure.html
You may be able to recreate the data from the physical page data.

Other than that use the indexes to access as much data as possible around the corrupt data.
If it is not a data page error then you should be able to get all the data via a select * without a sort which should not access indexes.

Don't try to continue using the database even if a repair works. Create a new one preferable on a new disk in case it is a physical problem with the disk.

==========================================
Cursors are useful if you don't know sql.
DTS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page
   

- Advertisement -