Running Analyze may improve SOS performance

A collection of information about SourceOffSite, including solutions to common problems.

Moderator: SourceGear

Post Reply
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Running Analyze may improve SOS performance

Post by lbauer » Fri Jan 16, 2004 4:42 pm

"Part of the file history is missing on some of my SOS files . . ."

"My SOS server has started crashing . . ."

"I'm getting an error message when getting a file by label . . ."

Although the symptoms may vary, many SOS errors reported to
SourceGear Technical Support have the same cause - database corruption.

The SOS Server communicates with the VSS database via the SourceSafe
Automation component (ssapi.dll). Sometimes files get into an abnormal state
in the database which causes the Automation component to hang, and that causes
problems for SOS.

The user might report that things seem fine when they're using the VSS client.
The Automation component, however, is much less tolerant of small database errors,
so these errors affect SOS more.

For that reason, running Analyze is the first step in dealing with most SOS database-related issues.
Even if it's not the final solution, at least troubleshooting starts with a clean database.

According to VSS documentation, Analyze.exe scans a VSS database for integrity and/or errors,
displays the errors and, if set to do so, fixes them. Microsoft recommends that VSS administrators
run Analyze.exe every week to verify that there are no problems in the VSS database.

Administrators can run Analyze.exe manually from the command line, or as part of a script
for unattended operation, to analyze or fix the problem. Analyze.exe is in the WIN32 folder
under the folder in which you installed VSS.

The SOS Server always keeps a connect thread going to VSS, so
even if all users are logged out, the SOS Server still logged in as a "client."

We've found it's best to stop the SOS Server service if you're going to do
database maintenance.

To start and stop the SOS 5.0 Server Service from a command
prompt, type:
Net Start sossvrsvc5 or Net Stop sossvrsvc5
You can add this to your automated script.

We recommend that you run Analyze.exe twice, first with the -f parameter (to fix any errors found), and the second time with the -c parameter to check if any errors remain.

You can find more information about the Analyze utility within the VSS Explorer.
The route in VSS6 is Help ->Contents -> Reference Guide ->VSS Utilities.

Also, these Microsoft KB articles have information about best practices to minimize database corruption in VSS.

VSS 2005: ... S.80).aspx

Linda Bauer
Technical Support Manager

Post Reply