This guide walks through migrating a SQL Server database from a source server to a destination server, covering schema scripting, database creation, and data transfer using both Generate Scripts and the Import/Export Wizard.vThis guide walks through migrating a SQL Server database from a source server to a destination server, covering schema scripting, database creation, and data transfer using both Generate Scripts and the Import/Export Wizard.v

How to Migrate an SQL Server Database: A Complete Step-by-Step Guide

2025/12/08 22:06
4 min read
For feedback or concerns regarding this content, please contact us at [email protected]

Database migration is a common task when moving to a new server, creating backups, or setting up development/staging environments. In this guide, we’ll walk through the complete process of migrating a database from a source server to a destination server, including both the database structure and data.

Use Case

We have:

  • Source Server: Contains database TestDB with a cities table
  • Destination Server: Empty server where we need to create a clone of TestDB
  • Goal: Migrate database schema and copy all data to the destination

Prerequisites

  • SQL Server Management Studio (SSMS) installed
  • Access credentials for both source and destination servers
  • Appropriate permissions (CREATE DATABASE, db_owner)

Part 1: Setting Up Sample Data (Source Server)

First, let’s create our sample database on the source server:

-- Connect to Source Server in SSMS -- Create TestDB database CREATE DATABASE TestDB; GO USE TestDB; GO -- Create cities table CREATE TABLE cities ( city_id INT IDENTITY(1,1) PRIMARY KEY, city_name NVARCHAR(100) NOT NULL, country NVARCHAR(100) NOT NULL, population INT, established_year INT ); GO -- Insert sample data (5 cities) INSERT INTO cities (city_name, country, population, established_year) VALUES ('New York', 'United States', 8336817, 1624), ('London', 'United Kingdom', 9002488, 43), ('Tokyo', 'Japan', 13960000, 1603), ('Dubai', 'United Arab Emirates', 3331420, 1833), ('Sydney', 'Australia', 5312163, 1788); GO -- Verify data SELECT * FROM cities;


Part 2: Generate Database Migration Script

Now let’s create a script to migrate the database structure to the destination server.

Step 1: Open Generate Scripts Wizard

  1. In SSMS, connect to your Source Server

  2. In Object Explorer (left panel), locate your database

  3. Right-click on TestDB database

  4. Select Tasks → Generate Scripts…

Step 2: Choose Objects to Script

  1. Click Next on the Introduction screen
  2. Select “Select specific database objects”
  3. Expand Tables and check:
  • dbo.cities
  1. Click Next

Step 3: Set Scripting Options

  1. Click Next to reach “Set Scripting Options”
  2. Choose “Save to file”
  3. Click Browse and save as: C:\Temp\TestDB_Schema.sql
  4. Click the Advanced button
  5. Find “Types of data to script” and select “Schema only”
  6. Click OK
  7. Click NextFinish

The wizard will generate a SQL script file containing all CREATE statements for your database objects.


Part 3: Create Database on Destination Server

Option A: Create Database Manually (Recommended for Different Servers)

Connect to your Destination Server in SSMS and run:

-- Create the database on destination server CREATE DATABASE TestDB; GO USE TestDB; GO

Option B: Include Database Creation in Script

If you want the script to create the database automatically:

  1. Follow the same Generate Scripts steps
  2. But in Step 2, select “Script entire database and all database objects”
  3. The script will include CREATE DATABASE statements

Part 4: Execute Migration Script on Destination

  1. Connect to Destination Server in SSMS
  2. Open the generated script:
  • File → Open → File
  • Select C:\Temp\TestDB_Schema.sql
  1. Select the database from the dropdown at the top:
  • Type: TestDB (if dropdown is empty)
  1. Execute the script by pressing F5

Your database structure is now created on the destination server!

Verify Structure Creation

-- Run on Destination Server USE TestDB; GO -- Check if table exists SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'cities'; -- Check table structure SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'cities';


Part 5: Copy Data from Source to Destination

Now that we have the database structure in place, let’s copy the data.

Method 1: Using Generate Scripts (Recommended for Small Datasets)

Step 1: Generate Data Script

  1. Connect to Source Server in SSMS

  2. Right-click TestDBTasks → Generate Scripts

  3. Select the cities table

  4. Click NextAdvanced

  5. Change “Types of data to script” to “Data only”

  6. Save to file: C:\Temp\TestDB_Data.sql

  7. Click NextFinish

Step 2: Execute Data Script on Destination

  1. Connect to Destination Server
  2. Select database: TestDB
  3. Open the data script file
  4. Execute (F5)

-- The generated script will look something like this: INSERT INTO [dbo].[cities] (city_name, country, population, established_year) VALUES ('New York', 'United States', 8336817, 1624), ('London', 'United Kingdom', 9002488, 43), ('Tokyo', 'Japan', 13960000, 1603), ('Dubai', 'United Arab Emirates', 3331420, 1833), ('Sydney', 'Australia', 5312163, 1788);

Method 2: Using Import/Export Wizard (Good for Larger Datasets)

  1. Connect to Source Server in SSMS
  2. Right-click TestDBTasks → Export Data
  3. Choose Data Source:
  • Data Source: Microsoft OLE DB Driver for SQL Server
  • Server name: Your source server
  • Database: TestDB
  • Click Next
  1. Choose Destination:
  • Destination: Microsoft OLE DB Driver for SQL Server
  • Server name: Your destination server
  • Database: TestDB
  • Click Next
  1. Select Source Tables:
  • Select “Copy data from one or more tables or views”
  • Check: [dbo].[cities]
  • Click Next
  1. Run ImmediatelyFinish

The wizard will copy all data directly from source to destination.Summary of Steps

Database Migration:

  1. Generate schema script from source database
  2. Create database on destination server
  3. Execute schema script on destination

Data Migration:

  1. Generate data script from source tables
  2. Execute data script on destination

\

Disclaimer: The articles reposted on this site are sourced from public platforms and are provided for informational purposes only. They do not necessarily reflect the views of MEXC. All rights remain with the original authors. If you believe any content infringes on third-party rights, please contact [email protected] for removal. MEXC makes no guarantees regarding the accuracy, completeness, or timeliness of the content and is not responsible for any actions taken based on the information provided. The content does not constitute financial, legal, or other professional advice, nor should it be considered a recommendation or endorsement by MEXC.

You May Also Like

Massive $2.3 Trillion Crypto Surge Positions North America as Market Leader

Massive $2.3 Trillion Crypto Surge Positions North America as Market Leader

Chainalysis’s new Geo Report preview shows North America strengthening its lead in global crypto adoption. From July 2024 to June 2025, the region handled $2.3 trillion in crypto activity, accounting for more than a quarter of worldwide flows. December 2024 set the record, when $244 billion moved in a single month, alongside the highest level […]
Share
Tronweekly2025/09/18 17:00
Colombians can soon save in stablecoins with new MoneyGram App

Colombians can soon save in stablecoins with new MoneyGram App

                                                                               Colombians will soon be able to receive and store USDC through MoneyGram’s new crypto app, which is launching soon in app stores.                     MoneyGram’s digital payments app is set to launch in Colombia, offering locals a way to save in US dollar stablecoins as the Colombian peso continues to weaken.MoneyGram’s crypto service is powered by the Stellar network and leverages Crossmint for self-custody, enabling users to store the USDC (USDC) stablecoin and transfer it overseas nearly instantly. In a statement on Wednesday, MoneyGram said Colombia is the “ideal launch market” as Colombian families receive more than 22 times the money they send abroad.Read more
Share
Coinstats2025/09/18 10:15
U.S. Moves Grip on Crypto Regulation Intensifies

U.S. Moves Grip on Crypto Regulation Intensifies

The post U.S. Moves Grip on Crypto Regulation Intensifies appeared on BitcoinEthereumNews.com. The United States is contending with the intricacies of cryptocurrency regulation as newly enacted legislation stirs debate over centralized versus decentralized finance. The recent passage of the GENIUS Act under Bo Hines’ leadership is perceived to skew favor towards centralized entities, potentially disadvantaging decentralized innovations. Continue Reading:U.S. Moves Grip on Crypto Regulation Intensifies Source: https://en.bitcoinhaber.net/u-s-moves-grip-on-crypto-regulation-intensifies
Share
BitcoinEthereumNews2025/09/18 01:09