Solved

How Do I Recover Corrupt WSUS DataStore.edb

Posted on 2007-04-10
4
6,168 Views
Last Modified: 2013-12-05
A bad UPS killed my WSUS installation and I had to reinstall WSUS, including MSDE, to get it running again.  It's working fine now, except I am continually getting the following errors in the machine's application log:
--------------------------------------------------------------------------------------------------------
Event Type:      Error
Event Source:      ESENT
Event Category:      Logging/Recovery
Event ID:      452
Date:            4/10/2007
Time:            4:42:46 PM
User:            N/A
Computer:      WHIRLWIND
Description:
wuaueng.dll (1668) SUS20ClientDataStore: Database C:\WINDOWS\SoftwareDistribution\DataStore\DataStore.edb requires logfiles 13-15 in order to recover successfully. Recovery could only locate logfiles starting at 15.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
--------------------------------------------------------------------------------------------------------
followed by
--------------------------------------------------------------------------------------------------------
Event Type:      Error
Event Source:      ESENT
Event Category:      Logging/Recovery
Event ID:      454
Date:            4/10/2007
Time:            4:42:46 PM
User:            N/A
Computer:      WHIRLWIND
Description:
wuaueng.dll (1668) SUS20ClientDataStore: Database recovery/restore failed with unexpected error -543.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
--------------------------------------------------------------------------------------------------------
The event pair occurs every 30 minutes.  The database in question, DataStore.edb, has not been modified since the problems with the UPS led to its corruption.  The log files it wants are no where to be found, so I'm at a loss how to resolve this.   The files in the log directory are as follows:

03/18/2007  11:28 AM             8,192 edb.chk
04/10/2007  04:42 PM           131,072 edb.log
03/18/2007  11:28 AM           131,072 edb0000D.log
03/18/2007  11:28 AM           131,072 edb0000E.log
03/18/2007  10:29 AM           131,072 res1.log
03/18/2007  10:29 AM           131,072 res2.log
0
Comment
Question by:novumprs
  • 2
4 Comments
 
LVL 14

Accepted Solution

by:
Erik Pitti earned 500 total points
ID: 18886520
WSUS itself is probably fine since it stores its data in SQL, not an ESENT db, the Automatic Updates service on that box is however, hosed.  Here's how to fix automatic updates.

NET Stop WUAUSVC
NET Stop BITS

Rename C:\Windows\SoftwareDistribution to C:\Windows\SoftwareDistribution.old

NET Start WUAUSVC

ADMIN EDIT: "WUAUSERV" per asker request.

Goto Windows Update and download available updates.

0
 

Author Comment

by:novumprs
ID: 18891952
That seems to have done the trick - thanks!!

One minor note: on my W2K3 server, the update service is WUAUSERV vice wuausvc.
0
 
LVL 14

Expert Comment

by:Erik Pitti
ID: 18894631
Thanks. Re-posting with corrected service names:


WSUS itself is probably fine since it stores its data in SQL, not an ESENT db, the Automatic Updates service on that box is however, hosed.  Here's how to fix automatic updates.

NET Stop WUAUSERV
NET Stop BITS

Rename C:\Windows\SoftwareDistribution to C:\Windows\SoftwareDistribution.old

NET Start WUAUSERV


Goto Windows Update and download available updates.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Via a live example, show how to shrink a transaction log file down to a reasonable size.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

709 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now