SQL to SQL Database Migration

This guide describes overall a database migration from an On-Premise or local installed SQL Server instance to another On-Premise or local installed SQL Server instance. Silverback remains in this guide on the current host. In case your SQL and Silverback are running on the same Host and you want to migrate both, please refer to Migration I: Silverback Server to Server as well to ensure you will migrate all your required certificates as well.

This guide covers not all parts of networking, access management etc. and uses the easiest approach to generate a quick going forward process for this scenario.

 

What you will need

  • Access to your current SQL Server and Database 
  • Access to your new SQL Server
  • Administrative privileges on your current Silverback Server
  • Domain Administrative privileges in case your current Server is Domain Joined
  • Admin Account for the Silverback Management Console
  • A valid connection possibility from your current Silverback Server to your new SQL Server

SQL Migration

Server Preparation

  • Prepare the new SQL Server by reviewing the System Requirements for SQL Servers from Installation Guide I: System Requirements
  • Verify that your new SQL Server is running on the same date and time as the Silverback Server
  • Verify your current connection settings in the Silverback Management Console
    • Open your Silverback Management Console
    • Login as Settings Administrator
    • Navigate to Connection String
    • Review and note down your current Connection settings
  • Ensure that on the new SQL Server you have the same user account with the same permissions as on your current SQL Server

Stop Services

  • Start a CMD or Powershell Command
  • Type: stop-service w3svc,silv*,epic*,mat* on the Silverback Server

From this point your current Silverback Management will be offline and no changes will be made to your current database

 

Database Migration

This section describes how to migrate the Silverback database from one on-premise SQL Server to another using native SQL Server Backup and Restore methods. The overall goal of this process is to ensure that the database is transferred to the new SQL Server and that all required permissions and access configurations are consistent with the current production environment.

Create Backup on Source SQL Server

  • Connect to your current SQL Server
  • Open File Explorer and create a local directory
    • Example: C:\Migration
  • Open SQL Server Management Studio (SSMS) and connect to your Server
  • Right-click your Database and select Tasks and Back up…
  • Ensure Backup type is set to Full
  • In the destination section area, enter your backup destination
    • Example: C:\Migration\Silverback_<DATE>.bak
  • Press OK and wait until the backup is completed
  • Once the backup is finished, click OK

Review Source Permissions

  • Expand your database and navigate to Security, followed by Users
  • Review the listed accounts and review your previously noted down connection string
  • You should find a matching account or role listed that includes your credentials used for the Silverback connection string 

Transfer Database

  • Copy the created backup file from C:\Migration\Silverback_23062026.bak and move the file to a network share accessible by the target SQL Server:
    • Example: \\Fileshare\Migration\Silverback_23062026.bak
  • Connect to your target SQL Server.
  • Create a local directory:
    • Example: C:\Migration\
  • Copy the backup file from the network share to:
    • C:\Migration\Silverback_23062026.bak

Restore Database on Target SQL Server

  • Open SQL Server Management Studio (SSMS) on the target SQL Server
  • Right-click Databases 
  • Select Restore Database…
  • Select Device and choose the backup file from: C:\Migration\Silverback_23062026.bak
  • Press OK 
  • Wait until the Restore process is finished
  • Once the database restored successfully, confirm with OK

Review Target Permissions

  • After restoring, expand your database and navigate to Security, followed by Users
  • Locate the account used by the Silverback connection string
  • Please note at this stage that Database users are included in the backup, but SQL Server logins are not.
  • If the login does not already exist, you must create the corresponding login on your target SQL Server.

Create Login (optional)

  • To create a Windows-based login:
    • Expand Security and expand Logins
    • Right-click and select New Login…
    • Add the domain account or group (e.g. Silverback Enterprise Device Management)
  • Navigate to User Mapping and map the account to the Silverback database
  • Confirm with OK

User Mapping

For Windows-based accounts (Active Directory users or groups), the mapping between login and database user may occur automatically after creating the login. If the user is not mapped automatically, assign it manually in the “User Mapping”.

 

Database Verification

When the Database migration has been finished, we want to ensure the presence of the database on the new SQL Server and check the user login with our previously used user account. 

  • Open your Microsoft SQL Server Management Studio
  • Enter your Server name and your authentication information
  • Click Connect
  • Expand your Server
  • Expand Database
  • Locate your mirrored Silverback Database
  • Right Click properties of the Database and review file size (optional)
  • Proceed with Connection String

Connection String

When the Database migration has been successfully finished and you are able to connect to the database, it is time to replace your current Silverback Connection string from your current On-Premise Database to the new mirrored database and location.

Connection String Backup and Deletion

  • Connect via RDP to your Silverback Server
  • Right the Search Icon and open the Registry Editor
  • Confirm with Yes
  • Expand to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\MATRIX42\
  • Right Click Silverback
  • Select Export
  • Enter a file name, e.g. Silverback Registry Backup
  • Click Save or save the backup to a different location
  • Now right click SilverbackConnection 
  • Select Delete
  • Confirm with Yes

If you accidentally deleted the entire Silverback registry folder, you can restore it by importing the previously created registry backup. After restoring the path and the keys, ensure that the NETWORK SERVICE account has Full Control permissions on the restored registry path. Once the permissions are set correctly, delete only the SilverbackConnection entry again and continue with the process.

 

Restart Internet Information Services

  • Open Internet Information Services Manager
  • Select your Server
  • Click in the right pane under Actions Restart
  • Wait until the restart process is finished

Create your new Connection String

  • Open your Browser
  • Open localhost/admin
  • Ignore the certificate warning message and continue with access to Silverback Website
  • Enter now your new SQL Database settings
Setting Description Mandatory
Use Azure SQL Ensure that this setting is not enabled No
Data Server Address Network location of the new SQL Server. Enter the new IP-Address, FQDN or localhost Yes
Failover Database Server Address If using, enter an optional SQL server that will be used if the primary is not available No
Database Name Enter here the previously used Database name Yes
Use SQL Authentication By default, SQL Authentication is enabled. Enter your previously used Username and Password for SQL Authentication. By disabling the Windows permissions will be used to access the SQL Server. No
Web Settings Certificate Thumbprint Ensure that your currently used Web Settings Certificate is selected Yes
  • Perform a cross-check
  • Click Save

In case you entered a wrong Database settings, delete again the ConnectionString Registry Key and restart the IIS and re-open localhost/admin.

 

Start Services

  • Start a CMD or Powershell Command
  • Type: restart-service w3svc,silv*,epic*,mat*
  • Refresh your Localhost Browser Session to see the Admin Login Page for Silverback Console
  • Then continue with entering the settings admin credentials to login into console
  • Navigate to "Connection String" and check if all settings are presented correctly 

Next Steps

  • Try to enroll a new device or send Tags to existing devices to see if anything works as before