Migrating Your On-Premise SQL Server Database to Azure Cloud

Azure SQL is a suite of relational database services offered by Microsoft on Azure, powered by the SQL Server engine. This family of databases is continually enhanced through updates from Microsoft to improve performance and efficiency.

While Microsoft continues to support on-premise SQL Server setups, the cloud version offers more robust capabilities and extended support, catering to the increasing data demands of modern enterprises.

Azure provides three main services within the Azure SQL family:

  1. SQL Server on Azure Virtual Machines
  2. Azure SQL Managed Instance
  3. Azure SQL Database

Each of these services has its own advantages, and the choice between them depends on the goals of the business and the technical team.

The Azure SQL Managed Instance is positioned between Infrastructure as a Service (IaaS) and Platform as a Service (PaaS), offering database administrators control over certain aspects of SQL Server’s infrastructure. In this article, we will walk through the process of migrating an existing SQL Server database to an Azure SQL Managed Instance.

Migrating Your On-Premise SQL Server Database to Azure: Essential Steps and Prerequisites

Migrating an on-premise SQL Server database to Azure is a critical step for many organizations looking to leverage the cloud’s flexibility, scalability, and security features. However, successful migration requires careful planning and a solid understanding of the necessary prerequisites, tools, and steps involved. This process involves assessing your current environment, preparing your Azure infrastructure, and selecting the right migration strategy. Whether you’re looking to migrate your database to an Azure SQL Managed Instance or another Azure service, following these steps will ensure a smooth transition and minimal disruption to your operations.

Prerequisites for SQL Server Migration to Azure

Before you begin migrating your on-premise SQL Server database to Azure, ensure that your environment meets the following essential prerequisites. These elements will help establish a secure, scalable, and efficient migration process.

1. A Valid Microsoft Azure Subscription

To start, you need an active Microsoft Azure subscription. This subscription is essential to gain access to various Azure services, including Azure SQL Database and the SQL Managed Instance. Azure offers different pricing tiers, and selecting the right one depends on your organization’s needs, usage patterns, and budget. It is recommended to choose a subscription model that aligns with your long-term database requirements and provides enough flexibility to scale up or down as needed.

2. A Resource Group for Hosting New Services

Azure’s resource management relies on a concept called resource groups. A resource group is a container that holds related resources for an Azure solution. You will need a resource group to organize and manage all the services and resources required for your database migration. It’s important to plan the structure of your resource groups carefully as they help with resource lifecycle management, including billing and access control. Once created, this group will serve as the foundation for hosting the Azure SQL services like the Managed Instance.

3. An Azure Virtual Network (VNet)

To securely host your SQL Server Managed Instance, you must create an Azure Virtual Network (VNet). This network allows the managed instance to communicate securely with other resources in your Azure subscription, including storage accounts and other services. The VNet also ensures that your on-premise infrastructure and your new Azure-based SQL services can securely interact, especially if you’re planning on a hybrid environment or a lift-and-shift migration strategy. A VNet with the correct subnet configuration is essential for your database’s secure operation.

4. A Site-to-Site VPN Connection (or Hybrid Mode Using Data Migration Service)

If you’re migrating from an on-premise environment, a site-to-site VPN connection is necessary to establish secure communication between your on-premise network and Azure. This VPN connection facilitates the movement of data between your on-premise SQL Server and the Azure-based database. Alternatively, for hybrid cloud deployments, you can use Azure Data Migration Service (DMS) in hybrid mode, which facilitates data transfer while allowing seamless synchronization of data between on-premises and cloud-based resources.

5. An Azure Storage Account with the Standard Performance Tier

An Azure storage account is required for handling backups and log files during the migration process. Make sure to select the standard performance tier with unrestricted network access. This storage account ensures that your database files are adequately supported during migration. Since the migration process may involve large amounts of data transfer, high-performance storage will help avoid potential bottlenecks that could delay the process.

6. Proper Firewall Settings for Network Security

It’s essential to configure firewall settings to allow the migration process to proceed smoothly. Specifically, make sure that port 1433 (the default port for SQL Server) is open for both the on-premise SQL Server and the target Azure SQL Managed Instance. In cases where your organization uses custom ports or other protocols, ensure the corresponding ports are open to allow uninterrupted communication during the migration process. Securing your network infrastructure before starting the migration reduces the chances of encountering network-related issues that could disrupt the process.

7. An SMB Share for Backups and Log Files

As part of the migration preparation, you will need a Server Message Block (SMB) share that holds backups and transaction log files. This share must be accessible over port 445, which is used for file-sharing protocols. The SMB share will serve as the location for temporary storage during the migration, ensuring that all critical data is backed up and can be restored if needed.

8. Administrative Privileges for Source and Target Logins

To facilitate the migration, both your source SQL Server and target Azure SQL Managed Instance need administrative privileges. This ensures that the migration tools have the necessary permissions to read and write data, backup and restore databases, and configure settings during the migration process. Lack of proper administrative access can lead to errors or incomplete migrations. Ensure that you verify these privileges for all involved parties before beginning the process.

9. Supported SQL Server Versions

Microsoft’s migration tools support a broad range of SQL Server versions for migration to Azure, specifically versions from SQL Server 2005 to 2019. If you are running a version outside this range, you may need to upgrade your SQL Server version before migrating. Ensuring compatibility is crucial for avoiding unexpected migration issues or failures.

Overview of Migration Tools

There are several tools available that can help facilitate the migration process. The two primary tools recommended by Microsoft for migrating SQL Server databases to Azure are Data Migration Assistant (DMA) and Data Migration Service (DMS). Both tools are designed to cater to different aspects of the migration process.

1. Data Migration Assistant (DMA)

The Data Migration Assistant (DMA) is an essential tool that allows project managers and database administrators to assess the compatibility of their on-premise SQL Server databases with Azure. It runs compatibility assessments and generates detailed reports that recommend the best approach for moving your database to Azure. DMA can also identify issues such as deprecated features, unsupported configurations, or version mismatches that could prevent a smooth migration. Additionally, DMA generates a comprehensive report that can help you resolve potential migration challenges before they arise.

2. Data Migration Service (DMS)

The Data Migration Service (DMS) is a fully managed service that facilitates the actual migration of databases from on-premise SQL Servers to Azure SQL Database or Managed Instance. DMS supports both online and offline migration methods, allowing you to choose the best option based on your organization’s downtime tolerance. With online migration, the service can keep your source and target databases synchronized in real time, ensuring minimal downtime during the migration. For less critical systems, offline migration can be an option that involves taking the source database offline for a short period, migrating the data, and then bringing the system back online.

Choosing the Right Migration Method

The decision to use online or offline migration depends largely on your application’s downtime tolerance. An online migration is often suitable for mission-critical applications that require continuous availability. During online migration, the Data Migration Service synchronizes changes to the database in real-time to minimize downtime. In contrast, offline migration involves taking the source system offline for a short period to complete the data transfer. While this method may cause more downtime, it is sometimes the most straightforward and cost-effective choice for certain use cases.

Preparing for a Smooth SQL Server Migration to Azure

Migrating your on-premise SQL Server database to Azure can provide a range of benefits, from scalability and performance improvements to cost savings. However, ensuring that all the prerequisites are in place is essential for a smooth and successful migration. By ensuring you have the right infrastructure—such as an Azure subscription, resource groups, virtual networks, VPN connections, and storage accounts—your migration process will be far more manageable.

Choosing the right migration tools, like the Data Migration Assistant and Data Migration Service, will also play a significant role in minimizing downtime and ensuring data integrity throughout the migration process. As long as you follow the necessary preparation steps, understand the migration tools at your disposal, and select the best migration method for your business needs, migrating your SQL Server database to Azure will be a seamless transition that positions your organization for future success.

A Comprehensive Guide to Setting Up Azure SQL Managed Instance

Setting up an Azure SQL Managed Instance is a crucial step for organizations looking to migrate their SQL Server workloads to the cloud while maintaining compatibility, scalability, and performance. Azure SQL Managed Instance provides a fully managed platform-as-a-service (PaaS) offering that allows you to run SQL Server workloads in the cloud with minimal administration. It is designed to provide near-complete compatibility with your on-premise SQL Server databases, making it an ideal choice for migrating legacy applications and databases to Azure. Below, we will walk you through the steps to create and configure your Azure SQL Managed Instance effectively.

Step 1: Create a SQL Managed Instance in Azure

To get started, the first step is to create a new SQL Managed Instance in the Azure portal. This involves selecting the appropriate resources, configuring your instance settings, and choosing your preferred configuration options based on your workload requirements. Below is a step-by-step guide on how to set up a SQL Managed Instance.

Access the Azure Portal

Start by navigating to the Azure portal (portal.azure.com). The portal is your central hub for managing all Azure resources, and it provides an intuitive interface to configure and deploy resources.

Search for SQL Managed Instances

Once you are in the portal, use the search bar at the top of the screen and search for “SQL Managed Instances”. This will lead you to the SQL Managed Instance creation page, where you can configure your new instance.

Initiate the Creation Process

Click on the Create button to begin the process of setting up a new SQL Managed Instance. This will take you through a series of steps to define the settings and configuration for your instance.

Select Subscription and Resource Group

The next step involves selecting the subscription and resource group where the managed instance will be created. A subscription is a container for your Azure resources, and the resource group is a logical container that holds related resources. If you don’t have an existing resource group, you can create one during the process.

Make sure to carefully select the appropriate subscription and resource group that aligns with your organizational structure, as this will simplify management and billing for your resources.

Assign a Unique Name for Your Instance

Assign a unique name for your SQL Managed Instance. This name will identify your instance within the resource group and subscription. Ensure that the name is descriptive, easy to recognize, and adheres to Azure naming conventions.

Configure the Location

Next, you need to configure the location of your SQL Managed Instance. The location should be the same as the one where your other Azure resources (such as virtual networks, storage accounts, etc.) reside, as this will ensure optimal performance and low-latency communication. Azure has data centers located around the world, so choosing a location close to your organization or users is essential for reducing latency and improving the overall performance of your applications.

Configure the Service Tier

One of the most important decisions when setting up your SQL Managed Instance is selecting the Service Tier. There are two primary service tiers to choose from: General Purpose and Business Critical.

  1. General Purpose: This tier is optimized for most workloads that require a balance of price and performance. It uses standard storage and provides basic performance with automatic backups and high availability. It is perfect for workloads that don’t require the highest level of performance or availability.
  2. Business Critical: This tier is designed for mission-critical workloads that require the highest levels of performance, availability, and security. It uses premium storage and includes advanced features such as in-memory OLTP, high availability with multiple replicas, and enhanced security.

Depending on your workload’s requirements, select the service tier that provides the best balance of performance and cost. If you’re unsure, the General Purpose tier can be a cost-effective starting point, with the ability to scale up later if needed.

Set Up Compute Hardware Specifications

After selecting the service tier, the next step is to configure the compute hardware specifications. This includes selecting the generation (e.g., Gen5), the number of vCores, and the amount of storage.

  • Gen5: The Gen5 series offers the latest processor architecture for SQL Managed Instances, providing better performance, cost efficiency, and enhanced features compared to previous generations.
  • vCores: The number of virtual cores determines the compute power for your instance. You can choose the number of vCores based on the workload’s performance requirements. More vCores typically result in better performance, but they also come at a higher cost.
  • Storage: You will also need to specify the amount of storage required for your managed instance. Storage can scale dynamically, but it’s essential to ensure that you choose a size that accommodates your database’s needs.

Azure Hybrid Benefit for Cost Savings

If your organization has existing on-premise SQL Server licenses, you can leverage Azure Hybrid Benefit to reduce costs. This benefit allows you to reuse your SQL Server licenses to pay a lower rate for the managed instance. To take advantage of this benefit, you must ensure that your on-premise licenses are eligible and that you properly configure the settings during setup.

Choose a Virtual Network for Networking

For networking, select the Azure Virtual Network (VNet) where your SQL Managed Instance will reside. The Virtual Network is essential for providing secure communication between your instance and other resources within your Azure subscription. When selecting a VNet, ensure it has the appropriate subnet configuration to support your instance.

If you are migrating from an on-premise environment, you may need to configure a VPN or ExpressRoute connection between your on-premise network and Azure. This ensures seamless and secure data transfer between your local resources and the Azure environment.

Set Additional Configuration Options

At this stage, you will configure additional settings for your managed instance. These settings include:

  • Collation: Set the collation type for your SQL Server instance, which determines how string comparison and sorting are handled in your databases.
  • Time Zone: Define the time zone for your instance to ensure that timestamps and other time-sensitive data are accurate.
  • Additional Options: Depending on your specific requirements, you can configure other settings such as backup retention policies, high availability options, and more.

Review and Complete the Setup

Once you’ve reviewed all the settings and configurations, click on the Create button to initiate the deployment process. It is important to review all configurations before clicking Create to avoid errors or misconfigurations.

The deployment process can take up to 4 hours to complete, depending on the instance size, selected configurations, and the region’s availability. You can monitor the deployment status in the Azure portal. Once the instance is deployed, you will receive a notification, and your SQL Managed Instance will be ready to use.

Successfully Setting Up Azure SQL Managed Instance

Setting up an Azure SQL Managed Instance involves a series of steps that require careful planning and consideration of your organization’s workload requirements. By following the steps outlined above, you can ensure that your managed instance is configured optimally for your needs, with the right service tier, compute resources, networking setup, and licensing options.

With your SQL Managed Instance successfully created, you can now proceed with migrating your databases from on-premise SQL Servers to Azure, taking full advantage of the cloud’s scalability, security, and cost benefits. The SQL Managed Instance offers a flexible and highly compatible platform for running SQL Server workloads in the cloud, making it a key part of many organizations’ digital transformation journeys.

Comprehensive Guide to Configuring the Azure Data Migration Service

Migrating databases to the cloud is a critical part of digital transformation for many organizations, and Azure offers a comprehensive set of tools to simplify this process. One of the most essential tools in this suite is the Azure Database Migration Service (DMS). This service helps you move your on-premise databases to Azure SQL Database or Azure SQL Managed Instance with minimal downtime, ensuring a smooth transition with minimal impact on your ongoing operations. To leverage the benefits of DMS, there are several crucial steps to follow, from registering the migration resource provider to configuring your migration service. This guide will walk you through the process in detail to ensure that your database migration to Azure is efficient and error-free.

Step 1: Register the Migration Resource Provider

Before you can begin using the Azure Database Migration Service, it is essential to register the migration resource provider with your Azure subscription. This allows the Azure portal to recognize the service and enables the necessary components for the migration process.

Access the Azure Portal

Begin by logging into the Azure portal (portal.azure.com) and navigating to the resource management section. The Azure portal serves as the central hub for managing all your Azure resources, including databases, virtual machines, networking, and more.

Open the Subscriptions Blade

Once you’re in the portal, search for Subscriptions using the search bar at the top of the screen. In the Subscriptions section, you will find the Resource Providers blade. Resource providers are responsible for managing specific Azure services, and by registering them, you make their functionality available to your subscription.

Register the Microsoft.DataMigration Provider

Within the Resource Providers blade, search for Microsoft.DataMigration. This is the resource provider for the Azure Database Migration Service, and registering it enables the migration functionality. To register, click on the Register button next to Microsoft.DataMigration. It may take a few minutes for the registration process to complete, after which the service will be available for use in your subscription.

By registering the Microsoft.DataMigration resource provider, you ensure that your Azure subscription is equipped to handle migrations, and you gain access to the full capabilities of the Azure Database Migration Service.

Step 2: Create the Migration Service

After registering the migration resource provider, the next step is to create the Azure Database Migration Service itself. This service is a fully managed, automated tool designed to handle large-scale migrations from on-premise databases to Azure SQL Database or Azure SQL Managed Instance. It provides both online and offline migration options, allowing you to choose the best method based on your application’s downtime tolerance.

Search for the Migration Service

In the Azure portal, search for Azure Database Migration Service. This search will take you to the page where you can create a new migration service. Click on the Create button to initiate the creation process.

Configure the Migration Service

To create the migration service, you will need to configure several key settings. Here’s a breakdown of what you’ll need to configure during the setup:

  • Subscription: Select the Azure subscription in which you want to create the migration service. This subscription should ideally match the one where your target Azure SQL Database or Managed Instance is located.
  • Resource Group: Choose the resource group that will contain your migration service. Resource groups allow you to organize your resources logically within Azure. You can select an existing resource group or create a new one specifically for migration resources.
  • Location: The location refers to the Azure region where the migration service will be deployed. It’s essential to choose the same region where your target Azure SQL Database or Managed Instance is located to ensure low latency and optimal performance during the migration.

Select Migration Mode

The migration mode is a critical setting that determines how your migration will take place. There are two primary options:

  1. Hybrid Mode (Public Internet): In this mode, the migration occurs over the public internet. This is typically used for scenarios where you have a cloud-native environment or when your on-premise infrastructure is already connected to the internet. While this option provides flexibility, it may expose your migration to security risks if not configured correctly. It is recommended to use encryption and secure tunnels when migrating over the public internet.
  2. Private Network Mode: For added security, you can choose to migrate over a private network using VPNs or ExpressRoute. This ensures that your migration happens over a secure, private connection, which is especially important for sensitive data or mission-critical applications. If security and minimal exposure to the public internet are top priorities, this mode is preferred.

Choose the Premium Tier for Migration

Azure Database Migration Service offers different tiers depending on your migration requirements. To ensure high performance and the ability to support both online and offline migration methods, select the Premium Tier. The Premium Tier offers more features, higher throughput, and better scalability, making it ideal for large migrations or complex database environments. It also supports migration scenarios with lower downtime requirements.

  • Online Migration: In online migration, the service migrates the database in real time, synchronizing changes as they happen on the source database. This minimizes downtime during the migration process and allows the source database to remain operational.
  • Offline Migration: In offline migration, the source database is taken offline briefly during the migration process. While this approach may result in more downtime, it can be simpler and more cost-effective for certain workloads.

Set Up Networking and Virtual Network Configuration

Once the migration service is created, you need to configure the networking settings to ensure smooth communication between your source database, migration service, and target Azure database. The most common method is to set up a Virtual Network (VNet) within Azure. The VNet allows your migration service to communicate securely with the database resources in your subscription.

You will need to select the VNet that the migration service will use for the migration process. Additionally, ensure that the VNet is properly configured with the correct subnets, IP address ranges, and firewall rules. If you are migrating from an on-premise environment, you may need to establish a VPN connection or use Azure ExpressRoute to create a secure tunnel between your on-premise data center and Azure.

Review and Finalize the Setup

Once you have configured the migration service, it’s important to review all the settings. Ensure that you’ve selected the correct subscription, resource group, region, migration mode, and networking configurations. Double-check your tier selection and make sure that you’re using the Premium Tier for the best performance and flexibility.

After confirming all the settings, click the Create button to deploy the migration service. The creation process may take several minutes, after which you will have a fully configured Azure Database Migration Service ready to assist with your database migration.

Configuring Azure Database Migration Service

Setting up the Azure Database Migration Service (DMS) is a vital step in the journey of moving your databases to the cloud. By following the above steps, you can ensure that your migration will be seamless, secure, and efficient.

Whether you’re migrating a small database or a large enterprise application, DMS offers robust features to support both online and offline migrations, ensuring that your applications experience minimal downtime. By selecting the appropriate migration mode and network configuration, you can tailor the service to your specific needs, whether you’re migrating over the public internet or through a more secure private network.

Once your migration service is configured, you can begin the actual database migration, benefiting from the powerful tools and automation that Azure provides. With the right preparation and execution, your migration to Azure SQL Database or Azure SQL Managed Instance will be completed with minimal disruption to your operations, ensuring long-term success in the cloud.

Step-by-Step Guide to Creating and Managing a Database Migration Project in Azure

Migrating databases to Azure requires careful planning and execution to ensure minimal downtime and a smooth transition. The Azure Database Migration Service (DMS) is an invaluable tool in this process, offering both online and offline migration options, depending on your organization’s needs. Whether you’re moving from SQL Server to Azure SQL Managed Instance or performing other database migrations, DMS facilitates the process with minimal complexity. This guide will walk you through the steps of creating a migration project, initiating the migration, and troubleshooting common migration issues.

Step 1: Creating a New Migration Project in Azure Database Migration Service

The first step in using the Azure Database Migration Service is to set up a new migration project. This project will define the source and target databases and specify whether the migration should occur with minimal downtime (online) or with more downtime (offline). Below are the steps for setting up the migration project.

Access Azure Database Migration Service

To get started, log into the Azure portal and navigate to Azure Database Migration Service. From the DMS interface, click on New Migration Project to create a new migration initiative. This action will launch a wizard that guides you through the project setup process.

Enter Project Details

The first configuration step requires you to input the project name. Choose a descriptive name that helps you identify the migration project easily. Next, you will specify the source and target databases:

  • Source Database: Select SQL Server as the source database since you’re migrating from an on-premises SQL Server to Azure SQL Managed Instance.
  • Target Database: Choose Azure SQL Managed Instance as the destination for your database.

Select Migration Type (Online or Offline)

The next crucial step is choosing between online and offline migration methods:

  • Online Data Migration: This option minimizes downtime by allowing the source SQL Server and the target Azure SQL Managed Instance to remain active throughout the migration process. It uses real-time replication to ensure data is continuously synchronized during the migration. If uptime is critical, online migration is the preferred choice.
  • Offline Data Migration: With offline migration, the source database is taken offline during the migration process. This can be a suitable option if the downtime window is acceptable or if the data volume is very large, and you want a more controlled migration without real-time syncing.

Once you’ve made your choice, proceed to the next steps in the setup process.

Configure Connection to the Source SQL Server

After deciding on the migration method, you’ll configure the connection to the source SQL Server. This involves providing the IP address or hostname of the SQL Server, followed by the authentication method. Typically, Windows Authentication is used to authenticate the connection between the Azure Database Migration Service and the source SQL Server.

Configure Connection to the Target Azure SQL Managed Instance

Next, on the Target tab, you’ll enter the SQL Managed Instance credentials for authentication. This includes the instance name, database credentials (username and password), and other necessary connection details. After entering these credentials, click on Next to proceed with the project setup.

Once your migration project is created, the Azure Database Migration Service will be ready for use, and the next step is to initiate the actual migration process.

Step 2: Setting Up Azure Active Directory (AD) for Migration

Before starting the migration, you need to configure Azure Active Directory (AD) for authentication. Specifically, you’ll need to create an Azure AD Application and a Service Principal, which will be used to authenticate the migration process.

Register the Azure AD Application

In the Azure portal, search for Azure Active Directory and navigate to the App registrations section. From here, click on New Registration to create a new application. Enter a name for the application and choose the appropriate settings based on your organization’s requirements. Once registered, Azure will generate an Application Client ID, which you will use to authenticate during the migration process.

Create a Client Secret

Next, create a client secret for the application, which acts as a password to authenticate the Azure AD application during the migration. Store this secret securely, as it will be used later during the migration process to connect the service to the target database.

Assign Contributor Role to the Service Principal

To grant the migration service sufficient access to resources, assign the Contributor role to the Service Principal. This role will allow the service principal to perform migration activities, such as reading from the source SQL Server and writing to the Azure SQL Managed Instance.

Step 3: Initiating the Data Migration

With your migration project and Azure AD setup complete, you are now ready to initiate the data migration process. Whether you’re using online migration or offline migration, the steps are similar with slight variations based on the method you selected.

Start Online Migration

In the Azure Database Migration Service interface, select the Online Migration Project that you created earlier. Then, initiate the migration activity by clicking the Start Migration button.

You will be prompted to enter the following details for the source SQL Server:

  • Source SQL Server IP or hostname
  • Source database username and password for authentication

Additionally, you will need to enter the Application ID and Client Secret you obtained during the Azure AD registration process. These credentials will authenticate your Azure AD application during the migration process.

Once you’ve provided all the necessary credentials and configured the migration settings, you can start the migration. The Azure Database Migration Service will begin replicating data from the source SQL Server to the target Azure SQL Managed Instance. The service will continue to synchronize data between the two systems until the migration is complete.

Start Offline Migration

If you’re performing an offline migration, the steps are similar. However, the main difference is that the source database will be temporarily taken offline during the migration. This means that no changes will be made to the source database during the migration window. While this method results in longer downtime, it provides a controlled and streamlined migration, especially for large databases.

Once you select the offline migration option, you will provide the same connection details as for online migration. The service will take the source database offline for the migration process, ensuring that the transfer happens in one clean batch.

Step 4: Monitoring the Migration Process

Once the migration process begins, you can track its progress within the Azure portal. The Azure Database Migration Service provides detailed logs and status updates throughout the migration process. You’ll be able to monitor various aspects of the migration, including:

  • Data transfer speed
  • Number of databases migrated
  • Completion percentage
  • Error logs and warnings

Monitoring the progress ensures that any issues that arise can be addressed quickly. The portal provides tools for reviewing the logs, including troubleshooting suggestions.

Step 5: Troubleshooting Common Migration Issues

During the migration process, you may encounter a few common issues. Below are some troubleshooting tips for resolving typical problems:

Issue 1: SQL Managed Instance Can’t Connect to Source SQL Server

Solution: Ensure that your VPN or ExpressRoute connection is properly configured and that port 1433 (the default SQL Server port) is open. This allows the migration service to establish a connection to the source SQL Server.

Issue 2: Authentication Failure During Online Migration

Solution: Double-check the Application ID, Client Secret, and Service Principal permissions. Ensure that the Contributor role has been correctly assigned to the Service Principal and that there are no typos in the authentication credentials.

Issue 3: Migration Service Can’t Access Shared Backups

Solution: Verify that the read/write permissions are correctly set on the shared folder where backups and log files are stored. The Azure Database Migration Service needs access to these files in order to proceed with the migration.

Conclusion

Creating and managing a database migration project in Azure Database Migration Service is a straightforward process when you follow the right steps. From setting up your project and configuring authentication through Azure AD, to selecting the appropriate migration method, and troubleshooting common issues, DMS offers a powerful and flexible solution for migrating your on-premise databases to the cloud. By following this guide, you can ensure that your migration is efficient, secure, and completed with minimal disruption to your business operations.

Migrating your on-premise SQL Server database to Azure offers numerous benefits, including cost savings, high availability, automated backups, and AI-powered query optimization. By following the steps outlined in this guide, you can smoothly transition your database to Azure and take advantage of the cloud’s advanced capabilities.

Moving to Azure SQL Managed Instance can significantly reduce both capital and operational expenses related to hardware and licensing, freeing you from the complexity of on-prem infrastructure management. Let Microsoft handle the backend while you focus on leveraging the cloud for business innovation.