Question

How to recover corrupted database file( .mdf .ldf).

Asked by: Solidfire

I run MSDE on a Windows XP Server and i found that my database was marked as "suspect" by Enterprise Manager and its icon become gray.
I detach that database and try to re-attach it but there is an error as the following:

Error 3624:
Location : page.cpp:2801
Expression: rowLength >= offset + deleteLenght
SPID : 56
Precess ID:1612

After that, I uninstall the MSDE and re-install new MSDE SP4 and try to re-attach the database file again and there is still an error. I also encounter the same error with MS SQL 2000 Server
Remark: I have all the database file (database.mdf and database.ldf).

Is there anyway i can  recover the data from that database?

PS. I already notice that there's a MSSQLRecovery program.
PS. I have the backup data but it's too old.

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2005-11-30 at 23:05:31ID21648997
Tags

database

,

sql

,

recover

,

corrupt

,

mdf

Topic

MS SQL Server

Participating Experts
3
Points
500
Comments
16

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Protect MDF & LDF Files
    Hi, Is there any way to protect the MDF & LDF files in SQL Server 2000 ? I tried many ways to prevent any person to access my database but it never works because by copying those files and opening them on SQL 2000 Enterprise Manager on any another computer, user can acce...
  2. How to recover an MSDE database from MDF and ldf files
    Hi all, I inherited a new network recently from another administrator. The server left with the previous admin. A new server has been purchased to replace it. On the old server was an msde 2000 sp4 installation containing an inventory database. The previous admin left me th...
  3. How to attach SQL 2000 database (MDF) without a L…
    Hi.. I have a big problem, hope that you can help... I have windows 2003 server with CA brightstor 11.0 (Build 2670) and is making backup to all my SQL Servers. so I need to restore a database where the MDF file is 4 GB and the LDF file 111 GB. So right now I already res...
  4. .mdf and .ldf
    Hi can someone please give me a brief explaination of whet the following files are used for .mdf (main data file) .ldf (log data file) Thanks

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: angelIIIPosted on 2005-11-30 at 23:15:02ID: 15394611

if the database file is corrupt, and you cannot restore from a good backup, reinstalling the software cannot help.
also, re-attaching the database files will not (cannot) solve the corruption.


to reset the suspect status:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/trblsql/tr_servdatabse_494j.asp

once you can reaccess the db, try DBCC CHECKDB:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_dbcc_00gy.asp

 

by: JulianvaPosted on 2005-11-30 at 23:31:50ID: 15394641

What did you do before the db wass marked suspect.??

Did you do bulk insert

There is a bug in SQl that marks the db as suspect after bulk insert

search for the fix on microsoft.com





 

 

by: SolidfirePosted on 2005-11-30 at 23:41:52ID: 15394671

Most of that database transaction was insert operation.

I already search in microsoft website and found the hotfix which i already re-install MSDE with SP4 which include that hotfix.

Is there anyway I can attach my database file into server(even there's an error in the mdf file) so that I can try to fix the problem further.

 

by: JulianvaPosted on 2005-12-01 at 00:04:19ID: 15394752

try to attach the single file to an existing database thats online
make sure that the file names are not the same, you can rename the detached file

EXEC sp_attach_single_file_db @dbname = 'databasename',
   @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\yourdbfile.mdf'


Good luck

 

by: JulianvaPosted on 2005-12-01 at 00:07:25ID: 15394765

Try this

create a database on the server then detach the database and attach the single file

EXEC sp_detach_db @dbname = 'databasename'
EXEC sp_attach_single_file_db @dbname = 'databasename',
   @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\datafile.mdf'



 

by: SolidfirePosted on 2005-12-01 at 00:21:55ID: 15394800

EXEC sp_attach_single_file_db @dbname = 'databasename',

This give me and error indicate that there's missing the database.ldf file.
And if I didn't rename the .ldf file and attach the database using the syntax, The same old error occur :

Location : page.cpp:2801
Expression: rowLength >= offset + deleteLenght
SPID : 56
Precess ID:1612

 

by: sparabPosted on 2005-12-01 at 00:35:03ID: 15394847

I belive if your database is in suspect mode you can try out this method.

Open Query analyzer for the server
select Master database
update sysdatabases
set status = status & ~256
where name = 'MySuspectDatabase'

Then followed by this command
update sysdatabases
set status = status | -32768
where name = 'MioSuspectDatabase'

After this command you must stop and restart the SQL Server service. The Emergency Mode prevents SQL Server from restoring the suspect database, which now appears to be available. If the database is now accessible, you should be able to read data using standard techniques, such as a bulkcopy command or SELECT INTO commands.

Or you can create new database and transfer all data tables and queries thourgh DTS Wizard.
Warning When you are using DTS wwizard it will only ccopy data not constaraints indexes and defaults. So make sure generate script of old database.

I hope this will work like charm for you .If not then let me know i can give you other solution.

 

by: SolidfirePosted on 2005-12-01 at 00:45:05ID: 15394884

Unfortunately, I only have un-attach database file so i can't use any SQL command with it.
I looking for the way to attach the database file into the server right now.

 

by: JulianvaPosted on 2005-12-01 at 01:12:58ID: 15394999

What happens when you rename the ldf file and try to attach

 

by: SolidfirePosted on 2005-12-01 at 01:22:51ID: 15395036

By using :

EXEC sp_attach_single_file_db @dbname = 'databasename',
   @physname = 'D:\DataFolder\datafile.mdf'

I get this error message :

Server: Msg 1813, Level 16, State 2, Line 1
Could not open new database 'databasename'. CREATE DATABASE is aborted.
Device activation error. The physical file name 'D:\DataFolder\datafile.ldf' may be incorrect.



 

by: JulianvaPosted on 2005-12-01 at 02:00:26ID: 15395182

try to attach both like so

EXEC sp_attach_db @dbname = N'pubs',
   @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
   @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

please attach to the correct database name as when the database was on line

 
or
create a database first then attach the single file using that database name in the query

is you mdf file called datefile.mdf?? - make sure you specify the correct file name

EXEC sp_attach_single_file_db @dbname = 'databasename',
   @physname = 'D:\DataFolder\datafile.mdf'

 

by: SolidfirePosted on 2005-12-01 at 02:37:06ID: 15395316

Thank you for the help. I'll check this topic again tomorrow.

good bye for today.

ps. for the attachment issue, i don't think it'll work by just normal attachment, because the database file was corrupt when i detached it(it was mark as suspect).

 

by: sparabPosted on 2005-12-01 at 03:25:20ID: 15395468


Have u tried out the old way of creating empty database with same name.
Stop sql server
Paste database at the same location ...
And restart the server ....

Does it helping u out .....

Let me know what is the result ..... so that i can give u other solution.

 

by: SolidfirePosted on 2005-12-02 at 01:29:48ID: 15403362

I already try sparab's method and succesfully attach the database back to the server. Thank you.

But, after that i try to recover the database by using sp_resetstatus and dbcc_checkdb that angelIII have suggest and get the error.

I get this from the "sp_resetstatus MyDatabase" :
Prior to updating sysdatabases entry for database 'MyDatabase', mode = 0 and status = 1073741840 (status suspect_bit = 0).
No row in sysdatabases was updated because mode and status are already correctly reset. No error and no changes made.

And i get this from "DBCC_CheckDB ('MyDatabase', REPAIR_FAST )" :
Server: Msg 945, Level 14, State 2, Line 1
Database 'MyDatabase' cannot be opened due to inaccessible files or insufficient memory or disk space.  See the SQL Server errorlog for details.

 

by: sparabPosted on 2005-12-02 at 01:44:34ID: 15403415

ok now database is in which state is it in normal mode ?????????????

If it is suspect mode why don't u try method given by me?????

 

by: SolidfirePosted on 2005-12-02 at 02:16:45ID: 15403535

A lot of Thank for all of you. My problem is solved.

sparab :
Have u tried out the old way of creating empty database with same name.
Stop sql server
Paste database at the same location ...
And restart the server ....

Open Query analyzer for the server
select Master database
update sysdatabases
set status = status & ~256
where name = 'MySuspectDatabase'

Then followed by this command
update sysdatabases
set status = status | -32768
where name = 'MySuspectDatabase'

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...