theory of knowledge essays 2005 see generique viagra doctissimo guide thesis ideas for oedipus see follow link prednisone during pregnancy cialis en vente source site literature review proposal see crestor how long does it take to work click does effexor xr have a generic argumentative ghostwriter for hire ca human resource planning essay https://thejeffreyfoundation.org/newsletter/eid-milad-un-nabi-essay-for-kids/17/ writing company procedures levitra dopo prostatectomia effective words for an essay arti kata cialis dalam bbm for pc go to link follow link discounted will writing service public history essays from the field https://www.lapressclub.org/hypothesis/borax-crystals-research-paper/29/ source site descriptive essay about running rainforest writing paper paul lansky idioteque essay 5 page essays In this blog post we are going to give you an overview of best practices to apply when migrating an on-premise SQL server instance to Azure. Migration is best accomplished through these four phases:

  1. Planning
  2. Pre-migration
  3. Migration
  4. Post-migration

Planning

During this migration planning phase, you first need to verify the SQL versions supported for migration. As of this writing, Microsoft supports migration of SQL Server 2005 or above. In addition to the database version, you need to make sure the source environment is also supported.  Here are the supported source environments:

  • SQL Server on Virtual Machines,
  • Amazon Web Services (AWS) EC2,
  • Compute Engine (GCP), and
  • AWS RDS.

There are a couple of available tools from Microsoft to help you with your migration including Data Migration Assistance (DMA) and Azure Database Migration Service (DMS).

Azure Database Migration Service (DMS) is an online service in Azure, recommended for migrating larger database; whereas Data Migration Assistant (DMA) can be used for data migration proof of concept or smaller database migration. DMA can be downloaded from https://www.microsoft.com/en-us/download/details.aspx?id=53595.

Pre-migration

During the pre-migration phase, you will Discover your source data and Access the source and destination database infrastructures.

Discover

First, you will use the Azure Database Migration Service to discover your on-premise workload including server, databases, and web application – https://azure.microsoft.com/en-gb/services/azure-migrate/.

Then, with an understanding of your current environment, you will leverage the Microsoft Assessment & Planning (MAP) tool kit to determine if that infrastructure can easily be replicated in Azure – https://www.microsoft.com/en-us/download/details.aspx?id=7826.

Finally, you can use this scenario based calculator to determine whether the migration will reduce your Total Cost of Ownership – https://docs.microsoft.com/en-us/azure/dms/dms-tools-matrix.

Access

Depending on the variation in your source and destination scenario, migration is not always a one-to-one process.  We recommend using the Data Migration Assistance (DMA) tool to understand the gaps between source and target instances – https://docs.microsoft.com/en-us/sql/dma/dma-assesssqlonprem?view=sql-server-2017.

Migration

There are following critical steps that need to be taken to ensure a smooth migration.

  1. Register the Microsoft Data Migration resource provider.
  2. Create an instance of DMS.
  3. Create a migration project in DMS.
  4. Specify source details for the migration.
  5. Specify target details for the migration.
  6. Run the migration.
  7. Monitor the migration.

Once the migration is complete, you can begin your cutover.  If you need to run your databases in parallel for some short period of time to keep all changes in the source applied to the target, then you may want to use the Azure Data Sync service – https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-data-sync-data-sql-server-sql-database.

Post-migration

Post-migration activities should focus on testing and validation.

  1. Develop validation test by creating queries to test the target data.
  2. Set up a separate test environment in order to isolate testing activities and data from production.
  3. Run validation tests on both the source and destination.  Create reports to analyze and compare the data.
  4. Run performance test on both source and target to confirm no significant degradation in performance.

To aid in your testing and validation activities, you can look into this service from QuerySurge – https://www.querysurge.com/partner-program/partners/microsoft.  For a large effort where writing a bunch of SQL scripts to validate data isn’t feasible, a tool like this could be a big help.

These are the best practices we have developed over the years helping our customers move their database workloads to Azure.  What others do you have?

References:

  1. Data Migration Assistance (DMA) Software – https://www.microsoft.com/en-us/download/details.aspx?id=53595
  2. Data Migration Assistance (DMA ) documentation – https://docs.microsoft.com/en-us/sql/dma/dma-migrateonpremsql?view=sql-server-ver15
  3. Data Migration Service (Online) – https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-sql#register-the-microsoftdatamigration-resource-provider
  4. Data Migration Service (Offline) – https://docs.microsoft.com/en-us/azure/dms/tutorial-sql-server-to-azure-sql#migrate-the-sample-schema
  5. Data Sync – https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-data-sync-data-sql-server-sql-database