Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

“Invest in yourself — your confidence is always worth it.”

Explore Cosmetic Hospitals

Start your journey today — compare options in one place.

How to Move a Visual SourceSafe Project to Another Database Without Losing History

Moving projects between Visual SourceSafe (VSS) databases without losing version history is possible when you use VSS archive and restore workflows correctly. This guide is for VSS administrators who need a safe, repeatable migration path and want clear steps for both GUI and command-line methods.

Originally published on 2009-10-06; fully revised and updated.

Visual SourceSafe project archive and restore

What this procedure solves

Use this approach when you need to move one or more VSS projects to another database and keep their history intact.

  • Copy a VSS project from one database to another without losing history
  • Move VSS projects to a new server or location
  • Transfer projects across databases while preserving change history
  • Perform a migration with either interactive or scriptable tooling

Applies to, prerequisites, and constraints

According to the original guidance, this process applies to Microsoft Visual SourceSafe 5.0 Standard Edition and Microsoft Visual SourceSafe 6.0 Standard Edition, and requires VSS 5.0 or later.

  • Use SSARC and SSRESTOR (included with VSS) if you want command-line control.
  • You need SourceSafe Admin privileges.
  • For cross-database restore, the archive must include the latest versions of files in the project.
  • After restore, physical file renaming may require reconnecting or rebinding tools integrated with VSS.
  • Before archive/restore, ensure no one is using the database and that maintenance jobs (such as ANALYZE) are not running during the operation.

Choose a migration method

MethodToolingBest forTrade-offs
Administrator GUIArchive Projects / Restore Projects wizardOne-off or occasional migrationsSimple to follow, but manual and less automatable
Command lineSSARC and SSRESTORRepeatable operations, logging, scheduled tasksRequires switch accuracy and careful credential handling

Archive and restore workflow

flowchart TD
    A[Plan migration window] --> B[Confirm admin access]
    B --> C[Ensure no active users]
    C --> D[Archive source project]
    D --> E[Copy SSA archive file]
    E --> F[Open target database]
    F --> G[Restore project]
    G --> H[Validate history and labels]
    H --> I[Reconnect integrated projects]
    I --> J[Take fresh backup]

Method 1: Use Visual SourceSafe Administrator

Archive from the source database

  • Ensure no users are connected, and pause operations such as ANALYZE during the archive.
  • Open the source database in Visual SourceSafe Administrator.
  • Go to the Archive menu and select Archive Projects.
  • Select the project(s) to archive.
  • Choose archive options and output file location.
  • Set version scope for archived data.
  • Add a comment describing the archive.
  • Finish the wizard to generate the .ssa archive file.

Restore into the target database

  • Ensure no users are connected to the target database, and pause ANALYZE during restore.
  • In Visual SourceSafe Administrator, open the target database.
  • Go to the Archive menu and select Restore Projects.
  • Select the archive file to restore from.
  • Choose which items to restore.
  • Set restore options and destination as needed.
  • Add a comment documenting the restore.
  • Finish, then verify that restored items are in the intended location.

Method 2: Use SSARC and SSRESTOR from the command line

The following examples are preserved from the original guidance and are useful as templates. Validate switch behavior in your VSS version before running in production.

SSARC examples

SSARC -d- -yadmin,password archive.ssa $/
SSARC -d- "-vlProduction Release" -yadmin,password -olog.txt archive.ssa $/Test
SSARC -d -x -yadmin,password archive.ssa "$/Project Global Domination" $/OtherProject
SSARC -i -yadmin,password -olog.txt "-cArchive Everything" archive.ssa $/Code language: JavaScript (javascript)
  • Archive the full database while leaving database contents unchanged.
  • Archive project data since a label and write a log file.
  • Archive multiple projects with deletion-related options from the original example set.
  • Run non-interactively with logging and an archive comment (useful for scheduled tasks).

SSRESTOR examples

SSRESTOR -la -yadmin,password archive.ssa $/
SSRESTOR "-p$/Test 2" -sD:\newfolder\ -yadmin,password backup.ssa $/TestCode language: JavaScript (javascript)
  • List archived contents before restoring.
  • Restore a project from an archive to a different project path/location in another database context.

Post-restore validation checklist

  • Confirm project tree and folder structure in the target database.
  • Open file history for multiple files and verify expected revisions.
  • Verify labels and comments that should have been preserved.
  • Check for duplicate-name conflicts or skipped items.
  • Reconnect external integrations that depended on old physical file mappings.
  • Create a fresh backup of the target database after successful validation.

Common pitfalls and best practices

  • Back up before every archive or restore, and keep copies in multiple locations.
  • Test restore procedures on a non-production database before touching live data.
  • Avoid permanent deletes unless you have verified restoreability.
  • Do not run migrations while users are active in the same database.
  • Protect credentials; avoid exposing admin passwords in shared scripts or logs.
  • Document archive comments and logs so changes are auditable later.

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services — all in one place.

Explore Hospitals
I'm Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms. I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.

Related Posts

Team Foundation Server 2015 Installation Guide (SQL Express + Update 3)

Install Team Foundation Server 2015 using the original Microsoft download paths, with clear guidance for online, offline, and ISO-based setup. This revised guide also includes an installation workflow, command example, and practical pitfalls to avoid.

Read More

How to Access a Running Docker Container Shell: docker exec vs docker attach

Need a shell inside a running container that is already in detached mode? This updated guide shows the correct workflow, compares docker exec and docker attach, and explains when SSH does and does not make sense.

Read More

Host Your Own NuGet Feed: Local Source vs NuGet.Server vs NuGetGallery

Learn how to host a private NuGet feed using three practical approaches: a local folder source, NuGet.Server, and NuGetGallery. This revised guide includes setup steps, command examples, and a workflow diagram to help you choose the right model.

Read More

Publish NuGet Packages to NuGet.org: CLI Steps, Workflow, and CI Example

Learn how to publish a NuGet package to NuGet.org using either nuget.exe or the dotnet CLI. This revised guide includes a workflow diagram, command comparison, and a CI-friendly example.

Read More

How to Create NuGet Packages with nuget.exe (Assembly, .nuspec, and .csproj Methods)

Learn three practical ways to build NuGet packages using nuget.exe: from an existing assembly, from a convention-based folder layout, or directly from a Visual Studio project. This guide includes commands, folder conventions, token behavior, and common pitfalls.

Read More

Virtualization in DevOps: Using Vagrant, Docker, and Cloud Platforms Together

This guide explains how VM-based workflows, containers, and cloud platforms complement each other in DevOps. It includes a practical workflow, trade-off table, and command examples for day-to-day use.

Read More
Subscribe
Notify of
guest
0 Comments
Newest
Oldest Most Voted
0
Would love your thoughts, please comment.x
()
x