By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,161 Members | 2,002 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,161 IT Pros & Developers. It's quick & easy.

Fatal errors with SQL (asserts, invalid page reads etc)

P: n/a
Suddenly in one database we have a lot of errors, it seams some things are
corrupted. I tried to start maintanance / database repair, but this fails
too.

When selecting in Query Analyzer a range of records from a table I get the
following message:

Location: p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 68
Process ID: 1208

When I select the record that causes this error, the following error is
reported in Query Analyzer:

Could not find the index entry for RID '163748993200' in index page
(3:373352), index ID 0, database 'sal'.

In the log I see a lot of these messages:

Stack Signature for the dump is 0x&D179C48
Could not open FCD for invalid file ID 21761 in database'sal'
I/O error (bad page ID) detected during read at offset 0x00000b64d2000
How can this be fixed?
How can I rebuild the index for one table / check integrity of one table?
What kind of actions may caused this corruption (if it is corruption) ?
How can it be prevented?

I hope someone can help.

Regards,

Rene

Jul 20 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
To check a single table, use DBCC CHECKTABLE. If there is only a
non-clustered index problem, rebuild the index using DBCC DBREINDEX. Check
for integrity of the whole database with DBCC CHECKDB. If ou have major
problems, it could be that your HDD has errors.
To prevent errors, use RAID 1, RAID 5 or RAID 10 arrays of disks for your
database.
Always have backup strategy.

--
Dejan Sarka, SQL Server MVP
FAQ from Neil & others at: http://www.sqlserverfaq.com
Please reply only to the newsgroups.
PASS - the definitive, global community
for SQL Server professionals - http://www.sqlpass.org

"Rene" <no@spam.nl> wrote in message
news:vg************@corp.supernews.com...
Suddenly in one database we have a lot of errors, it seams some things are
corrupted. I tried to start maintanance / database repair, but this fails
too.

When selecting in Query Analyzer a range of records from a table I get the
following message:

Location: p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 68
Process ID: 1208

When I select the record that causes this error, the following error is
reported in Query Analyzer:

Could not find the index entry for RID '163748993200' in index page
(3:373352), index ID 0, database 'sal'.

In the log I see a lot of these messages:

Stack Signature for the dump is 0x&D179C48
Could not open FCD for invalid file ID 21761 in database'sal'
I/O error (bad page ID) detected during read at offset 0x00000b64d2000
How can this be fixed?
How can I rebuild the index for one table / check integrity of one table?
What kind of actions may caused this corruption (if it is corruption) ?
How can it be prevented?

I hope someone can help.

Regards,

Rene

Jul 20 '05 #2

P: n/a
Thanks for you answer. We have a raid 5 and daily backup, but this record
was insert in may but we discovered it yesterday. I don't think a backup
strategy can handle this.

It seems that it is small problem since the server was stil operational for
more then a month, it just caused some extra heartbeats since this is the
first time I've got such problem.

Thanks,

Rene
"Dejan Sarka" <de************************************@avtenta.si > schreef in
bericht news:Om*************@TK2MSFTNGP10.phx.gbl...
To check a single table, use DBCC CHECKTABLE. If there is only a
non-clustered index problem, rebuild the index using DBCC DBREINDEX. Check
for integrity of the whole database with DBCC CHECKDB. If ou have major
problems, it could be that your HDD has errors.
To prevent errors, use RAID 1, RAID 5 or RAID 10 arrays of disks for your
database.
Always have backup strategy.

--
Dejan Sarka, SQL Server MVP
FAQ from Neil & others at: http://www.sqlserverfaq.com
Please reply only to the newsgroups.
PASS - the definitive, global community
for SQL Server professionals - http://www.sqlpass.org

"Rene" <no@spam.nl> wrote in message
news:vg************@corp.supernews.com...
Suddenly in one database we have a lot of errors, it seams some things are corrupted. I tried to start maintanance / database repair, but this fails too.

When selecting in Query Analyzer a range of records from a table I get the following message:

Location: p:\sql\ntdbms\storeng\drs\include\record.inl:1447
Expression: m_SizeRec > 0 && m_SizeRec <= MAXDATAROW
SPID: 68
Process ID: 1208

When I select the record that causes this error, the following error is
reported in Query Analyzer:

Could not find the index entry for RID '163748993200' in index page
(3:373352), index ID 0, database 'sal'.

In the log I see a lot of these messages:

Stack Signature for the dump is 0x&D179C48
Could not open FCD for invalid file ID 21761 in database'sal'
I/O error (bad page ID) detected during read at offset 0x00000b64d2000
How can this be fixed?
How can I rebuild the index for one table / check integrity of one table? What kind of actions may caused this corruption (if it is corruption) ?
How can it be prevented?

I hope someone can help.

Regards,

Rene


Jul 20 '05 #3

P: n/a
Rene (no@spam.nl) writes:
Thanks for you answer. We have a raid 5 and daily backup, but this record
was insert in may but we discovered it yesterday. I don't think a backup
strategy can handle this.


Nope. But a good backup strategy may make it possible to easy recover
from a problem like this.

The error you get has number 644. Search for 644 in Books Online, and
you will find an article that describes you should handle this problem.
--
Erland Sommarskog, SQL Server MVP, so****@algonet.se

Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techinf...2000/books.asp
Jul 20 '05 #4

P: n/a
"Erland Sommarskog" <so****@algonet.se> schreef in bericht
news:Xn*********************@127.0.0.1...

Nope. But a good backup strategy may make it possible to easy recover
from a problem like this.


I've read some article on the net where the corruption was undetected for a
long time, even the oldest backup was corrupted. Should be hard to recover,
not?

Rene

Jul 20 '05 #5

P: n/a
Rene (no@spam.nl) writes:
I've read some article on the net where the corruption was undetected
for a long time, even the oldest backup was corrupted. Should be hard to
recover, not?


Yes, I have run into a case where a DBCC CHECKDB did not show any errors,
but when you restroed the backup, there were errors. I should add that
this was with SQL Server 6.0.

But it is definitely a good idea to every now and then restore a backup
and run a DBCC on the restored copy. As it is to every now and then to
restore a database, and then apply transaction log dumps to a certain
point in time. That is also part of a backup strategy: make certain
that if the disaster strikes that you actually know that the restore
procedures are working.
--
Erland Sommarskog, SQL Server MVP, so****@algonet.se

Books Online for SQL Server SP3 at
http://www.microsoft.com/sql/techinf...2000/books.asp
Jul 20 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.