ServersSMS Site Recovery Overview

SMS Site Recovery Overview

ServerWatch content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

by Dana Daugherty

prepared before failure happens. This
article will help you become
familiar with the process of site recovery.

Dana Daugherty’s latest
contribution helps you become more familiar with the process of
SMS site recovery. The article specifically focuses on repairing
and resynchronizing tasks that you should perform on recovered

describes a SMS recovery as installing a SMS site with the
same site code and server name of a site that was previously
used in that hierarchy. The central tasks of a recovery
include repairing and resynchronizing data. These tasks are
extremely important for minimizing down time and ensuring that
data is not corrupted.

any of these scenarios occur the entire site will need to be

  • The computer on which the site
    server or the SMS site database is installed fails.

  • The drive containing Microsoft
    Windows. NT 4.0 operating system, Microsoft SQL
    Server, or SMS fails.

  • Windows NT fails and must be

  • The file system becomes

  • SQL Server fails and must be

  • The SQL Server database (or
    databases) becomes corrupted.


Why a Full Recovery is Necessary in
These Scenarios

SMS has pieces in many locations of
a server. Registry settings, Windows NT2000 operating system,
SMS directory and SQL database all contain site specific
information that changes based on several factors. The
information located at these locations use codes to ensure
synchronization. If the codes get out of synch, the results
could stop your SMS site dead in its tracks.

For example, let’s say you need to
restore the registry of the primary server. One location of
the SMS key holds the Transaction ID. If this number gets out
of sync, the site wont be able to replicate data.

The phases of a recovery

  1. Planning for maximum uptime

  2. Implementing procedures

  3. Backing up data

  4. Failure

  5. Rebuilding servers

  6. Restoring data (optional)

  7. Repairing/Resynchronizing

  8. Verifying success

  9. Understanding the cause of

  10. Loop back to step 1

RecoveryResynchronization Tasks

This article focuses on step 7,
repairing/resynchronizing. Below are two of several tasks that
you should perform on recovered sites:

Increment the Transaction
– Sites send
transactions both up and down the hierarchy. The recovering
sites transaction ID needs to be higher than any .trs files
on sites that will receive transactions from the recovering
site. (SMSinboxesreplmgr.boxhistory)

The recovering site’s transaction ID is
stored in the site’s registry

Increment Serial Numbers in the Site
Database (SQL 7.0)

Run this query from Query Analyzer:

Use SmS_Site_Code

Select * From NextIDS

Calculate the new values for the serial
numbers NextCollectionId, NextOfferId, and NextPackageId using
the method appropriate to your situation:

Site database never failed, not restored.
Add 20 to the values found in the NextIDS table for
NextCollectionID, NextOfferID, and NextPackageID; this will
prevent collisions.

Site restored from an SMS backup. Child
sites store these values in
SMSInboxesReplmgr.boxhistorySite_Code.TRS. Take a
sampling of child site .TRS files and compare the highest
values for NextCollectionId, NextOfferId, and NextPackageId to
the values in the site database’s NextIDS table. Add 20 to the
highest of the two values.

No SMS backup, but child sites are
Take a sampling of child site .TRS files (as
described above), and then add 20 to the highest values


Changing Values in the NextIDS Table

 In the following examples, replace
value with the new decimal values you have calculated.
Queries are executed by clicking the green arrow on the

On the site database computer, open
Microsoft SQL Server 7.0, Query

Make the site database the current database
by running the following query:

USE SMS_Site_Code

Run the following query:

UPDATE NextIds SET IdValue = value
WHERE IdName = ‘NextCollectionId’

Run the following query:

UPDATE NextIds SET IdValue = value
WHERE IdName = ‘NextPackageId’

Run the following query:

UPDATE NextIds SET IdValue = value
WHERE IdName = ‘NextOfferId’


For more information on Site
RepairRecovery click on the link and scroll down to the
Repair section:

Get the Free Newsletter!

Subscribe to Daily Tech Insider for top news, trends & analysis

Latest Posts

Related Stories