From: HP on
Hi,

I am working on sql server 2008.
I am getting a error that says:
Attempt to fetch logical page(1:2986) in database 2 failed. It belongs to
allocation unit 64.......not to 53........

If i run that SP in sql it shows no error and return the result set.
But if i run that sp from vb.net code it give me above error.
Plese help

Thanks,
Hemant


From: Erland Sommarskog on
HP (HP(a)text.com) writes:
> I am working on sql server 2008.
> I am getting a error that says:
> Attempt to fetch logical page(1:2986) in database 2 failed. It belongs to
> allocation unit 64.......not to 53........
>
> If i run that SP in sql it shows no error and return the result set.
> But if i run that sp from vb.net code it give me above error.

The reason it works in one place but not in another, maybe due to different
query plans, which in its turn is due to different default settings for
ARITHABORT.

In this case it is the error you get when you use VB .Net that is relevant,
because it is mean that your database is corrupted. Run DBCC CHECKDB on the
database, and pay attention to what it says about repairing the errors.

Beware that corruption does not come out of the blue, but are likely to be
due to hardware errors. That is, it is likely that your disk is about to
fall into pieces. Could also be a bad memory stick.

Is this a production database, or just a development database.


--
Erland Sommarskog, SQL Server MVP, esquel(a)sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000: http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx

From: HP on
Thanks,

This is a production database.


thanks,
Hp
"Erland Sommarskog" <esquel(a)sommarskog.se> wrote in message
news:Xns9DC470FE777FCYazorman(a)127.0.0.1...
> HP (HP(a)text.com) writes:
>> I am working on sql server 2008.
>> I am getting a error that says:
>> Attempt to fetch logical page(1:2986) in database 2 failed. It belongs to
>> allocation unit 64.......not to 53........
>>
>> If i run that SP in sql it shows no error and return the result set.
>> But if i run that sp from vb.net code it give me above error.
>
> The reason it works in one place but not in another, maybe due to
> different
> query plans, which in its turn is due to different default settings for
> ARITHABORT.
>
> In this case it is the error you get when you use VB .Net that is
> relevant,
> because it is mean that your database is corrupted. Run DBCC CHECKDB on
> the
> database, and pay attention to what it says about repairing the errors.
>
> Beware that corruption does not come out of the blue, but are likely to be
> due to hardware errors. That is, it is likely that your disk is about to
> fall into pieces. Could also be a bad memory stick.
>
> Is this a production database, or just a development database.
>
>
> --
> Erland Sommarskog, SQL Server MVP, esquel(a)sommarskog.se
>
> Links for SQL Server Books Online:
> SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
> SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
> SQL 2000:
> http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
>


From: Erland Sommarskog on
HP (HP(a)text.com) writes:
> This is a production database.

Well to make it clear: you have a problem. Again, run DBCC and inspect what
it says. Note that if the database is big and corruption is severe, this can
take a long time to run. If the errors are repairable you are lucky. If they
are not: your problems are even bigger.

In the meanwhile you can investigate what backups you have. Keep in mind
that if the corruption has been going on for a while, the backups may also
include the corruption. If you have maintenance jobs running that runs
CHECKDB regularly, check the logs. This can give an indication of who long
this has been going on.

What you also should do is to plan a migration to new hardware. If there is
a box available, move to it immediately. The current hardware should be
considered tainted.

Since you asked about this from a VB .Net perspective, I assume that you are
only a developer, and there may be other people who are DBA or storage
admin. In that case, these are the people to take over, and you should alert
them.

But whatever, you should act NOW! You may have repairable errors now, but if
the hardware continues to be flaky, you may have unrepairable errors
tomorrow and data loss.

Finally, if you (or your organisation) are uncertain how to deal with this
situations, don't shudder to open a case with Micorosoft, or find a local
consultant to help you. It will cost you an arm and a leg, but ask yourself:
how much would it cost to lose the entire database? (And, yeah, if there are
multiple databases on this machine, all should be examined.)

--
Erland Sommarskog, SQL Server MVP, esquel(a)sommarskog.se

Links for SQL Server Books Online:
SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
SQL 2000: http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx

From: HP on
Hi,

Thanks for reply

I have run CHECKDB and get below message
CHECKDB found 0 allocation errors and 0 consistency errors in database
'db_Name'.

I think there may be another issue.

Thanks

HP

"Erland Sommarskog" <esquel(a)sommarskog.se> wrote in message
news:Xns9DC4797EE8860Yazorman(a)127.0.0.1...
> HP (HP(a)text.com) writes:
>> This is a production database.
>
> Well to make it clear: you have a problem. Again, run DBCC and inspect
> what
> it says. Note that if the database is big and corruption is severe, this
> can
> take a long time to run. If the errors are repairable you are lucky. If
> they
> are not: your problems are even bigger.
>
> In the meanwhile you can investigate what backups you have. Keep in mind
> that if the corruption has been going on for a while, the backups may also
> include the corruption. If you have maintenance jobs running that runs
> CHECKDB regularly, check the logs. This can give an indication of who long
> this has been going on.
>
> What you also should do is to plan a migration to new hardware. If there
> is
> a box available, move to it immediately. The current hardware should be
> considered tainted.
>
> Since you asked about this from a VB .Net perspective, I assume that you
> are
> only a developer, and there may be other people who are DBA or storage
> admin. In that case, these are the people to take over, and you should
> alert
> them.
>
> But whatever, you should act NOW! You may have repairable errors now, but
> if
> the hardware continues to be flaky, you may have unrepairable errors
> tomorrow and data loss.
>
> Finally, if you (or your organisation) are uncertain how to deal with this
> situations, don't shudder to open a case with Micorosoft, or find a local
> consultant to help you. It will cost you an arm and a leg, but ask
> yourself:
> how much would it cost to lose the entire database? (And, yeah, if there
> are
> multiple databases on this machine, all should be examined.)
>
> --
> Erland Sommarskog, SQL Server MVP, esquel(a)sommarskog.se
>
> Links for SQL Server Books Online:
> SQL 2008: http://msdn.microsoft.com/en-us/sqlserver/cc514207.aspx
> SQL 2005: http://msdn.microsoft.com/en-us/sqlserver/bb895970.aspx
> SQL 2000:
> http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
>