Professional Documents
Culture Documents
Official
Course
DP-050T00
Migrate SQL workloads to
Azure
HIBITED
DP-050T00
Migrate SQL workloads to Azure
II Disclaimer
Information in this document, including URL and other Internet Web site references, is subject to change
without notice. Unless otherwise noted, the example companies, organizations, products, domain names,
e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with
any real company, organization, product, domain name, e-mail address, logo, person, place or event is
intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the
user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in
or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written license
agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.
The names of manufacturers, products, or URLs are provided for informational purposes only and
Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding
these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a
manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links
may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is
not responsible for the contents of any linked site or any link contained in a linked site, or any changes or
updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission
received from any linked site. Microsoft is providing these links to you only as a convenience, and the
inclusion of any link does not imply endorsement of Microsoft of the site or the products contained
therein.
BY ACCESSING, DOWNLOADING OR USING THE LICENSED CONTENT, YOU ACCEPT THESE TERMS.
IF YOU DO NOT ACCEPT THEM, DO NOT ACCESS, DOWNLOAD OR USE THE LICENSED CONTENT.
If you comply with these license terms, you have the rights below for each license you acquire.
1. DEFINITIONS.
a) “Authorized Learning Center” means a Microsoft IT Academy Program Member, Microsoft Learning
Competency Member, or such other entity as Microsoft may designate from time to time.
b) “Authorized Training Session” means the instructor-led training class using Microsoft Instruc-
tor-Led Courseware conducted by a Trainer at or through an Authorized Learning Center.
c) “Classroom Device” means one (1) dedicated, secure computer that an Authorized Learning Center
owns or controls that is located at an Authorized Learning Center’s training facilities that meets or
exceeds the hardware level specified for the particular Microsoft Instructor-Led Courseware.
d) “End User” means an individual who is (i) duly enrolled in and attending an Authorized Training
Session or Private Training Session, (ii) an employee of a MPN Member, or (iii) a Microsoft full-time
employee.
e) “Licensed Content” means the content accompanying this agreement which may include the
Microsoft Instructor-Led Courseware or Trainer Content.
f) “Microsoft Certified Trainer” or “MCT” means an individual who is (i) engaged to teach a training
session to End Users on behalf of an Authorized Learning Center or MPN Member, and (ii) current-
ly certified as a Microsoft Certified Trainer under the Microsoft Certification Program.
g) “Microsoft Instructor-Led Courseware” means the Microsoft-branded instructor-led training course
that educates IT professionals and developers on Microsoft technologies. A Microsoft Instruc-
tor-Led Courseware title may be branded as MOC, Microsoft Dynamics or Microsoft Business
Group courseware.
h) “Microsoft IT Academy Program Member” means an active member of the Microsoft IT Academy
Program.
i) “Microsoft Learning Competency Member” means an active member of the Microsoft Partner
Network program in good standing that currently holds the Learning Competency status.
j) “MOC” means the “Official Microsoft Learning Product” instructor-led courseware known as
Microsoft Official Course that educates IT professionals and developers on Microsoft technologies.
k) “MPN Member” means an active Microsoft Partner Network program member in good standing.
l) “Personal Device” means one (1) personal computer, device, workstation or other digital electronic
device that you personally own or control that meets or exceeds the hardware level specified for
the particular Microsoft Instructor-Led Courseware.
MCT USE ONLY. STUDENT USE PROHIBITED IV EULA
m) “Private Training Session” means the instructor-led training classes provided by MPN Members for
corporate customers to teach a predefined learning objective using Microsoft Instructor-Led
Courseware. These classes are not advertised or promoted to the general public and class attend-
ance is restricted to individuals employed by or contracted by the corporate customer.
n) Trainer” means (i) an academically accredited educator engaged by a Microsoft IT Academy
Program Member to teach an Authorized Training Session, and/or (ii) a MCT.
o) “Trainer Content” means the trainer version of the Microsoft Instructor-Led Courseware and
additional supplemental content designated solely for Trainers’ use to teach a training session
using the Microsoft Instructor-Led Courseware. Trainer Content may include Microsoft PowerPoint
presentations, trainer preparation guide, train the trainer materials, Microsoft One Note packs,
classroom setup guide and Pre-release course feedback form. To clarify, Trainer Content does not
include any software, virtual hard disks or virtual machines.
2. USE RIGHTS. The Licensed Content is licensed not sold. The Licensed Content is licensed on a one
copy per user basis, such that you must acquire a license for each individual that accesses or uses the
Licensed Content.
2.1. Below are five separate sets of use rights. Only one set of rights apply to you.
a) If you are a Microsoft IT Academy Program Member:
i) Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3) Personal
Devices. You may not install the Microsoft Instructor-Led Courseware on a device you do not
own or control.
ii) For each license you acquire on behalf of an End User or Trainer, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one (1)
End User who is enrolled in the Authorized Training Session, and only immediately prior to
the commencement of the Authorized Training Session that is the subject matter of the
Microsoft Instructor-Led Courseware being provided, or
2. provide one (1) End User with the unique redemption code and instructions on how they
can access one (1) digital version of the Microsoft Instructor-Led Courseware, or
3. provide one (1) Trainer with the unique redemption code and instructions on how they can
access one (1) Trainer Content,
provided you comply with the following:
iii) you will only provide access to the Licensed Content to those individuals who have acquired a
valid license to the Licensed Content,
iv) you will ensure each End User attending an Authorized Training Session has their own valid
licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the Authorized
Training Session,
v) you will ensure that each End User provided with the hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End User
will agree that their use of the Microsoft Instructor-Led Courseware will be subject to the terms
in this agreement prior to providing them with the Microsoft Instructor-Led Courseware. Each
individual will be required to denote their acceptance of this agreement in a manner that is
enforceable under local law prior to their accessing the Microsoft Instructor-Led Courseware,
vi) you will ensure that each Trainer teaching an Authorized Training Session has their own valid
licensed copy of the Trainer Content that is the subject of the Authorized Training Session,
MCT USE ONLY. STUDENT USE PROHIBITED
EULA V
vii) you will only use qualified Trainers who have in-depth knowledge of and experience with the
Microsoft technology that is the subject of the Microsoft Instructor-Led Courseware being
taught for all your Authorized Training Sessions,
viii) you will only deliver a maximum of 15 hours of training per week for each Authorized
Training Session that uses a MOC title, and
ix) you acknowledge that Trainers that are not MCTs will not have access to all of the trainer
resources for the Microsoft Instructor-Led Courseware.
b) If you are a Microsoft Learning Competency Member:
i) Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3) Personal
Devices. You may not install the Microsoft Instructor-Led Courseware on a device you do not
own or control.
ii) For each license you acquire on behalf of an End User or MCT, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one (1)
End User attending the Authorized Training Session and only immediately prior to the
commencement of the Authorized Training Session that is the subject matter of the Micro-
soft Instructor-Led Courseware provided, or
2. provide one (1) End User attending the Authorized Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) MCT with the unique redemption code and instructions on how
they can access one (1) Trainer Content,
provided you comply with the following:
iii) you will only provide access to the Licensed Content to those individuals who have acquired a
valid license to the Licensed Content,
iv) you will ensure that each End User attending an Authorized Training Session has their own valid
licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the Authorized
Training Session,
v) you will ensure that each End User provided with a hard-copy version of the Microsoft Instruc-
tor-Led Courseware will be presented with a copy of this agreement and each End User will
agree that their use of the Microsoft Instructor-Led Courseware will be subject to the terms in
this agreement prior to providing them with the Microsoft Instructor-Led Courseware. Each
individual will be required to denote their acceptance of this agreement in a manner that is
enforceable under local law prior to their accessing the Microsoft Instructor-Led Courseware,
vi) you will ensure that each MCT teaching an Authorized Training Session has their own valid
licensed copy of the Trainer Content that is the subject of the Authorized Training Session,
vii) you will only use qualified MCTs who also hold the applicable Microsoft Certification credential
that is the subject of the MOC title being taught for all your Authorized Training Sessions using
MOC,
viii) you will only provide access to the Microsoft Instructor-Led Courseware to End Users, and
ix) you will only provide access to the Trainer Content to MCTs.
MCT USE ONLY. STUDENT USE PROHIBITED VI EULA
Instructor-Led Courseware. You may not install the Microsoft Instructor-Led Courseware on a
device you do not own or control.
e) If you are a Trainer.
i) For each license you acquire, you may install and use one (1) copy of the Trainer Content in the
form provided to you on one (1) Personal Device solely to prepare and deliver an Authorized
Training Session or Private Training Session, and install one (1) additional copy on another
Personal Device as a backup copy, which may be used only to reinstall the Trainer Content. You
may not install or use a copy of the Trainer Content on a device you do not own or control. You
may also print one (1) copy of the Trainer Content solely to prepare for and deliver an Author-
ized Training Session or Private Training Session.
ii) You may customize the written portions of the Trainer Content that are logically associated with
instruction of a training session in accordance with the most recent version of the MCT agree-
ment. If you elect to exercise the foregoing rights, you agree to comply with the following: (i)
customizations may only be used for teaching Authorized Training Sessions and Private
Training Sessions, and (ii) all customizations will comply with this agreement. For clarity, any
use of “customize” refers only to changing the order of slides and content, and/or not using all
the slides or content, it does not mean changing or modifying any slide or content.
2.2. Separation of Components. The Licensed Content is licensed as a single unit and you may not
separate their components and install them on different devices.
2.3. Redistribution of Licensed Content. Except as expressly provided in the use rights above, you may
not distribute any Licensed Content or any portion thereof (including any permitted modifications)
to any third parties without the express written permission of Microsoft.
2.4. Third Party Notices. The Licensed Content may include third party code that Microsoft, not the
third party, licenses to you under this agreement. Notices, if any, for the third party code are includ-
ed for your information only.
2.5. Additional Terms. Some Licensed Content may contain components with additional terms, condi-
tions, and licenses regarding its use. Any non-conflicting terms in those conditions and licenses also
apply to your use of that respective component and supplements the terms described in this
agreement.
3. LICENSED CONTENT BASED ON PRE-RELEASE TECHNOLOGY. If the Licensed Content’s subject
matter is based on a pre-release version of Microsoft technology (“Pre-release”), then in addition to
the other provisions in this agreement, these terms also apply:
a) Pre-Release Licensed Content. This Licensed Content subject matter is on the Pre-release version
of the Microsoft technology. The technology may not work the way a final version of the technol-
ogy will and we may change the technology for the final version. We also may not release a final
version. Licensed Content based on the final version of the technology may not contain the same
information as the Licensed Content based on the Pre-release version. Microsoft is under no
obligation to provide you with any further content, including any Licensed Content based on the
final version of the technology.
b) Feedback. If you agree to give feedback about the Licensed Content to Microsoft, either directly
or through its third party designee, you give to Microsoft without charge, the right to use, share
and commercialize your feedback in any way and for any purpose. You also give to third parties,
without charge, any patent rights needed for their products, technologies and services to use or
interface with any specific parts of a Microsoft technology, Microsoft product, or service that
includes the feedback. You will not give feedback that is subject to a license that requires Micro-
soft to license its technology, technologies, or products to third parties because we include your
feedback in them. These rights survive this agreement.
MCT USE ONLY. STUDENT USE PROHIBITED VIII EULA
c) Pre-release Term. If you are an Microsoft IT Academy Program Member, Microsoft Learning
Competency Member, MPN Member or Trainer, you will cease using all copies of the Licensed
Content on the Pre-release technology upon (i) the date which Microsoft informs you is the end
date for using the Licensed Content on the Pre-release technology, or (ii) sixty (60) days after the
commercial release of the technology that is the subject of the Licensed Content, whichever is
earliest (“Pre-release term”). Upon expiration or termination of the Pre-release term, you will
irretrievably delete and destroy all copies of the Licensed Content in your possession or under
your control.
4. SCOPE OF LICENSE. The Licensed Content is licensed, not sold. This agreement only gives you some
rights to use the Licensed Content. Microsoft reserves all other rights. Unless applicable law gives you
more rights despite this limitation, you may use the Licensed Content only as expressly permitted in
this agreement. In doing so, you must comply with any technical limitations in the Licensed Content
that only allows you to use it in certain ways. Except as expressly permitted in this agreement, you
may not:
● access or allow any individual to access the Licensed Content if they have not acquired a valid
license for the Licensed Content,
● alter, remove or obscure any copyright or other protective notices (including watermarks), brand-
ing or identifications contained in the Licensed Content,
● modify or create a derivative work of any Licensed Content,
● publicly display, or make the Licensed Content available for others to access or use,
● copy, print, install, sell, publish, transmit, lend, adapt, reuse, link to or post, make available or
distribute the Licensed Content to any third party,
● work around any technical limitations in the Licensed Content, or
● reverse engineer, decompile, remove or otherwise thwart any protections or disassemble the
Licensed Content except and only to the extent that applicable law expressly permits, despite this
limitation.
5. RESERVATION OF RIGHTS AND OWNERSHIP. Microsoft reserves all rights not expressly granted to
you in this agreement. The Licensed Content is protected by copyright and other intellectual property
laws and treaties. Microsoft or its suppliers own the title, copyright, and other intellectual property
rights in the Licensed Content.
6. EXPORT RESTRICTIONS. The Licensed Content is subject to United States export laws and regula-
tions. You must comply with all domestic and international export laws and regulations that apply to
the Licensed Content. These laws include restrictions on destinations, end users and end use. For
additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because the Licensed Content is “as is”, we may not provide support services for
it.
8. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this agreement if you
fail to comply with the terms and conditions of this agreement. Upon termination of this agreement
for any reason, you will immediately stop all use of and delete and destroy all copies of the Licensed
Content in your possession or under your control.
9. LINKS TO THIRD PARTY SITES. You may link to third party sites through the use of the Licensed
Content. The third party sites are not under the control of Microsoft, and Microsoft is not responsible
for the contents of any third party sites, any links contained in third party sites, or any changes or
updates to third party sites. Microsoft is not responsible for webcasting or any other form of transmis-
sion received from any third party sites. Microsoft is providing these links to third party sites to you
MCT USE ONLY. STUDENT USE PROHIBITED
EULA IX
only as a convenience, and the inclusion of any link does not imply an endorsement by Microsoft of
the third party site.
10. ENTIRE AGREEMENT. This agreement, and any additional terms for the Trainer Content, updates and
supplements are the entire agreement for the Licensed Content, updates and supplements.
11. APPLICABLE LAW.
a) United States. If you acquired the Licensed Content in the United States, Washington state law
governs the interpretation of this agreement and applies to claims for breach of it, regardless of
conflict of laws principles. The laws of the state where you live govern all other claims, including
claims under state consumer protection laws, unfair competition laws, and in tort.
b) Outside the United States. If you acquired the Licensed Content in any other country, the laws of
that country apply.
12. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the
laws of your country. You may also have rights with respect to the party from whom you acquired the
Licensed Content. This agreement does not change your rights under the laws of your country if the
laws of your country do not permit it to do so.
13. DISCLAIMER OF WARRANTY. THE LICENSED CONTENT IS LICENSED "AS-IS" AND "AS AVAILA-
BLE." YOU BEAR THE RISK OF USING IT. MICROSOFT AND ITS RESPECTIVE AFFILIATES GIVES NO
EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. YOU MAY HAVE ADDITIONAL CON-
SUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO
THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT AND ITS RESPECTIVE AFFILI-
ATES EXCLUDES ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU-
LAR PURPOSE AND NON-INFRINGEMENT.
14. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM
MICROSOFT, ITS RESPECTIVE AFFILIATES AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO
US$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
This limitation applies to
● anything related to the Licensed Content, services, content (including code) on third party Internet
sites or third-party programs; and
● claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence,
or other tort to the extent permitted by applicable law.
It also applies even if Microsoft knew or should have known about the possibility of the damages. The
above limitation or exclusion may not apply to you because your country may not allow the exclusion
or limitation of incidental, consequential or other damages.
Please note: As this Licensed Content is distributed in Quebec, Canada, some of the clauses in this
agreement are provided below in French.
Remarque : Ce le contenu sous licence étant distribué au Québec, Canada, certaines des clauses
dans ce contrat sont fournies ci-dessous en français.
EXONÉRATION DE GARANTIE. Le contenu sous licence visé par une licence est offert « tel quel ». Toute
utilisation de ce contenu sous licence est à votre seule risque et péril. Microsoft n’accorde aucune autre
garantie expresse. Vous pouvez bénéficier de droits additionnels en vertu du droit local sur la protection
dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les
garanties implicites de qualité marchande, d’adéquation à un usage particulier et d’absence de contre-
façon sont exclues.
MCT USE ONLY. STUDENT USE PROHIBITED X EULA
Learning objectives
In this module you will gain information:
● About this course
● About the audience
● Course pre-requisites
● Course agenda
● Certification details
Course Audience
Primary audience
The audience for this course is data professionals and data architects who want to learn about migrating
data platform technologies that exist on Microsoft Azure and how existing SQL based workloads can be
migrated and modernized.
Secondary audience
The secondary audience for this course is individuals who manage data platforms or develop applications
that deliver content from the existing data platform technologies.
Course Prerequisites
In addition to their professional experience with SQL Server, students who take this training should have
technical knowledge equivalent to the following courses:
• Azure fundamentals1
Course Agenda
At the end of this course, the student will learn:
1 https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/
MCT USE ONLY. STUDENT USE PROHIBITED
Welcome to the course 3
Microsoft Certification
This course is not associated to any specific exam certification
MCT USE ONLY. STUDENT USE PROHIBITED
Module 1 Introducing Data Platform Moderni-
zation
Module introduction
Module Introduction
In this module, the students will learn the purpose of Data Platform Modernization and they will outline
the benefits that data platform modernization can bring to an organization. The students will then learn
the various stages of a data platform migration projects to understand what is involve in each stage to
maximise the chances of a successful Data Platform Modernization Project. Finally, students will explore
the various data platform technologies to understand how each approach is different and why you would
choose one migration approach over another.
Learning objectives
In this module, you will be able to:
● Understand Data Platform Modernization
● Understand the Stages of Migration
● Data Platform Technologies
MCT USE ONLY. STUDENT USE PROHIBITED 6 Module 1 Introducing Data Platform Modernization
Learning objectives
In this module, you will learn:
● What is Data Platform Modernization
● Why perform Data Platform Modernization
● The 7 R considerations to migration
● Initiate and Discovery-At this stage, you perform an audit of your existing environment to under-
stand the data estate that exists within the business. You also gain insight on and document the type
of workloads that your applications and databases deal with such as how big the workloads are, the
frequency that the workloads run and what they are used for.
● Assessment-At this stage, you use the information gained in the discovery phase to perform a
thorough assessment of the workloads you identified and assess any potential problems or breaking
MCT USE ONLY. STUDENT USE PROHIBITED
Understand data platform modernization 7
changes that could exist pre or post migration, as well as the mitigation approach that will be used to
deal with them. You will also assess what Azure features can be used as soon as possible to maximize
the benefits of the data platform modernization project.
● Planning-The planning phase outlines the workloads and the associated databases and applications
that will be migrated. It will also specify the order in which they are migrated and what tools will be
used to perform the migration
● Transformation and Optimization-In this phase, any workload that requires any changes to become
compatible with the new data platform technology are dealt with by using transformations. Workloads
are then optimized to make use of the new features of the new data platform
● Testing and Remediation-At this stage, the migration is performed, with testing performed to
validate that the migration has been successful, and remediate any issues that arise
These terms can be used to help formulate the strategy that an organization would want to take when
undertaking a Data Platform Modernization project. As the table below shows the strategy can range
from doing nothing at all to a complete replacement of a Data Platform solution and application.
The graph below shows the amount of effort that each term requires compared to the value that the
business gains from the migration.
Lesson Summary
In this lesson, you learned about the purpose and benefits of data platform modernization. You have also
learned how to classify data platform and applications in terms of their migration methods using the
terms
● Remain
● Rehost
● Refactor
● Rearchitect
● Rebuild
● Replace
● Retire
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
MCT USE ONLY. STUDENT USE PROHIBITED
Understand data platform modernization 11
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Adatum Corporation acquired a factory from Northwind Traders that was surplus to their requirements.
The Northwind building has a key card access system which has a dedicated server. The server connects to
the Key card system through a physical card installed in the server.
How should this server be categorized for migration? (Choose all that apply)
Remain
Rehost
Refactor
Rearchitect
Rebuild
Replace
Retire
Question 2
Adatum Corporation acquired a factory from Northwind Traders that was surplus to their requirements.
The Northwind building has a facilities management system that monitors the temperature throughout the
building.
The temperature sensors communicate via a VPN with a central server which stores the data in a database
on a shared server for later analysis.
The building where the database server is being held is due to be demolished.
How should the database server be categorized for migration? (Choose all that apply)
Remain
Rehost
Refactor
Rearchitect
Rebuild
Replace
Retire
MCT USE ONLY. STUDENT USE PROHIBITED 12 Module 1 Introducing Data Platform Modernization
Learning objectives
In this lesson, you will learn:
● The initiate and discovery stage
● The assessment stage
● The planning stage
● The transform and optimize stage
● The validate and remediation stage
that you can collectively group databases together in logical groupings. By performing this exercise, you
will use the logical groupings of databases as a basis for migrating them to Azure as one unit.
Assessment Stage
The assessment stage takes the information that has been gained from the discovery phase and your
team performs a thorough assessment of the workloads you have identified to establish the following:
● Any potential migration blockers
● Any breaking changes that require post migration fixes
● Azure features that the workloads can utilize
You establish this by performing a Current Workload Assessment and a Workload Criteria Assessment
require an investigation into the required performance unit of the selected platform. For SQL Data-
base, this will be Database Transaction Unit (DTUs), for Azure SQL Data Warehouse this is Data
Warehouse Units (DWU), and Cosmos Database uses Request Units (RUs). You will also want to
demonstrate the ease of scaling these systems up or down in line with your system demands.
● Availability-Any availability requirements that are required should be adopted into the platform that
you migrate into. Azure SQL Databases highly-available as standard, with three copies of your data-
base held in the same data center to keep the data online and accessible during patching and
transient hard failures. SQL Server on Azure VMs would require HA technologies configured such as
Always On Failover Clustering, Always On availability groups, database mirroring or Peer to Peer
Replication.
● Disaster Recovery-Based on the organizations Restore Time Objective (RTO) and Restore Point
Objective (RPO), you should also consider if the technology that you are migrating to can meet these
requirements. This involves understanding the disaster recovery capabilities of each of the available
data platforms on Azure.
● Compliance-Be mindful of the compliance and regulatory requirements of the organization. Azure
data centers comply with strict regulations and compliance standards, to help customers meet
international data protection laws and industry requirements. In addition, understanding the security ,
privacy, compliance and transparency which is reflected in the capabilities of the platforms and
services offered through Azure will help you select the right service to do the job.
● Third party considerations-You may be using third party applications that are not yet compatible
with Azure. Check with the appropriate vendor for any updates, compatible versions or alternate
products.
Planning Stage
The planning stage of a data platform modernization project is used to determine the target platform,
and whether the data migration involves a one time sync or a continuous flow of data. You will also build
in any rollback or mitigation plans required if there should be any planned or unplanned interruptions or
issues.
Transformation
There may be one or more of the following changes that need to be made to a database to ensure that it
works successfully post migration
Optimize
There may be one or more of the following optimization guidelines you will want to follow during the
migration to ensure that your organization is getting the most out of their investment in Azure.
Lesson Summary
In this lesson, you learned have learned the stages that you should undertake in order to increase the
successful outcomes of a migration. This involves:
● The initiate and discovery stage
● The assessment stage
● The planning stage
● The transform and optimize stage
● The validate and remediation stage
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Which migration stage enables you to identify any potential blockers to a migration, any breaking changes
that require post migration fixes and the features that the migration can utilize.
Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
Question 2
You want to take advantage of the auto-scaling of Azure SQL Database once you have migrated an
on-premises database. Which migration stage would this be covered?
Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
MCT USE ONLY. STUDENT USE PROHIBITED 22 Module 1 Introducing Data Platform Modernization
Question 3
You want to understand the business requirements and reasons for migrating your data estate to Azure. At
which stage of the migration process is this done?
Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
MCT USE ONLY. STUDENT USE PROHIBITED
Data migration technologies 23
Learning objectives
In this lesson, you will learn the migration benefits of:
● SQL Server on Azure Virtual Machines
● SQL Database
● SQL Database Managed Instance
● SQL Data Warehouse
deploying and managing multiple databases with different workload characteristics. Elastic Pool databas-
es are deployed onto a single SQL Database server where resources are shared between all of the
databases on that server.
Single Databases can be purchased via two different models; the DTU Purchasing Model and the vCore
Purchasing Model. Elastic Pool databases can purchased via the eDTU Purchasing Model and the vCore
Purchasing Model. A Database Throughput Unit (DTU) is a unit of performance that is calculated as a
result of blending CPU, memory, data I/O and transaction log I/O. he higher the DTU, the higher the
performance level. The DTU Purchasing Model provides customers with per-hourly, fixed price billing. The
vCore Purchasing Model enables customers to select a performance level based on vCores and memory,
as opposed to DTUs, allowing compute to be scaled independently of the storage at a more granular
level. As an added benefit, the vCore Purchasing Model allows organizations to license Azure SQL
Databases with the Azure Hybrid Use Benefit for SQL Server. This means that customers with Active
Software Assurance (SA) coverage for SQL Server Enterprise and Standard Edition core licenses can
transfer this core-based license entitlement and receive savings of up to 30%
Under the DTU Purchasing Model, there are two different service tiers:
● Basic
● Standard
● Premium
Under the vCore Purchasing Model, there are three different service tiers:
● General Purpose
● Business Critical
● Hyperscale
Using a single Azure SQL Database service will suit many business requirements that have databases with
predictable performance requirements and it can bring about the following benefits:
● A SQL Server engine compatibility and native virtual network (VNET) support
● Dynamic scalability with no downtime
● Built-in intelligent optimization, global scalability and availability, and advanced security options
● Eliminates hardware costs and reduces administrative costs
● Built-in fault tolerance infrastructure capabilities, Azure SQL Database provides features, such as
automated backups, Point-In-Time Restore, geo-restore, and active geo-replication to increase
business continuity for applications hosting data in Azure SQL Database
● Databases of up to 4 TB or larger databases that can be horizontally or vertically partitioned using a
scale-out pattern
insights, and vulnerability assessment. It also adds support for database sizes up to 8TB and SQL Server
features like SQL Agent, cross-database querying and replication.
Using Azure SQL Database Managed Instance brings about the following benefits:
● Isolated environment (single-tenant service with VNET, dedicated compute and storage resources)
● Customer configurable backup retention and recovery
● Database Advisor and Log Analytics for advanced workload analysis
● Automatic database tuning and maintenance for predictable performance
● Monitor, troubleshoot and manage at scale
● Azure Portal functionality for manual service provisioning and scaling
● Azure AD authentication, single sign-on support
● Adheres to same compliance standards as Azure SQL Database
● Encryption of the data in transit and rest with customer provided encryption keys
● No patching and version upgrade overhead
Azure SQL Database Managed Instance is a SQL Server database engine. While it includes SQL Server
Agent, it doesn't include other components of SQL Server product including:
● SQL Server Reporting Services (SSRS).
● SQL Server Analysis Services (SSAS).
● SQL Server Integration Services (SSIS).
Lesson Summary
In this lesson, you have explored the range of data platform technology available and how the are
appropriate to support your workloads. In this lesson, you have learned the migration benefits of:
● SQL Server on Azure Virtual Machines
● SQL Database
● SQL Database Managed Instance
● SQL Data Warehouse
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You will be migrating three databases to Azure. Each of the databases contains queries that retrieve data
from the other two databases. Which Azure data platform technology would continue to meet this require-
ment?
SQL Server on Azure Virtual Machine
Azure SQL Database
Azure SQL Database Elastic Pool
SQL Server
Question 2
You have 30 departmental transactional databases that will be migrated to Azure. There is very low utiliza-
tion of each of the databases, but occasionally, some of the databases perform large volumes of data loads
that require extra resources to process the data. Which Azure data platform technology would continue to
meet this requirement?
Azure SQL Data Warehouse
Azure SQL Database
Azure SQL Database Elastic Pools
Azure SQL Database Managed instance
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 27
Module summary
Module Introduction
In this module, you have learned the purpose of Data Platform Modernization and the benefits that data
platform modernization can bring to an organization. You have learned the various stages of a data
platform migration projects to understand what is involve in each stage to maximise the chances of a
successful Data Platform Modernization. Finally, you explored the various data migration platform
technologies to understand how each is beneficial in a migration.
Learning objectives
In this module, you have learned to:
● Understand Data Platform Modernization
● Understand the Stages of Migration
● Data Platform Technologies
MCT USE ONLY. STUDENT USE PROHIBITED 28 Module 1 Introducing Data Platform Modernization
Answers
Question 1
Adatum Corporation acquired a factory from Northwind Traders that was surplus to their requirements.
The Northwind building has a key card access system which has a dedicated server. The server connects
to the Key card system through a physical card installed in the server.
How should this server be categorized for migration? (Choose all that apply)
■ Remain
Rehost
Refactor
Rearchitect
Rebuild
Replace
Retire
Explanation
The use of a physical card in the server excludes this server from migration to Azure.
Discussions with the vendor may identify the possibility or either a software upgrade or an alternative piece
of hardware that may allow the server to be migrated to Azure.
If neither of these are possible solutions then Remain should be the choice with a view to replacing the
system with one that is cloud compatible.
Question 2
Adatum Corporation acquired a factory from Northwind Traders that was surplus to their requirements.
The Northwind building has a facilities management system that monitors the temperature throughout
the building.
The temperature sensors communicate via a VPN with a central server which stores the data in a data-
base on a shared server for later analysis.
The building where the database server is being held is due to be demolished.
How should the database server be categorized for migration? (Choose all that apply)
Remain
Rehost
■ Refactor
Rearchitect
Rebuild
Replace
Retire
Explanation
The database server is already remote from the application server and communicates via a VPN.
The database is already on shared infrastructure and should be assessed to see whether it can be hosted
within PaaS or alternatively onto a shared IaaS server.
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 29
Question 1
Which migration stage enables you to identify any potential blockers to a migration, any breaking
changes that require post migration fixes and the features that the migration can utilize.
Initiate and discovery stage
■ Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
Explanation
The assessment stage is where you try to identify any potential blockers to a migration, any breaking
changes that require post migration fixes and the features that the migration can utilize.
Question 2
You want to take advantage of the auto-scaling of Azure SQL Database once you have migrated an
on-premises database. Which migration stage would this be covered?
Initiate and discovery stage
Assessment stage
Planning stage
■ Transform and optimize stage
Migrate, validate and remediate stage
Explanation
Using auto-scaling in Azure SQL Database is taking advantage of an Azure feature that is available. This
would be considered in the transform and optimize stage
Question 3
You want to understand the business requirements and reasons for migrating your data estate to Azure.
At which stage of the migration process is this done?
■ Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
Explanation
Understanding the business requirements and the reasons for migrating is performed in the initiate and
discovery stage
MCT USE ONLY. STUDENT USE PROHIBITED 30 Module 1 Introducing Data Platform Modernization
Question 1
You will be migrating three databases to Azure. Each of the databases contains queries that retrieve data
from the other two databases. Which Azure data platform technology would continue to meet this
requirement?
■ SQL Server on Azure Virtual Machine
Azure SQL Database
Azure SQL Database Elastic Pool
SQL Server
Explanation
Azure SQL Database and Azure SQL Database Elastic Pool are unable to perform cross database queries.
SQL Server is an on-premises data platform technology. Therefore, SQL Server on Azure Virtual Machine
would be the best option in this case
Question 2
You have 30 departmental transactional databases that will be migrated to Azure. There is very low
utilization of each of the databases, but occasionally, some of the databases perform large volumes of
data loads that require extra resources to process the data. Which Azure data platform technology would
continue to meet this requirement?
Azure SQL Data Warehouse
Azure SQL Database
■ Azure SQL Database Elastic Pools
Azure SQL Database Managed instance
Explanation
Azure SQL Database Elastic Pools would be an appropriate choice in this scenario as you allocate perfor-
mance resources to a pool rather than an individual database and pay for the collective performance
resources of the pool rather than for single database performance.
MCT USE ONLY. STUDENT USE PROHIBITED
Module 2 Choosing the right tools for Data
Migration
Module introduction
Module Introduction
In this module, the student will be introduced to the Data Migration Guide as a starting point for the
source of information that your organization should use for step by step guidance for modernizing your
existing data platform. They will then learn the value of the Microsoft Assessment and Planning Toolkit to
help discover the data assets that currently exist in their environments.
The students will then learn the tools that can be used to help them to assess for compatibility or
workload issues using both the Data Migration and Data Experimentation Assistant. Then an overview of
the SQL Server Migration Assistant is provided to show student how to migrate no-SQL Server workloads.
Finally, they will see how the Azure Database Migration Service can be used to aid online migration of
databases to reduce the amount of downtime
Learning objectives
In this module, you will:
● Discover the Database Migration Guide
● Build your data estate inventory using Map Toolkit
● Identify Migration candidates using Data Migration Assistant
● Evaluate Data workload using Database Experimentation Assistant
● Migrate non-SQL Server workloads using SQL Server Migration Assistant
● Data Migration using Azure Database Migration Service
MCT USE ONLY. STUDENT USE PROHIBITED 32 Module 2 Choosing the right tools for Data Migration
Learning objectives
In this module, you will learn:
● Explore the Data Migration Guide
● Supported Sources for the Data Migration Guide
● Microsoft migration tools and services
There is also the opportunity to explore the range of third party tools that are available to help you with
you migrations through the network of Microsoft Partners. In addition, case studies from customers are
also available to gain a perspective from those that have already migrated their SQL workloads
MCT USE ONLY. STUDENT USE PROHIBITED
Discover the Database Migration Guide 33
Oracle Database
Oracle Database is a relational database management system from the Oracle Corporation and is often
used by large enterprises to manage and process data.
The Database Migration Guide provide guidance on migrating the on-premises version to the following
cloud platforms:
● Azure SQL Database
● Azure Database for PostgreSQL
● SQL Data Warehouse
DB2 Database
DB2 Database is another relational database management system from IBM that is used by many organi-
zations. The Database Migration Guide provide guidance on migrating the on-premises version to the
following cloud platforms:
● Azure SQL Database
MySQL
MySQL is an open source SQL database management system which is developed, distributed, and
supported by Oracle Corporation. The Database Migration Guide provide guidance on migrating the
on-premises version to the following cloud platforms:
● Azure SQL Database
● Azure Database for MySQL
PostgreSQL (Postgres)
PostgreSQL is another open source SQL database management system. The Database Migration Guide
provide guidance on migrating the on-premises version to the following cloud platforms:
● Azure Database for PostgreSQL
MCT USE ONLY. STUDENT USE PROHIBITED 34 Module 2 Choosing the right tools for Data Migration
MongoDB
MongoDB is a document database that stores data in flexible, JSON-like documents, meaning fields can
vary from document to document and data structure can be changed over time. The Database Migration
Guide provide guidance on migrating to the following cloud platforms:
● Azure Cosmos DB
Cassandra
Apache Cassandra is a free and open-source, distributed, wide column store, NoSQL database manage-
ment system designed to handle large amounts of data across many commodity servers. The Database
Migration Guide provide guidance on migrating to the following cloud platforms:
● Azure Cosmos DB
Microsoft Access
Microsoft Access is an easy-to-use tool for creating business applications and databases, from templates
or from scratch. With its rich and intuitive design tools, Access can help business users create appealing
and highly functional applications in a minimal amount of time. The Database Migration Guide provide
guidance on migrating to the following cloud platforms:
● Azure SQL Database
SAP ASE
SAP ASE (Adaptive Server Enterprise), was originally known as Sybase SQL Server is a relational database
management system from SAP. The Database Migration Guide provide guidance on migrating to the
following cloud platforms:
● Azure SQL Database
Lesson Summary
In this lesson, you have learned how the Database Migration Guide can be a useful resource in helping
you perform a database migration.
Learning objectives
In this module, you have learned:
● What is the Data Migration Guide.
● The supported sources for the Data Migration Guide.
● The various Microsoft migration tools and services.
Important
1 https://docs.microsoft.com/en-us/sql/ssma/sql-server-migration-assistant?view=sql-server-2017
MCT USE ONLY. STUDENT USE PROHIBITED 36 Module 2 Choosing the right tools for Data Migration
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Which of the following Data Platform technologies cannot be migrated to Azure Cosmos DB
Cassandra
SAP ASE
Microsoft Azure Table Storage
MongoDB
Question 2
Which tool would you use to aid you with the discovery of servers, thier specs and the services running on
the server?
Azure Database Migration Service
Database Experimentation Assistant
Data Migration Assistant
Microsoft Assessment and Planning Toolkit
Question 3
Which stage of the Data Platform Migration project does that answer to the previous question support?
Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
MCT USE ONLY. STUDENT USE PROHIBITED
Build your data estate inventory using MAP Toolkit 37
Learning objectives
In this module, you will learn:
● What is the Microsoft Assessment and Planning (MAP) ToolKit
● How to use the MAP Toolkit
2 https://www.microsoft.com/en-us/download/details.aspx?id=7826
MCT USE ONLY. STUDENT USE PROHIBITED 38 Module 2 Choosing the right tools for Data Migration
Generating reports
Whilst you have the ability to review the results in the MAP UI, there is the option to generate reports.
This is useful when presenting your finding to other IT professional or executive. Click Generate Detailed
SQL Server Reports at the top of the scenario detail page to start generating the reports. After which
you only need to make slight modifications to prepare it for use in written documentation helping to pro-
vide information about your estate
4. In the scenario detail page click Perform an Inventory to launch the inventory wizard.
5. In the Inventory Scenarios page, ensure that the Windows Azure Platform Migration checkbox is
selected, then click Next.
6. In the Discovery Methods page, uncheck Use Active Directory Domain Services (AD DS).
7. Check Manually enter computer names and credentials then click Next.
8. In All Computer Credentials page, click Create.
9. In the Account Entry dialog, type the username for the local computer user (example: Administra-
tor) in the Account Name field
10. In both the Password and Confirm Password fields, type the password for the local computer user
(example: password) then click Save.
11. In the All Computer Credentials Page, click Next.
12. Click Next in the Credentials Order page.
13. In the Enter Computers Manually Page, click Create.
14. In the Specify Computers and Credentials page, type the name of the local computer (example:
MAP-HOL) as the computer name and click Add.
15. Check Use All Computers Credential list and click Save.
16. Click Next and review the information displayed in the Summary page.
17. Click Finish to launch a status dialog and the inventory process.
18. When it finishes, click Close on the status dialog.
3. View the Database Instances tab to see all database instances listed with server details including if
the server is virtualized (Machine Type).
4. View the Components tab to see all installed database components listed with server details.
5. In the SQLServerDatabaseDetails Excel report, view the SQL Server database information.
6. After viewing close reports and file browser.
Lesson Summary
In this lesson, you have been introduced to the Microsoft Assessment and Planning (MAP) Toolkit and
how it can help you in the discovery stage of a Data Platform Modernization project. You have also
learned the capabilities of the tool and how you can use it to gain information about the SQL Servers on
your network.
Learning objectives
In this module, you have learned:
● What is the Microsoft Assessment and Planning (MAP) ToolKit
● How to use the MAP Toolkit
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You are a consultant for the Adatum Corporation performing a data migration for a bank. You need a
laptop to install and run the Microsoft Assessment and Planning Toolkit to perform an inventory of thier
network. However, you are not allowed to use your own laptop on thier network. You need to advise thier IT
department of the spec of machine to use to perform this activity. Which operation systems can you use to
perfrom the task?
Windows 8.1 Professional Edition
Windows 8.1 Enterprise Edition
Windows Server 2016
Windows 7 Professional
MCT USE ONLY. STUDENT USE PROHIBITED
Build your data estate inventory using MAP Toolkit 41
Question 2
You are a consultant for the Adatum Corporation performing a data migration for a bank. You have run the
Microsoft Assessment and Planning Toolkit to perform an inventory of thier network. The Data Engineer at
the bank has expressed concern over the accuracy of the report as some of the servers that deal with key
business process such as transaction management are not listed. From the available answers, which two are
the most likely explanation?
The servers don't exist
Remote Desktop Protocol is not enabled on those servers
Remote administration is not enabled on those servers
The Discovery method used does not include the servers.
MCT USE ONLY. STUDENT USE PROHIBITED 42 Module 2 Choosing the right tools for Data Migration
Learning objectives
In this module, you will learn:
● What is the Data Migration Assistant?
● Data Migration Assistant Configuration
● Using the Data Migration Assistant
● Data Migration Assistant Best Practices
This tool can be helpful to you in identifying any issues that can affect a migration to an Azure SQL data
platform. The DMA can run assessment projects that will identify any blocking issues or unsupported
features that are currently in use with your on-premises SQL Server. It can also help you understand the
new features in the target SQL Server platform that the database can benefit from after a migration. The
DMA can also perform migration projects that can migrate an on-premises SQL Server instance to a
modern SQL Server instance hosted on-premises or on an Azure virtual machine (VM) that is accessible
from your on-premises network.
The Data Migration Assistant replaces all previous versions of SQL Server Upgrade Advisor and should be
used for upgrades for most SQL Server versions.
Double clicking on this file starts the Data Migration Assistant setup which is relatively straightforward.
Click on Next on the Welcome screen
3 https://www.microsoft.com/en-us/download/details.aspx?id=53595
MCT USE ONLY. STUDENT USE PROHIBITED
Identify Migration candidates using Data Migration Assistant 45
and then click on Install to complete the installation. Optionally you can select the Launch the Data
Migration Assistant on completion to launch the tool at the end of the installation
MCT USE ONLY. STUDENT USE PROHIBITED 48 Module 2 Choosing the right tools for Data Migration
Advanced Configuration
You can fine-tune certain behavior of Data Migration Assistant by setting configuration values in the dma.
exe.config file. This file can be found in the following folders:
● Desktop Application
● %ProgramFiles%\Microsoft Data Migration Assistant\dma.exe.config
● Command-Line Utility
● %ProgramFiles%\Microsoft Data Migration Assistant\dmacmd.exe.config
The additional settings that can be configured in the dma.exe.config file include:
<workflowSettings>
MCT USE ONLY. STUDENT USE PROHIBITED
Identify Migration candidates using Data Migration Assistant 49
</workflowSettings>
</advisorGroup>
<workflowSettings>
</workflowSettings>
</advisorGroup>
</appSettings>
3.
4. You can then define setting for your assessment project to check database compatibility or feature
parity
5.
6. Set the source database that you would like to perform the check against, and then start the assess-
ment
MCT USE ONLY. STUDENT USE PROHIBITED
Identify Migration candidates using Data Migration Assistant 51
7.
8. and then review the results, either in the tool, or exported into a JSON file for later review
9.
10. Migration Projects.
11. In this configuration, the Data Migration Assistant will migrate the data, schema, or both to the target
services defined in the settings.
MCT USE ONLY. STUDENT USE PROHIBITED 52 Module 2 Choosing the right tools for Data Migration
12.
13. Note. Migration projects using the Data Migration Assistant will be covered in a later module
isn't used and the network is compromised by an attacker, the SQL logins being migrated could get
intercepted and/or modified on-the-fly by the attacker.
Lesson Summary
In this lesson, you have learned about the Data Migration Assistant and how it can be used to support
you in your SQL Server Migration assessments, or with a SQL Server migration itself. You learned the
installation and configuration of the tool as well as the advanced settings that and you saw an example of
how you can perform an assessment using the tool and the best practices to follow when using it.
Learning objectives
In this module, you have learned:
● What is the Data Migration Assistant?
● Data Migration Assistant Configuration
● Using the Data Migration Assistant
● Data Migration Assistant Best Practices
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You are performing an assessment of an on-premises SQL Server that contains over 40 databases. You
decide to use the Data Migration Assistant, but as you perform the assesment you recieve timeout errors.
What should you do to attempt to resolve this issue?
Stop the on-premises SQL Server instance
In the dma.exe.config file, change the element "assessment parallelDatabases" from 8 to 1
In the dma.config file, change the element "assessment parallelDatabases" from 8 to 1
In the dma.exe.config file, change the element "migrate parallelDatabases" from 8 to 1
MCT USE ONLY. STUDENT USE PROHIBITED 54 Module 2 Choosing the right tools for Data Migration
Question 2
You are running the DAta Migration Assistant on your laptop, and set the source to a on-premises SQL
Server that you have been asked to assess. You recieve a message stating that you sont have the permission
to run the tool against the server. Which role should you be a member of on the SQL Server that you are
assessing?
Sysadmin
db_datareader
SecurityAdmin
Backup_Operator
MCT USE ONLY. STUDENT USE PROHIBITED
Evaluate Data workload using Database Experimentation Assistant 55
Learning objectives
In this module, you will learn:
● What is Database Experimentation Assistant
● How to configure the Database Experimentation Assistant
● How to use the Database Experimentation Assistant
● How to analyze the Database Experimentation results
files is complete, the Database Experimentation Assistant analyzes the results of the replay, and performs
a comparison of the A/B environments. The comparison results are displayed in Database Experimenta-
tion Assistant.
The hardware configurations of each test environment should be as similar as possible so SQL Server can
accurately analyze the performance effect of your proposed changes.
As a result, the three high level tasks that you perform in the Database Experimentation Assistant:
1. Capture Workloads
2. Capture trace file information from a production server to capture real world workloads.
3. Replay Workloads
4. Replay the captured trace files against a source and target server to generated information against
each version.
5. Analyze Workloads
6. View the results so that a workload performance comparison can be made between the source adn
target workloads
Pre-requisites
The following are prerequisites for running the Database Experimentation Assistant and the supporting
infrastructure:
● Minimum hardware requirement for the DEA tool is a single-core machine with 3.5 GB of RAM.
4 https://docs.microsoft.com/en-us/sql/tools/distributed-replay/sql-server-distributed-replay?view=sql-server-2017
MCT USE ONLY. STUDENT USE PROHIBITED
Evaluate Data workload using Database Experimentation Assistant 57
● An additional 33% of performance trace size is needed to store A, B, and report analysis databases.
● Windows authentication is required between all the servers taking part in the DEA including the server
that will be analyzed (source, target and analysis server), and the servers running the Distributes Relay
infrastructure.
● The user running DEA must have sysadmin rights on the source and target database server
● the service account running the source and target database server must have write access to the trace
folder path.
● DEA communicates with the Distributed Replay controller by using COM interfaces. Make sure that
TCP ports are opened for incoming requests on the Distributed Replay controller.
● recommend that you install DEA on the same machine as the Distributed Replay controller.
Note: DEA has an internet-enabled feature that can send telemetry information to Microsoft. Telemetry is
optional and must be configured. Should you choose to use this and you can always see what's collected.
All log files from DEA are saved in the %temp%\DEA folder.
●
MCT USE ONLY. STUDENT USE PROHIBITED 60 Module 2 Choosing the right tools for Data Migration
●
3. Replay Workloads
4. Here you will define the setup of the Distributed Replay infrastructure that you have in place and that
is required to run the environment. You then select the trace file that you want to replay, as well as the
location to store the replay preprocessing output. Finally, you specify the test instance you want to
run the trace against. In the DEA UI this can only be done one instance at a time. The cmd line tool
can run multiple instances in parallel.
● In DEA, select the play icon in the left menu to go to All Replays. The list of past replays that run
during the session, if any, appear. To start a new replay, select New Replay.
● Enter or select the following information:
● Replay name: The file name for the replay trace.
● Controller machine name: The name of the Distributed Replay controller machine.
● Path to source trace file on controller: The file path for the source trace file from Capture.
● SQL Server instance name: The name of the SQL Server instance on which to replay the
source trace.
MCT USE ONLY. STUDENT USE PROHIBITED
Evaluate Data workload using Database Experimentation Assistant 61
● Path to store target trace file on SQL Server machine: The folder path for the resulting
replay trace file.
● Select the check box to restore the backup from the first step.
● Select Start to start the replay.
●
5. Analyze Workloads
6. Once the replay is completed, you can review the results in the Database Experimentation Assistant by
creating a new analysis report and pointing to each of the trace files generated for the source and
target server. You also specify a server name that would host the reports.To generate an analysis
report:
● In the left menu, go to Analysis Reports. Connect to the computer running SQL Server where you
store your report databases. A list of all reports in the server appears. To create a new report, select
New Report.
● Enter or select the information that's required to generate a report:
● Report name: The name of the analysis report to create.
● Trace for Target 1 SQL Server: The path for the trace file from replaying on Target 1.
● Trace for Target 2 SQL Server: The path for the trace file from replaying on Target 2.
● Select Start to generate the report. The new report appears at the top of the list. The icon next to
the report becomes a green checkmark when the report has been generated.
MCT USE ONLY. STUDENT USE PROHIBITED 62 Module 2 Choosing the right tools for Data Migration
and click on another slice to see the specific queries that make up the analysis. For example, clicking on
the **New Errors"" slice will return the following information.
MCT USE ONLY. STUDENT USE PROHIBITED 64 Module 2 Choosing the right tools for Data Migration
Comparison Summary
When you view a specific query in the reports as described above, you can drill down into information
that provides a more detailed comparison of the performance of the query on the source and target
server.
The Comparison Summary page shows summary statistics for that query and includes the number of
executions, mean duration, mean CPU, mean reads/writes, and error count. If the query is an error query,
the Error Information tab shows more information about the error. The Query Plan Information tab shows
information about the query plans that are used for the query on Target 1 and Target 2.
Lesson Summary
In this lesson, you have learned how you can take the workloads that are generated on your production
servers and test them against the target servers that you are migrating to using the Database Experimen-
tation Assistant.
Learning objectives
In this module, you have learned:
● What is Database Experimentation Assistant
● How to configure the Database Experimentation Assistant
● How to use the Database Experimentation Assistant
● How to analyze the Database Experimentation results
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
MCT USE ONLY. STUDENT USE PROHIBITED
Evaluate Data workload using Database Experimentation Assistant 65
Knowledge Check
Question 1
You are wanting to use the Database Experimentation Assistant to test the queries that are running against
your SQL Server 2012 Enterprise Edition, against a SQL Server 2016 Enterprise Edition that is running on an
Azure Virtual Machine. The SQL Server 2012 server Enterprise Edition is configured with SQL Server Authen-
tication, and SQL Server 2016 Enterprise Edition is configured with Mixed Mode Authentication. Will the
Database Experimentation Assistant execute successfully?
No
Yes
Question 2
You can only use trace files generated by the Database Experimentation Assistant to perform an analysis of
your servers? True or False?
True
False
MCT USE ONLY. STUDENT USE PROHIBITED 66 Module 2 Choosing the right tools for Data Migration
Learning objectives
In this module, you will learn:
● What is the SQL Server Migration Assistant
● Using the SQL Server Migration Assistant (SSMA) for Oracle
● Using the SQL Server Migration Assistant (SSMA) for MySQL
Installation
SSMA for Oracle is designed to work with Oracle 9 or later versions and all editions of SQL Server. Before
you install SSMA, make sure that the computer meets the following requirements:
● Windows 7 or later versions, or Windows Server 2008 or later versions.
● Microsoft Windows Installer 3.1 or a later version.
● The Microsoft .NET Framework version 4.0 or a later version. The .NET Framework version 4.0 is
available on the SQL Server product media. You can also obtain it from the .NET Framework Developer
Center.
MCT USE ONLY. STUDENT USE PROHIBITED
Migrate non SQL Server workloads using SQL Server Migration Assistant 67
● Oracle Client 9.0 or a later version, and connectivity to the Oracle databases that you want to migrate.
The Oracle client version must be the same version as, or a later version than, the Oracle database
version. You can install the Oracle Client from the Oracle product media or from the Oracle Web site.
For information about connectivity, see Connecting to Oracle Database (OracleToSQL).
● Access to and sufficient permissions on the computer that hosts the target instance of SQL Server or
Azure SQL DB where you will be migrating database objects and data. For more information, see
Connecting to SQL Server (OracleToSQL).
● 4 GB RAM recommended.
To install the SSMA client
1. Double-click SSMA for Oracle n.Install.exe, where n is the build number.
2. On the Welcome page, click Next.
If you do not have the prerequisites installed, a message will appear that indicates that you must first
install required components. Make sure that you have installed all prerequisites, and then run the
installation program again.
3. Read the End User License Agreement. If you agree, select I accept the terms in the license agreement,
and then click Next.
4. On the Choose Setup Type page, click Typical.
5. Click Install.
The default installation location is C:\Program Files\Microsoft SQL Server Migration Assistant for Oracle.
In addition to the SSMA program files, you must also install the SSMA for Oracle extension pack on SQL
Server.
Full details on how to migrate can be found at the following web location5
Installation
1. Go to https://aka.ms/ssmaformysql
2. Confirm that your environment supports the software by checking the required System Requirements.
3. Download SSMAforMySQL_x.x.x.msi which is the 64 bit version of the SQL Server Migration Assis-
tant for MySQL. If appropriate download the 32 bit version indicated by the x86 file name.
4. Double-Click the installer SSMAforMySQL_x.x.x.msi.
5. Click Next on the Welcome screen.
6. Read the User License Agreement and accept if appropriate and then click Next.
7. Choose Setup Type by selecting Complete
8. Click if required sending Telemetry and checking for newer versions and then click Install.
9. If prompted allow UAC control for this application. Complete install by clicking Finish.
After SSMA is installed and licensed, you can use SSMA to migrate MySQL databases to SQL Server or
Azure SQL DB. It helps to become familiar with the SSMA user interface before you start.
To start a migration, you must:
● Create a new project.
● Connect to a MySQL database.
● After a successful connection, MySQL schemas will appear in SQL Server Migration Assistant for
MySQL ready for conversions to SQL Server/Azure SQL DB.
Note: Course DP-160T00 explores Migrating from MySQL to SQL Server in more depth
Lesson Summary
In this lesson, you are provided with the high level steps required to migrate non SQL Server workloads
from products such as MySQL and Oracle. You have seen how to install SQL Server Migration Assistant to
help with the automation of these types of migrations.
5 https://docs.microsoft.com/en-us/sql/ssma/oracle/migrating-oracle-databases-to-sql-server-oracletosql?view=sql-server-2017
MCT USE ONLY. STUDENT USE PROHIBITED
Migrate non SQL Server workloads using SQL Server Migration Assistant 69
Learning objectives
In this module, you have learned:
● What is the SQL Server Migration Assistant
● Using the SQL Server Migration Assistant (SSMA) for Oracle
● Using the SQL Server Migration Assistant (SSMA) for MySQL
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Which of the following Azure Data Platform technologies can't be used by the SQL Server Migration Assis-
tant to automate the migration from MySQL?
Azure SQL Database
Azure SQL Database Managed Instance
Azure SQL Data Warehouse
All of the above
MCT USE ONLY. STUDENT USE PROHIBITED 70 Module 2 Choosing the right tools for Data Migration
Learning objectives
In this module, you will learn:
● What is Database Migration Service
● The prerequisites setup for the Database Migration Service
● Creating the Database Migration Service
● What is Azure Migrate
Note: Using Azure Database Migration Service to perform an online migration requires creating an
instance based on the Premium pricing tier.
Common prerequisites
Azure Database Migration Service prerequisites that are common across all supported migration scenari-
os include the need to:
● Ensure the the TCP/IP protocol is enabled in SQL Server
● Configure your Windows Firewall for database engine access.
● When using a firewall appliance in front of your source databases, add firewall rules to allow Azure
Database Migration Service to access the source database for migration.
● Create an Azure Virtual Network (VNet) for Azure Database Migration Service by using the Azure
Resource Manager deployment model. It provides site-to-site connectivity to your on-premises source
servers by using either ExpressRoute or VPN
● Ensure that your VNet Network Security Group (NSG) rules don't block the following communication
ports 443, 53, 9354, 445, 12000.
MCT USE ONLY. STUDENT USE PROHIBITED 72 Module 2 Choosing the right tools for Data Migration
$writerActions = `
"Microsoft.DataMigration/services/*/write", `
"Microsoft.DataMigration/services/*/delete", `
"Microsoft.DataMigration/services/*/action"
$writerActions += $readerActions
$subScopes = ,"/subscriptions/00000000-0000-0000-0000-000000000000/","/
subscriptions/11111111-1111-1111-1111-111111111111/"
function New-DmsReaderRole() {
6 https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-managed-instance-get-started
MCT USE ONLY. STUDENT USE PROHIBITED
Data migration using Azure Database Migration Service 73
$aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRole-
Definition]::new()
$aRole.Name = "Azure Database Migration Reader"
$aRole.Description = "Lets you perform read only actions on DMS service/
project/tasks."
$aRole.IsCustom = $true
$aRole.Actions = $readerActions
$aRole.NotActions = @()
$aRole.AssignableScopes = $subScopes
function New-DmsContributorRole() {
$aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRole-
Definition]::new()
$aRole.Name = "Azure Database Migration Contributor"
$aRole.Description = "Lets you perform CRUD actions on DMS service/project/
tasks."
$aRole.IsCustom = $true
$aRole.Actions = $writerActions
$aRole.NotActions = @()
$aRole.AssignableScopes = $subScopes
function Update-DmsReaderRole() {
$aRole = Get-AzRoleDefinition "Azure Database Migration Reader"
$aRole.Actions = $readerActions
$aRole.NotActions = @()
Set-AzRoleDefinition -Role $aRole
}
function Update-DmsConributorRole() {
$aRole = Get-AzRoleDefinition "Azure Database Migration Contributor"
$aRole.Actions = $writerActions
$aRole.NotActions = @()
Set-AzRoleDefinition -Role $aRole
}
MCT USE ONLY. STUDENT USE PROHIBITED 74 Module 2 Choosing the right tools for Data Migration
New-DmsContributorRole
Update-DmsReaderRole
Update-DmsConributorRole
1. Select +Create a resource to create an instance of the Azure Database Migration Service.
2. Search the marketplace for “migration”, select Azure Database Migration Service, and then on the
Azure Database Migration Service screen, select Create.
7 https://portal.azure.com/
MCT USE ONLY. STUDENT USE PROHIBITED
Data migration using Azure Database Migration Service 75
● Choose a Service Name that is memorable and unique to identify your instance of the Azure
Database Migration Service.
● Select the Azure Subscription in which you want to create the instance.
● Select an existing Resource Group or create a new one.
● Choose the Location that is closest to your source or target server.
● Select an existing Virtual network (VNET) or create one.
The VNET provides the Azure Database Migration Service with access to the source database and
target environment.
● Select Basic: 1 vCore for the Pricing tier.
4. Click Create
MCT USE ONLY. STUDENT USE PROHIBITED 76 Module 2 Choosing the right tools for Data Migration
MCT USE ONLY. STUDENT USE PROHIBITED
Data migration using Azure Database Migration Service 77
Note: You will perform use the Database Migration Service to perform an actual Migration in a later mod-
ule
Property Details
Target location The Azure location to which you want to migrate
Storage type The type of managed disks you want to allocate
for all VMs that are part of the assessment. If the
sizing criterion is as on-premises sizing you can
specify the target disk type either as premium
disks (the default), standard SSD disks or standard
HDD disks. For performance-based sizing, along
with the above options, you also have the option
to select Automatic which will ensure that the disk
sizing recommendation is automatically done
based on the performance data of the VMs. For
example, if you want to achieve a single instance
VM SLA of 99.9%, you may want to specify the
storage type as Premium managed disks which will
ensure that all disks in the assessment will be
recommended as Premium managed disks. Note
that Azure Migrate only supports managed disks
for migration assessment.
Reserved Instances Whether you have reserved instances in Azure.
Azure Migrate estimates the cost accordingly.
Sizing criterion Sizing can be based on performance history of the
on-premises VMs (the default), or as on-premises,
without considering performance history.
MCT USE ONLY. STUDENT USE PROHIBITED 78 Module 2 Choosing the right tools for Data Migration
Property Details
Performance history By default, Azure Migrate evaluates the perfor-
mance of on-premises machines using perfor-
mance history for the last day, with a 95% percen-
tile value.
Comfort factor Azure Migrate considers a buffer (comfort factor)
during assessment. This buffer is applied on top of
machine utilization data for VMs (CPU, memory,
disk, and network). The comfort factor accounts
for issues such as seasonal usage, short perfor-
mance history, and likely increases in future usage.
For example, a 10-core VM with 20% utilization
normally results in a 2-core VM. However, with a
comfort factor of 2.0x, the result is a 4-core VM
instead. The default comfort setting is 1.3x.
VM series The VM series used for size estimations. For
example, if you have a production environment
that you do not plan to migrate to A-series VMs in
Azure, you can exclude A-series from the list or
series. Sizing is based on the selected series only.
Currency Billing currency. Default is US dollars.
Discount (%) Any subscription-specific discount you receive on
top of the Azure offer. The default setting is 0%.
VM uptime If your VMs are not going to be running 24x7 in
Azure, you can specify the duration (number of
days per month and number of hours per day) for
which they would be running and the cost estima-
tions will be done accordingly. The default value is
31 days per month and 24 hours per day.
Azure offer The Azure offer you're enrolled to. Azure Migrate
estimates the cost accordingly.
Azure Hybrid Benefit Whether you have software assurance and are
eligible for Azure Hybrid Benefit with discounted
costs.
Lesson Summary
In this lesson, you have learned about the Database Migration Service and how it can be used to manage
large scale migrations from on-premises servers to Azure. You also learned the prerequisites setup and
how to Create the Database Migration Service. You also learned the difference between the Database
Migration Service and Azure Migrate to resolve any confusion that may surround the differences between
each service.
Learning objectives
In this module, you have learned:
● What is Database Migration Service
● The prerequisites setup for the Database Migration Service
● Creating the Database Migration Service
● What is Azure Migrate
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You are using the Azure Database Migration Service to migrate databases from SQL Server 2014 SP3 in
Azure SQL DAtabase Managed Instance. Whilst running the assessment on Azure Database Migration
Service you recieve the following error from SQL Server Error: 40 – could not open a connection to SQL
server. What should you check on the SQL Server 2014 instance:
Ensure the TCP/IP protocol is enabled in SQL Server
Ensure the Windows Firewall for database engine access.
Ensure any firewall appliance in front of your source databases has the correct firewall rule
All of the above
Question 2
You are a database adminstrator for Adventureworks and you manage over 200 SQL Servers hosted on
VMWare. You manage the VMWare estate managed by vCenter Server version 6.5 and want to migrate to
Azure SQL Server Virtual Machines. Which tool would enable you to perform this?
Database Migration Assistant
Azure Migrate Service
SQL Server Migration Assistant
Azure Database Migration Service
MCT USE ONLY. STUDENT USE PROHIBITED 80 Module 2 Choosing the right tools for Data Migration
Module summary
Module Summary
In this module, you have been introduced to the Data Migration Guide as a starting point for the source
of information that your organization should use for step by step guidance for modernizing your existing
data platform. You then learned the value of the Microsoft Assessment and Planning Toolkit to help
discover the data assets that currently exist in your environment.
You then explored the tools that can be used to help you to assess for compatibility or workload issues
using both the Data Migration and Data Experimentation Assistant. Then an overview of the SQL Server
Migration Assistant was provided to show student how to migrate no-SQL Server workloads. Finally, you
saw how the Azure Database Migration Service can be used to aid online migration of databases to
reduce the amount of downtime.
Learning objectives
In this module, you have learned how to:
● Discover the Database Migration Guide
● Build your data estate inventory using Map Toolkit
● Identify Migration candidates using Data Migration Assistant
● Evaluate Data workload using Database Experimentation Assistant
● Migrate non-SQL Server workloads using SQL Server Migration Assistant
● Data Migration using Azure Database Migration Service
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 81
Answers
Question 1
Which of the following Data Platform technologies cannot be migrated to Azure Cosmos DB
Cassandra
■ SAP ASE
Microsoft Azure Table Storage
MongoDB
Explanation
Cassandra, MongoDB and Microsoft Azure Table Storage are all NOSQL data stores that can be migrated to
Azure Cosmos DB. SAP ASE is a relational data store, previously known as Sybase SQL that cannot be
migrated to Azure Cosmos DB
Question 2
Which tool would you use to aid you with the discovery of servers, thier specs and the services running
on the server?
Azure Database Migration Service
Database Experimentation Assistant
Data Migration Assistant
■ Microsoft Assessment and Planning Toolkit
Explanation
he Microsoft Assessment and Planning Toolkit (MAPS) is a very useful that helps you to build an inventory
of the servers that you have on your network, the specs of the servers and the services that are running on
them.
Question 3
Which stage of the Data Platform Migration project does that answer to the previous question support?
■ Initiate and discovery stage
Assessment stage
Planning stage
Transform and optimize stage
Migrate, validate and remediate stage
Explanation
The Microsoft Assessment and Planning Toolkit (MAPS) is a very useful tool to use in the discovery stage of
a Data Platform Modernization project when you are wanting to understand the make-up of your current
environment.
MCT USE ONLY. STUDENT USE PROHIBITED 82 Module 2 Choosing the right tools for Data Migration
Question 1
You are a consultant for the Adatum Corporation performing a data migration for a bank. You need a
laptop to install and run the Microsoft Assessment and Planning Toolkit to perform an inventory of thier
network. However, you are not allowed to use your own laptop on thier network. You need to advise thier
IT department of the spec of machine to use to perform this activity. Which operation systems can you
use to perfrom the task?
■ Windows 8.1 Professional Edition
■ Windows 8.1 Enterprise Edition
■ Windows Server 2016
Windows 7 Professional
Explanation
The tool can be run on a PC on a wide range of operating systems from Windows 8.1 Professional and
Enterprise editions onwards. Therefore, Windows 7 Professional would not be supported.
Question 2
You are a consultant for the Adatum Corporation performing a data migration for a bank. You have run
the Microsoft Assessment and Planning Toolkit to perform an inventory of thier network. The Data
Engineer at the bank has expressed concern over the accuracy of the report as some of the servers that
deal with key business process such as transaction management are not listed. From the available
answers, which two are the most likely explanation?
The servers don't exist
Remote Desktop Protocol is not enabled on those servers
■ Remote administration is not enabled on those servers
■ The Discovery method used does not include the servers.
Explanation
Remote Administration must be enabled on servers in order for MAP to work successfully, if remote admin-
istration has been enabled, then it is possible that thediscovery method used may be a scope that does not
include those servers.
Question 1
You are performing an assessment of an on-premises SQL Server that contains over 40 databases. You
decide to use the Data Migration Assistant, but as you perform the assesment you recieve timeout errors.
What should you do to attempt to resolve this issue?
Stop the on-premises SQL Server instance
■ In the dma.exe.config file, change the element "assessment parallelDatabases" from 8 to 1
In the dma.config file, change the element "assessment parallelDatabases" from 8 to 1
In the dma.exe.config file, change the element "migrate parallelDatabases" from 8 to 1
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 83
Question 2
You are running the DAta Migration Assistant on your laptop, and set the source to a on-premises SQL
Server that you have been asked to assess. You recieve a message stating that you sont have the permis-
sion to run the tool against the server. Which role should you be a member of on the SQL Server that you
are assessing?
Sysadmin
db_datareader
■ SecurityAdmin
Backup_Operator
Explanation
In order to use the Data Migration Assistant on an on-premises SQL Server, you need to be a member of the
Sysadmins role
Question 1
You are wanting to use the Database Experimentation Assistant to test the queries that are running
against your SQL Server 2012 Enterprise Edition, against a SQL Server 2016 Enterprise Edition that is
running on an Azure Virtual Machine. The SQL Server 2012 server Enterprise Edition is configured with
SQL Server Authentication, and SQL Server 2016 Enterprise Edition is configured with Mixed Mode
Authentication. Will the Database Experimentation Assistant execute successfully?
■ No
Yes
Explanation
The Database Experimentation Assistant will not execute successfully as the source and target server should
be running WIndows Authentication
Question 2
You can only use trace files generated by the Database Experimentation Assistant to perform an analysis
of your servers? True or False?
True
■ False
Explanation
This is false, you can use trace files that have been generated by the Database Experimentation Assistant or
you can use existing trace files that you have generated in the past
Question 1
Which of the following Azure Data Platform technologies can't be used by the SQL Server Migration
Assistant to automate the migration from MySQL?
Azure SQL Database
Azure SQL Database Managed Instance
■ Azure SQL Data Warehouse
All of the above
Explanation
You cannot use the SQL Server Migration Assistant for MySQL to perform a migration to Azure SQL Data
Warehouse. This can only be performed using the SQL Server Migration Assistant for Oracle
MCT USE ONLY. STUDENT USE PROHIBITED 84 Module 2 Choosing the right tools for Data Migration
Question 1
You are using the Azure Database Migration Service to migrate databases from SQL Server 2014 SP3 in
Azure SQL DAtabase Managed Instance. Whilst running the assessment on Azure Database Migration
Service you recieve the following error from SQL Server Error: 40 – could not open a connection to SQL
server. What should you check on the SQL Server 2014 instance:
Ensure the TCP/IP protocol is enabled in SQL Server
Ensure the Windows Firewall for database engine access.
Ensure any firewall appliance in front of your source databases has the correct firewall rule
■ All of the above
Explanation
All of the answers outlined above could contribute to Error: 40 – could not open a connection to SQL server.
These are some the pre-requisites required to use the Azure Database Migration Service
Question 2
You are a database adminstrator for Adventureworks and you manage over 200 SQL Servers hosted on
VMWare. You manage the VMWare estate managed by vCenter Server version 6.5 and want to migrate to
Azure SQL Server Virtual Machines. Which tool would enable you to perform this?
Database Migration Assistant
■ Azure Migrate Service
SQL Server Migration Assistant
Azure Database Migration Service
Explanation
The Azure Migrate Service enables you to migrate SQL Servers hosted on VMWare managed by vCenter
Server to Azure SQL Server Virtual Machines.
MCT USE ONLY. STUDENT USE PROHIBITED
Module 3 Migrate SQL Workloads to Azure
Virtual Machines
Module introduction
Module Introduction
In this module, the student will learn how thet can migrate SQL Server workloads to SQL Server installa-
tions that are running on an Azure Virtual Machine. This Infrastructure as a Service approach has benefits
that you will learn, as well as the considerations that need to be taken into account when using this
approach. The students will then learn the various ways to migrate the SQL Server workloads both offline
and online, and then finish up with the post migration tasks that may have to be taken to ensure that the
migrated database performs appropriately.
Learning objectives
In this module, you will:
● Considerations for migrating to SQL Server on Azure Virtual Machines
● SQL Server workload to Azure Virtual Machine migration options
● Application configuration and optimization
MCT USE ONLY. STUDENT USE PROHIBITED 86 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Learning objectives
In this module, you will learn:
● Understand the Migration Benefits to SQL Server
● Tools to support your migration planning
● Additional migration planning considerations
● Defining the migration approach
SQL Server on Azure virtual machines are optimized for migrating existing SQL Server applications, with
up to 64 TB of storage. All the versions and editions of SQL Server are available, and they offer 100%
compatibility with SQL Server, allowing you to host as many databases as needed and executing
cross-database transactions.
Licensing
There are two types of licensing model that can be used for SQL Server virtual machines hosted in Azure.
You should assess which on is the most appropriate for your migration scenario.
● The pay-as-you-go (PAYG) model means that the per-second cost of running the Azure VM includes
the cost of the SQL Server license.
● The bring-your-own-license (BYOL) model is also known as the Azure Hybrid Benefit (AHB), and it
allows you to use your own SQL Server license with a VM running SQL Server. You would only pay for
the VM usage.
You can modify the licensing with either the Azure Portal, Azure CLI or PowerShell
MCT USE ONLY. STUDENT USE PROHIBITED 88 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Networking
If you provision a SQL Server VM in the Azure portal, you have the option of specifying the type of SQL
connectivity which includes:
● Public: Connect to SQL Server over the internet
● Private: Connect to SQL Server in the same virtual network
● Local: Connect to SQL Server locally on the same virtual machine
If you want to connect to your SQL Server database engine from the Internet, select Public for the SQL
connectivity type in the portal during provisioning. The portal automatically does the following steps:
● Enables the TCP/IP protocol for SQL Server.
● Configures a firewall rule to open the SQL Server TCP port (default 1433).
● Enables SQL Server Authentication, required for public access.
● Configures the network security group on the VM to all TCP traffic on the SQL Server port.
When you choose Private for the SQL connectivity type in the portal, Azure configures most of the
settings identical to Public. The one difference is that there is no network security group rule to allow
outside traffic on the SQL Server port (default 1433). You can change the connectivity settings for your
SQL Server virtual machine in the Azure portal.
1. In the Azure portal, select Virtual Machines.
2. Select your SQL Server VM.
3. Under Settings, click SQL Server configuration.
4. Change the SQL connectivity level to your required setting. You can optionally use this area to change
the SQL Server port or the SQL Authentication settings.
5. Wait several minutes for the update to complete
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to SQL Server in Azure Virtual Machines 89
Key Management
There are a number of SQL Server features such as transparent data encryption (TDE), column level
encryption (CLE), and backup encryption. These forms of encryption require you to manage and store the
cryptographic keys you use for encryption. The Azure Key Vault (AKV) service is designed to improve the
security and management of these keys in a secure and highly available location. The SQL Server Connec-
tor enables SQL Server to use these keys from Azure Key Vault.
You can save time by using the Azure Key Vault Integration feature. When this feature is enabled, it
automatically installs the SQL Server Connector, configures the EKM provider to access Azure Key Vault,
and creates the credential to allow you to access your vault.
Period Time
Daily 43 Seconds
Weekly 5 Minutes 2 Seconds
Monthly 21 Minutes 36 Seconds
Yearly 4 Hours 22 Minutes 48 Seconds
MCT USE ONLY. STUDENT USE PROHIBITED 92 Module 3 Migrate SQL Workloads to Azure Virtual Machines
eg. a service with an SLA of 99.995 % has the following downtimes agreed with the business
Period Time
Daily 4 Seconds
Weekly 30 Seconds
Monthly 2 Minutes 10 Seconds
Yearly 26 Minutes 17 Seconds
Lesson Summary
In this lesson, you learned the specific benefits to migrating your SQL Server workloads to a SQL Server
that is hosted in an Azure Virtual Machine. You now understand which tools you should use to help get
an understanding of your source and target server that are part of the migration. You then looked at the
additional migration considerations that should be part of the planning process.
Learning objectives
In this module, you have learned:
● Understand the Migration Benefits to SQL Server
● Tools to support your migration planning
● Additional migration planning considerations
● Defining the migration approach
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to SQL Server in Azure Virtual Machines 93
Knowledge Check
Question 1
You work as a Data Engineer at Adventureworks who have an Enterprise Agreement that covers the SQL
Servers that are currently installed on thier network. You want to migrate one of your servers to a SQL
Server hosted on a Azure Virtual Machine. Which licensing model should you select when you provision the
virtual machine?
CAL model
pay-as-you-go
Software Assurance
bring-your-own-license
Question 2
Which of the tools can be used to help you in the discovery, planning and assessment stages of performing a
migration of an on-premises SQL Server to SQL Server hosted on a Azure Virtual Machine?
Azure Migrate Service
Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
MCT USE ONLY. STUDENT USE PROHIBITED 94 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Learning objectives
In this module, you will learn:
● Choosing a migration approach to Azure?
● Migrating using backup and restore
● Migrating using attach and Detach
● Migrating using Always On Availability Groups
● Migrating using Transactional Replication
● Migrating using the Data Migration Assistant
● Other migration options
For optimum data transfer performance, migrate the database files into the Azure VM using a com-
pressed backup file.
To minimize downtime during the database migration process, use either the AlwaysOn option or the
transactional replication option. If it is not possible to use the above methods, manually migrate your
database. Using this method, you will generally start with a database backup followed by a copy of the
database backup into Azure and then perform a database restore. You can also copy the database files
themselves into Azure and then attach them. There are several methods by which you can accomplish
this manual process of migrating a database into an Azure VM.
Note: SQL Server 2008 and SQL Server 2008 R2 are approaching the end of their support life cycle for
on-premises instances. To extend support, you can either migrate your SQL Server instance to an Azure
VM, or buy Extended Security Updates to keep it on-premises. For more information, see Extend support
for SQL Server 2008 and 2008 R2 with Azure1
1 https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-2008-eos-extend-support
MCT USE ONLY. STUDENT USE PROHIBITED 96 Module 3 Migrate SQL Workloads to Azure Virtual Machines
4. The previous Transact-SQL statement creates a new replica to an availability group named MyAG on
the default server instance hosted by COMPUTER04, whose endpoint URL is TCP://COMPUTER04.
MCT USE ONLY. STUDENT USE PROHIBITED
SQL workloads to Azure VM migration options 97
4. The following example joins the secondary database, Db1, to the local secondary replica of the MyAG
availability group.
Create a publication
You can create a publication of the source database that can be replicated to a secondary server inclusing
an Azure Virtual Machine hosting SQL Server.
1. Connect to the Publisher in SQL Server Management Studio, and expand the server node.
2. Expand the Replication folder and right-click the Local Publications folder.
3. Click New Publication.
4. Select your publication database, then click Next.
5. Select Transactional Publication , then click Next.
6. Select the articles you want to publish, then click next. You can publish everything, or select specific
tables.
7. Select when you would like to create a snapshot. Click Immediately and then click Next.
8. Click Security Settings near the Snapshot Agent box. Select Run under the following Windows
account and enter your credentials. Under Connect to the Publisher, select Impersonate. Click ok to
confirm and return to the original Agent Security page. Check the checkbox at the bottom and click
next. Select Create the publication and then click Next.
9. Name the publication and click finish.
MCT USE ONLY. STUDENT USE PROHIBITED
SQL workloads to Azure VM migration options 99
Create a subscription
1. Connect to the Publisher in SQL Server Management Studio and expand the server node.
2. Expand the Replication folder, and then expand the Local Publications folder.
3. Right-click your publication and click New Subscriptions.
4. Select your publication and click Next. Select Run at Distributor and click Next.
5. Click Add Subscriber and connect to the Azure SQL Database logical server and then click Next.
6. Click the ellipsis button … and select the option to connect to the subscriber using SQL Server login.
Enter the credentials. Connect to the Distributor by Impersonating. Then click Next.
7. Use the defaults on the remaining pages of the wizard.
8. Click Finish to create the subscription.
Once the process is complete, you should test that the database appears on the subscriber instance in
the Azure Virtual Machine. You can direct the connections to the subscriber database. You may wish to
stop and delete the replication once the data has been successfully migrated.
3.
4. Provide source and target SQL server conenction details, and then select Next.
5.
6. The wizard will connect up to both the servers
MCT USE ONLY. STUDENT USE PROHIBITED
SQL workloads to Azure VM migration options 101
7.
8. Select the database to migrate and a shared location for the backup and restore operation.
9. Select the logins to migrate and start the migration
10. View the status of the migration until completion
Lesson Summary
In this lesson, you have explored the different methods you can use to migrate your on-premises SQL
Server workloads to Azure. You also understand why you would choose one method over another and
the steps that is required to use each method.
Learning objectives
In this module, you have learned:
● Choosing a migration approach to Azure?
● Migrating using backup and restore
● Migrating using attach and Detach
● Migrating using Always On Availability Groups
● Migrating using Transactional Replication
● Migrating using the Data Migration Assistant
● Other migration options
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You have a SQL Server 2012 instance with a database that contains over 1.2TB of compressed data. You
want to perform a backup of the database so that it can be used as part of a database migration. What type
of disk volume should the backup be made to?
a simple volume
A dynamic volume
A striped volume
A mirrored volume
MCT USE ONLY. STUDENT USE PROHIBITED
SQL workloads to Azure VM migration options 103
Question 2
You are running a database on SQL Server 2008 R2. You want to perform a migration that minimizes the
downtime. Which migration approach should you use?
attach and detach database
Alway On Availability Groups
Import and Export Service
Transactional Replication
MCT USE ONLY. STUDENT USE PROHIBITED 104 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Learning objectives
In this module, you will learn:
● Connecting applications to a migrated database
● Business Intelligence considerations
● Post Migration Considerations
your Business Intelligence solution in a separate VNet and use VNet peering to ensure that the connectiv-
ity is secure. It is recommended to leverage Platform as a Service (PaaS) technologies to get the most up
to date experience in Azure.
Query performance
It's important when you're migrating legacy technologies such as SQL server 2008, that you leverage the
latest database compatibility where possible. However, there are times that latest compatibility level
produces non optimal results and you have query regressions. This is the perfect scenario to leverage
query store which is like a black box recorder at the database level. Query store also captures the execu-
tion plan where you can identify parameter sniffing issues and specifically see when queries have re-
gressed. by leveraging Query Store, you can get a baseline of a healthy state and then use this healthy
state as a means to fall back to when there are issues such as changing the compatibility level.
When migrating from an older version of SQL Server to SQL Server 2014 (12.x) or newer, and upgrading
the database compatibility level to the latest available, a workload may be exposed to the risk of perfor-
mance regression. Starting with SQL Server 2014, all Query Optimizer changes are tied to the latest
database compatibility level, so plans are not changed right at point of upgrade, but when a user chang-
es the COMPATIBILITY_LEVEL database option to the latest one. This capability, in combination with
Query Store gives you a great level of control over the query performance in the upgrade process. Param-
eter sniffing can also be addressed using query store as it can also be partially addressed using the latest
compatibility levels using the following steps
1. Use the RECOMPILE hint. A plan is calculated every time adapted to each parameter value.
2. Rewrite the stored procedure to use the option (OPTIMIZE FOR(“input parameter” = "value")). Decide
which value to use that suits most of the relevant workload, creating and maintaining one plan that
becomes efficient for the parameterized value.
3. Rewrite the stored procedure using local variable inside the procedure. Now the optimizer uses the
density vector for estimations, resulting in the same plan regardless of the parameter value.
4. Rewrite the stored procedure to use the option (OPTIMIZE FOR UNKNOWN). Same effect as using the
local variable technique.
5. Rewrite the query to use the hint DISABLE_PARAMETER_SNIFFING. Same effect as using the local
variable technique by totally disabling parameter sniffing, unless OPTION(RECOMPILE), WITH RECOM-
PILE or OPTIMIZE FOR “value” is used.
Missing indexes
Incorrect or missing indexes causes extra I/O that leads to extra memory and CPU being used in a
sub-optimal way. This maybe because the workload profile has changed such as using different predi-
cates, which invalidates existing index design. Evidence of a poor indexing strategy or changes in work-
MCT USE ONLY. STUDENT USE PROHIBITED 106 Module 3 Migrate SQL Workloads to Azure Virtual Machines
load profile include lookups for duplicate, redundant, rarely used and completely unused indexes. you
can perrorm the following steps to resolve this issue
1. Leverage the graphical execution plan for any Missing Index references.
2. Indexing suggestions generated by Database Engine Tuning Advisor
3. Leverage the Missing Indexes DMV or through the SQL Server Performance Dashboard
4. Leverage pre-existing scripts that can use existing DMVs to provide insight into any missing, duplicate,
redundant, rarely used and completely unused indexes, but also if any index reference is hinted/
hard-coded into existing procedures and functions in your database.
Missed Estimates
For SQL Server to SQL Server migrations, if this issue existed in the source SQL Server, migrating to a
newer version of SQL Server as-is will not fix the issue. Table Valued Functions return a table data type
that can be an alternative to views. While views are limited to a single SELECT statement, user-defined
functions can contain additional statements that allow more logic than is possible in views.
MCT USE ONLY. STUDENT USE PROHIBITED
Application configuration and optimization 107
Important: Since the output table of an Multi-Statement Table Valued Function (MSTVF) is not created at
compile time, the SQL Server Query Optimizer relies on heuristics, and not actual statistics, to determine
row estimations. Even if indexes are added to the base table(s), this is not going to help. For MSTVFs, SQL
Server uses a fixed estimation of 1 for the number of rows expected to be returned by an MSTVF (starting
with SQL Server 2014 (12.x) that fixed estimation is 100 rows).
The ways this can be resolved is as follows
- If the Multi-Statement TVF is single statement only, convert to Inline
TVF.
- If you cannot make changes to the code due to the application being a
vendor-based application or other deployment challenges, the SQL Server
2017 database compatibility level 140 may provide the best approach. At
db_compat level 140, Adaptative Query Processing (AQP) may provide perfor-
mance improvements to avoid rewriting the query.
Lesson Summary
In this lesson, you looked at some of the post migration tasks that may have to be completed, involving
checking that your application can connect to the database, any business intelligence considerations and
post migration tasks that ensure that the databases perform well.
Learning objectives
In this module, you have learned:
● Connecting applications to a migrated database
● Business Intelligence considerations
● Post Migration Considerations
MCT USE ONLY. STUDENT USE PROHIBITED 108 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You have migrated your SQL Server database to an Azure Virtual Machine that hosts the same version and
edition of SQL Server. The database has been migrated using a back and restore and is now online. What
change needs to be made to the application to ensure that it will work with the database?
Upgrade the .Net framework
Change the application connection string
Update the base code of the application
update the application license
Question 2
You have migrated your SQL Server database 2008 database to an Azure Virtual Machine that hosts SQL
Server 2014. The database has been migrated using a back and restore and is now online. What post
migration checks would you perform to ensure that the database performs?
Check query performance
Check for missing indexes
Rewrite poorly performing queries
All of the above
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 109
Module summary
Module Summary
In this module, you have learned how you can migrate SQL Server workloads to SQL Server installations
that are running on an Azure Virtual Machine. You then learned the various ways to migrate SQL Server
workloads both offline and online, and then finished up with the post migration tasks that may have to
be taken to ensure that the migrated database performs appropriately.
Learning objectives
In this module, you have learned:
● Considerations for migrating to SQL Server on Azure Virtual Machines
● SQL Server workload to Azure Virtual Machine migration options
● Application configuration and optimization
MCT USE ONLY. STUDENT USE PROHIBITED 110 Module 3 Migrate SQL Workloads to Azure Virtual Machines
Answers
Question 1
You work as a Data Engineer at Adventureworks who have an Enterprise Agreement that covers the SQL
Servers that are currently installed on thier network. You want to migrate one of your servers to a SQL
Server hosted on a Azure Virtual Machine. Which licensing model should you select when you provision
the virtual machine?
CAL model
pay-as-you-go
Software Assurance
■ bring-your-own-license
Explanation
Should your organization already have licenses in place for existing on-premises SQL Servers, and you
intend to decommision those servers then you should use the bring-your-own-license model when you
provision the virtual machine
Question 2
Which of the tools can be used to help you in the discovery, planning and assessment stages of perform-
ing a migration of an on-premises SQL Server to SQL Server hosted on a Azure Virtual Machine?
Azure Migrate Service
■ Data Migration Assistant
■ Microsoft Planning and Assessment
■ Database Experimentation Assistant
Explanation
You should use the Microsoft Planning and Assessment in the discovery stage, the Data Migration Assistant
in the planning stage and the Database Experimentation Assistant in the assessment stage to help you gain
information that will help with a migration of an on-premises SQL Server to SQL Server hosted on a Azure
Virtual Machine
Question 1
You have a SQL Server 2012 instance with a database that contains over 1.2TB of compressed data. You
want to perform a backup of the database so that it can be used as part of a database migration. What
type of disk volume should the backup be made to?
a simple volume
A dynamic volume
■ A striped volume
A mirrored volume
Explanation
The correct answer is a stiped volume. The maximum size of a virtual machine disk is 1TB, so a striped
volume should be used to restore the data too.
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 111
Question 2
You are running a database on SQL Server 2008 R2. You want to perform a migration that minimizes the
downtime. Which migration approach should you use?
attach and detach database
Alway On Availability Groups
Import and Export Service
■ Transactional Replication
Explanation
In order to perform a migration that minimizes the downtime from SQL Server 2008 R2, you should use
transactional replication. Always On Availability Groups are not a feature of SQL Server 2008, and attach
and detach and the Import and Export Service would have a longer downtime period.
Question 1
You have migrated your SQL Server database to an Azure Virtual Machine that hosts the same version
and edition of SQL Server. The database has been migrated using a back and restore and is now online.
What change needs to be made to the application to ensure that it will work with the database?
Upgrade the .Net framework
■ Change the application connection string
Update the base code of the application
update the application license
Explanation
As the SQL Server version and edition is the same, and the database has been backed up and restore, you
would change the applications connection string to connect to the migrated database instance
Question 2
You have migrated your SQL Server database 2008 database to an Azure Virtual Machine that hosts SQL
Server 2014. The database has been migrated using a back and restore and is now online. What post
migration checks would you perform to ensure that the database performs?
Check query performance
Check for missing indexes
Rewrite poorly performing queries
■ All of the above
Explanation
When migrating from one version of SQL Server to another, post migration you will want to check query
performance, Check for missing indexes and rewrite poorly peforming queries to ensure that the database
performs
MCT USE ONLY. STUDENT USE PROHIBITED
Module 4 Migrate SQL Workloads to SQL Da-
tabase
Module introduction
Module Introduction
In this module, you will look at how you can migrate SQL Server workloads to Azure SQL Database. It will
begin by exploring the pre migration considerations that need to be taken into account before perform-
ing a migration and how to create an Azure SQL Database. You will then explore the different methods to
perform an offline and online migration and look at ways to ensure service continuity of Azure SQL
Database.
Learning objectives
In this module, you will learn the:
● Considerations of migrating to Azure SQL Database
● Migrate to an Azure SQL Database
● Service Continuity to Azure SQL Database
MCT USE ONLY. STUDENT USE PROHIBITED 114 Module 4 Migrate SQL Workloads to SQL Database
Learning objectives
In this lesson, you will:
● Understand the migration benefits of Azure SQL Database
● Use the tools to support your migration planning
● Migration planning specific to Azure SQL Database
● Create an Azure SQL Database
In this module we focus on Single Databases and Elastic Pools. A Single Database has its own resources
and is deployed to a logical SQL Database server where it is managed. There are several tiers of perfor-
mance, each providing different levels of throughput, performance, storage and cost. SQL Database
Elastic Pools provide organizations with a cost-effective way for deploying and managing multiple
databases with different workload characteristics. Elastic Pool databases are deployed onto a single SQL
Database server where resources are shared between all of the databases on that server.
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database 115
High Availability
● 99.99% availability guarantee
● Built-in availability with three secondary replicas
● Zone Redundancy via Azure Availability Zones
Disaster Recovery
● Geo-restore of database backups
● Active-geo replication between Azure Regions
Service Scalability
● Dynamic scale-up and scale-down
● Scale-out with multiple shards
● Share compute between databases using Elastic Pools
Security
● Support for Azure Active Directory authentication
● Cloud-only security features such as Advanced Threat Protection
● Transparent Data Encryption (TDE) enabled by default
● Support for Dynamic and Static Data Masking, Row-Level Security and Always Encrypted
● Firewall whitelist
Licensing
● DTU purchasing model for predictive costing
● vCore purchasing model, enabling storage to be scaled independently of compute
● Combine the vCore purchasing model with Azure Hybrid Benefit for SQL Server to realise cost savings
of up to 30%
MCT USE ONLY. STUDENT USE PROHIBITED 116 Module 4 Migrate SQL Workloads to SQL Database
Security settings
Authentication with security principals in Azure SQL Database supports two types of authentication:
● SQL Authentication
● Azure Active Directory Authentication
Any Windows Authentication logins should be changed to use a supported authenticated method.
Azure role-based access control (RBAC) can be used to control access of Azure resources. Azure SQL
Database supports the following built-in roles:
● SQL DB Contributor
● SQL Security Manager
● SQL Server Contributor
Read Scale-Out
Read Scale-Out allows for read only SQL workloads to be serviced by a secondary replica. This allows for
great efficiency of resource usage as the workload is transferred away from the primary replica. Read
Scale-Out is enabled free of charge on Premium and Business Critical service tier, it cannot be enabled in
Basic, Standard, or General Purpose service tiers
Feature Comparison
There are a number of distinct features and capabilities that are specific to Azure SQL Database (Single of
Elastic Pool) versus Azure SQL Database managed instance. The following table provides clarity on which
configuration support which SQL Server feature.
1 https://docs.microsoft.com/en-us/azure/architecture/best-practices/retry-service-specific
MCT USE ONLY. STUDENT USE PROHIBITED 118 Module 4 Migrate SQL Workloads to SQL Database
5.
6. On the Basics tab, in the Project Details section, type or select the following values:
● Subscription: Drop down and select the correct subscription, if it doesn't appear.
● Resource group: Select Create new, type cto, and select OK.
2 https://portal.azure.com
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database 127
● `
7. In the Database Details section, type or select the following values:
● Database name: Enter mySampleDatabase.
● Server: Select Create new and enter the following values and then select Select.
● Server name: Type mysqlserver; along with some numbers for uniqueness.
● Server admin login: Type azureuser.
● Password: Type a complex password that meets password requirements.
● Location: Choose a location from the drop-down, such as West US 2.
MCT USE ONLY. STUDENT USE PROHIBITED 128 Module 4 Migrate SQL Workloads to SQL Database
●
8. In the “Want to use SQL elastic pool”: Select the No option.
9. In Compute + storage: Select Configure database and for this quickstart, select vCore-based pur-
chasing options
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database 129
10.
11. Select Serverless.
12.
● Review the settings for Max vCores, Min vCores, Auto-pause delay, and Data max size. Change
these as desired.
● Accept the preview terms and click OK.
● Select Apply.
13. Select the Additional settings tab.
14. In the Data source section, under Use existing data, select None.
15. Leave the rest of the values as default and select Review + Create at the bottom of the form.
16. Review the final settings and select Create.
17. On the SQL Database form, select Create to deploy and provision the resource group, server, and
database.
MCT USE ONLY. STUDENT USE PROHIBITED 130 Module 4 Migrate SQL Workloads to SQL Database
Lesson Summary
In this lesson you explored the considerations for migrating SQL Server workloads to Azure SQL Data-
base. You also explored the benefits of moving to this platform and the tools that you should use to plan
your migration.
Learning objectives
In this module, you have learned:
● Understand the migration benefits of Azure SQL Database
● Use the tools to support your migration planning
● Migration planning specific to Azure SQL Database
● Create an Azure SQL Database
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You planning to deploy multiple single Azure SQL Database to support a new application. Your company
currently licenses its SQL Server Enterprise Core licenses with Software Assurance (SA) coverage. Which
purchasing option allows you to use your SQL Server Enterprise Cores licenses to pay for Azure SQL Data-
base?
DTU purchasing model
vCore purchasing model
Question 2
Your company decides to deploy an Azure SQL Database under the DTU purchasing model. What does DTU
stand for?
Database Throughput Unit
Database Transaction Unit
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database 131
Learning objectives
In this module, you will:
● Evaluate SQL Database migration
● Migrate using the Data Migration Assistant
● Migrate using BACPAC
● Migrate using Transactional Replication
3 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-transact-sql-information
4 https://msdn.microsoft.com/library/ms144262%28v=sql.130%29
5 https://msdn.microsoft.com/library/ms144262%28v=sql.120%29
6 https://msdn.microsoft.com/library/ms144262%28v=sql.110%29
7 https://msdn.microsoft.com/library/ms144262%28v=sql.105%29
8 https://msdn.microsoft.com/library/ms144262%28v=sql.90%29
MCT USE ONLY. STUDENT USE PROHIBITED 132 Module 4 Migrate SQL Workloads to SQL Database
6.
During the migration itself, there are a number of best practices that you can employ for the best
performance of importing the database into Azure SQL Database which includes:
● Choose the highest service tier and compute size that your budget allows to maximize the transfer
performance. You can scale down after the migration completes to save money.
● Minimize the distance between your BACPAC file and the destination data center.
● Disable auto-statistics during migration
● Partition tables and indexes
● Drop indexed views, and recreate them once finished
● Remove rarely queried historical data to another database and migrate this historical data to a
separate Azure SQL database. You can then query this historical data using elastic queries.
On completion of the migration, perform an update of all the statistics in the database
2.
3. Select the storage account and the container for the BACPAC file and then select the BACPAC file from
which to import.
4. Specify the new database size (usually the same as origin) and provide the destination SQL Server
credentials.
5. Click OK.
6. To monitor an import's progress, open the database's server page, and, under Settings, select
Import/Export history. When successful, the import has a Completed status.
7.
You could also use SqlPackage to perform of an import of a bacpac file as it is more performent that
using the Azure Portal method. The following SqlPackage command imports the AdventureWorks2008R2
database from local storage to an Azure SQL Database server called mynewserver20170403. It creates a
new database called myMigratedDatabase with a Premium service tier and a P6 Service Objective.
Change these values as appropriate for your environment.
MCT USE ONLY. STUDENT USE PROHIBITED 134 Module 4 Migrate SQL Workloads to SQL Database
Version
SQL Server 2017 (14.x)
SQL Server 2016 (13.x)
SQL Server 2014 (12.x) SP1 CU3
SQL Server 2014 (12.x) RTM CU10
SQL Server 2012 (11.x) CU8 or SP3
Once the synchronization is complete and you are ready to migrate, change the connection string of your
applications to point them to your Azure SQL Database. Once transactional replication drains any
changes left on your source database and all your applications point to Azure DB, you can uninstall
transactional replication. Your Azure SQL Database is now your production system.
[!Note]
A pull subscription is not supported when the distributor is an Instance database and the subscriber is
not.
Lesson Summary
In this lesson, you focused on the tools and methods for migrating SQL Server databases to Azure SQL
Database. You covered evaluating a database migration approach and explored both offline and online
migration methods.
Learning objectives
In this module, you have learned:
● Evaluate SQL Database migration
● Migrate using the Data Migration Assistant
● Migrate using BACPAC
● Migrate using Transactional Replication
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Before creating the Database Migration Service, which resource provider should be registed in your subscrip-
tion prior?
Microsoft.DataMigration
Microsoft.Cache
Migration.DAta
Microsoft.Migration
MCT USE ONLY. STUDENT USE PROHIBITED 136 Module 4 Migrate SQL Workloads to SQL Database
Question 2
Which of the tools would be the best to find compatability issues between the on-premises SQL Server and
Azure SQL Database managed instance?
Azure Migrate Service
Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
MCT USE ONLY. STUDENT USE PROHIBITED
Service continuity of Azure SQL Database 137
Learning objectives
In this lesson, you will learn:
● Define backup and recovery options for Azure SQL Database
● Define high availability options for Azure SQL Database
● Define disaster recovery options for Azure SQL Database
● Define service scalability options for Azure SQL Database
2.
3. In the Configure policies pane, select if want to retain weekly, monthly or yearly backups and specify
the retention period for each.
4.
5. When complete, click Apply.
MCT USE ONLY. STUDENT USE PROHIBITED
Service continuity of Azure SQL Database 139
● Geo-restore - uses geo-redundant backups to recover a database to any Azure SQL Database server
in any region. Backups are stored on geo-replicated storage, which means there is a delay between
when the backup is taken and when it is replicated to the other region.
● To recover a single, pooled, or instance database to a point in time using the Azure portal, open the
page for your database and click Restore on the toolbar.
●
● To recover a deleted database using the Azure portal, open the page for your server and in the
Operations area, click Deleted databases.
MCT USE ONLY. STUDENT USE PROHIBITED
Service continuity of Azure SQL Database 141
●
● Zone-redundant databases - by default, replicas in the premium availability model are located in the
same physical data center. Azure Availability Zones allow different replicas to be hosted in different
zones (data centers) within the same region. This can be enabled at no extra cost since it doesn't
provide any extra database redundancy. However, since the zone redundant replicas are located in
different data centers, the increased network latency may impact the performance of some workloads.
MCT USE ONLY. STUDENT USE PROHIBITED 142 Module 4 Migrate SQL Workloads to SQL Database
Lesson Summary
In this lesson, you focused on the post migration work that has to be completed to ensure that there is
service continuity of the Azure SQL Database to meet business needs. You learned to ensure that the data
is protected, and that measures are in place to ensure the availabilibilty. scalability and recoverability of
the data.
Learning objectives
In this module, you have learned to:
● Define backup and recovery options for Azure SQL Database
● Define high availability options for Azure SQL Database
● Define disaster recovery options for Azure SQL Database
● Define service scalability options for Azure SQL Database
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
In this lesson, you will explore the post migration steps that are required to ensure service continuity of
your database in the areas of backup, high availability, disaster recovery and scalability.
MCT USE ONLY. STUDENT USE PROHIBITED
Service continuity of Azure SQL Database 143
Knowledge Check
Question 1
You want to restore an Azure SQL Database backup taken 10 days ago. The service tier for the database is
Standard. Can you restore the database from a backup taken 10 days ago?
Yes
No
Question 2
Your new application has a Service Level Agreement of 99.99999%. Will Azure SQL Database meet your SLA
requirement?
Yes
No
MCT USE ONLY. STUDENT USE PROHIBITED 144 Module 4 Migrate SQL Workloads to SQL Database
Module summary
Module Summary
In this module, you have looked at how you can migrate SQL Server workloads to Azure SQL Database.
You explored the pre migration considerations that need to be taken into account before performing a
migration and how to create a SQL Database. You then explored the different methods to perform an
offline and online migration and looked at ways to ensure service continuity of Azure SQL Database.
Learning objectives
In this module, you have learned:
● Considerations of migrating to Azure SQL Database
● Migrate to an Azure SQL Database
● Service Continuity to Azure SQL Database
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 145
Answers
Question 1
You planning to deploy multiple single Azure SQL Database to support a new application. Your company
currently licenses its SQL Server Enterprise Core licenses with Software Assurance (SA) coverage. Which
purchasing option allows you to use your SQL Server Enterprise Cores licenses to pay for Azure SQL Data-
base?
DTU purchasing model
■ vCore purchasing model
Explanation
The vCore purchasing model allows you to use your SQL Server Enterprise Cores licenses to pay for Azure
SQL Database
Question 2
Your company decides to deploy an Azure SQL Database under the DTU purchasing model. What does
DTU stand for?
■ Database Throughput Unit
Database Transaction Unit
Explanation
DTU stands for Database Throughput Unit
Question 1
Before creating the Database Migration Service, which resource provider should be registed in your
subscription prior?
■ Microsoft.DataMigration
Microsoft.Cache
Migration.DAta
Microsoft.Migration
Explanation
The Microsoft.DataMigration resource provider should be registed in your subscription prior to creating the
Database Migration Service
Question 2
Which of the tools would be the best to find compatability issues between the on-premises SQL Server
and Azure SQL Database managed instance?
Azure Migrate Service
■ Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
Explanation
The Data Migration Assistant would be the best tool to use to detect any compatability issues between the
on-premises SQL Server and Azure SQL Database managed instance.
MCT USE ONLY. STUDENT USE PROHIBITED 146 Module 4 Migrate SQL Workloads to SQL Database
Question 1
You want to restore an Azure SQL Database backup taken 10 days ago. The service tier for the database
is Standard. Can you restore the database from a backup taken 10 days ago?
■ Yes
No
Explanation
Yes. In Azure SQL Database, backups are taken automatically and kept between 7 and 35 days.
Question 2
Your new application has a Service Level Agreement of 99.99999%. Will Azure SQL Database meet your
SLA requirement?
Yes
■ No
Explanation
MCT USE ONLY. STUDENT USE PROHIBITED
Module 5 Migrate SQL Workloads to Managed
Instance
Module introduction
Module Introduction
In this module, you will look at how you can migrate SQL Server workloads to SQL Database Managed
instance. It will begin by exploring the pre migration considerations that need to be taken into account
before performing a migration and how to create a SQL Database Managed Instance. You will then
explore the different methods to perform an offline and online migration. and how to handle the migra-
tions of encrypted databases. You will then look at ways in which you can synchrinize data to and from a
SQL Database Managed instance.
Learning objectives
In this module, you will learn the:
● Considerations of migrating to Azure SQL Database Managed Instance
● Migrate to an Azure SQL Database Managed Instance
● Synchronize data to Azure SQL Database Managed Instance
MCT USE ONLY. STUDENT USE PROHIBITED 148 Module 5 Migrate SQL Workloads to Managed Instance
Learning objectives
In this module, you will:
● Understand the migration benefits of Azure SQL Database Managed Instance
● Use the tools to support your migration planning
● Migration planning specific to Azure SQL Database Managed Instance
● Create an Azure SQL Database Managed Instance
Backwards Compatibility
Azure SQL Database Managed Instance also provides backwards compatibility to SQL Server 2008
databases. Direct migration from SQL Server 2005 database servers is also supported, with the compati-
bility level for migrated SQL Server 2005 databases being updated to SQL Server 2008. This is important
as SQL Server 2005 has been out of mainstream since 4/12/2011 and out of extended support since
4/12/2016. SQL Server 2008/R2 is already out of mainstream support since 7/8/2014 and will be out of
extended support on 7/9/2019.
Azure SQL Database Managed Instance also provides access to newer technologies. As of this writing SQL
Server 2019 CTP 3.0 is being evaluated and SQL Server 2019 is not yet generally available. However, in
Azure SQL Database and Azure SQL Database Managed Instance you can take advantage of database
compatibility level 150 today that enables many additional capabilities.
For a reference of the database compatibilities and the differences between them, use the following
reference1.
1 https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level?view=sql-server-2017#differences-
between-compatibility-level-140-and-level-150
MCT USE ONLY. STUDENT USE PROHIBITED 150 Module 5 Migrate SQL Workloads to Managed Instance
Server, including online operations, automatic plan corrections, and other enterprise performance
enhancements that are enabled in part by the individual database compatibility level.
PaaS benefits includes removing the need for managing hardware and all the overhead that comes from
having to perform physical maintenance on SQL server machines. You also have the benefits of quickly
scaling up and scaling down as well as quickly provisioning resources in the cloud. The SQL Server
operating system, commonly known as the SQLOS is maintained by PaaS with automated patching and
version upgrades. Automated patched, also known as Evergreen, is simply part of the Platform as a
Service model making integration with other platform as a service technology seamless.
Examples of technologies that are present at the database level for Azure SQL Managed Instance includes
Advanced Threat Protection, Data Discovery and Classification, and the Vulnerability Assessment. The
configuration of these features is made at the Managed Instance scope. There is also the ability to
individually configure backup retention at the Azure SQL Managed Instance Database level.
Azure SQL Database Managed Instance also supports all of the strong Azure core features as well such as
Azure Advisor, Azure Monitor, Azure Security Center, secure Activity Log support, support for Azure
Active Directory, tagging and more features. Azure has built-in high availability, monitoring, security, and
more that extends the power of Azure SQL Database Managed Instance as a PaaS technology.
For on-prem applications to connect to Azure SQL Manage Instance it would require an Azure Express-
Route configuration or a VPN gateway. Recent virtual network capabilities have been added to Managed
Instance allowing the enablement of a public endpoint that would expose your databases to the Internet.
If you enable the public endpoint data access for clients outside of the connected virtual networks will be
allowed.
This will failover the group containing the user databases in the instance. Only one failover group can be
configured on an instance.
Note: For additional depth on Azure features outside the Azure SQL Database, Azure SQL Database
Managed Instance, and SQL Server on IaaS it is recommended to get the foundational knowledge in the
Azure Fundamentals course (AZ-900) and more depth in the Microsoft Azure Administrator course
(AZ-103).
2. Azure Database Migrate Service-The Azure Database Migrate Service enables you to perform large
scale database migration from within the Azure Portal. Azure Database Migration Service integrates
some of the functionality of existing tools and services to provide customers with a comprehensive,
highly available solution. The tools include:
● Database Migration Assistant
● SQL Server Migration Assistant
● Data Experimentation Assistant
3. Data Migration Assistant-Use the Data Migration Assistant in the planning and assessment stage of
a Data Platform Modernization project to check for compatibility issues that can impact database
functionality in SQL Database Managed Instance. You should also use it to review performance and
reliability improvements for your target environment prior to performing the migration so that you
can incorporate them into your plan.
4. Database Experimentation Assistant-If you have concerns surrounding the workloads that will be
operating on the target server, then use the Database Experimentation Assistant to assess if your
target server can handle the workload. Customers who are upgrading from earlier SQL Server versions
to a more recent version of SQL Server on Azure Virtual Machines, can use the analysis metrics to give
comparison data to allow you to make decisions on whether the targeted version would provide a
better experience after a migration.
Licensing
There are six types of subscription models that can be used for Azure SQL Database Managed Instance.
You should assess which on is the most appropriate for your migration scenario.
● Enterprise Agreement (EA)
● Pay-as-you-go
● Cloud Service Provider (CSP)
● Enterprise Dev/Test
● Pay-As-You-Go Dev/Test
● Subscriptions with monthly Azure credit for Visual Studio subscribers
Gen4 Gen5
Hardware Intel E5-2673 v3 (Haswell) Intel E5-2673 v4 (Broadwell)
2.4-GHz processors, attached 2.3-GHz processors, fast NVMe
SSD vCore = 1 PP (physical core) SSD, vCore=1 LP (hyper-thread)
vCores 8, 16, 24 vCores 4, 8, 16, 24, 32, 40, 64, 80 vCores
Memory (memory/core ratio) 7 GB per vCore 5.1 GB per vCore
Max In-Memory OLTP memory ● Instance limit: 3 GB ● Instance limit: 2.5 GB
per vCore per vCore
● Database limits: ● Database limits:
● 8-core: 8 GB per ● 8-core: 13 GB per
database database
● 16-core: 20 GB per ● 16-core: 32 GB per
database database
● 24-core: 36 GB per
database
Max instance storage (General 8 TB 8 TB
Purpose)
Max instance storage (Business 1 TB 1 TB, 2 TB, or 4 TB depending on
Critical) the number of cores
In addition to selecting the generation of the Azure SQL Database Managed Instance, you also have to
select a service tier. General Purpose and Business Critical
MCT USE ONLY. STUDENT USE PROHIBITED 154 Module 5 Migrate SQL Workloads to Managed Instance
Database Compatibility
In order for older databases to run on new versions of SQL Server, there is a feature within SQL Server
known as Database Compatibility levels. You need to know the latest supported compatibility level of the
application that is using SQL Server. Each version of SQL Server introduces a new set of features and
changes, and to ensure that app is using Transact-SQL queries with the right syntax and invoked stored
procedures in the right way, it uses the concept of compatibility levels. SQL Server 2000 has default
compatibility level 80, and each next version of SQL Server has +10 compatibility by default (up to 150 for
SQL Server 2019).
SQL Server 2017 supports compatibility levels from 100 (default for SQL Server 2008) to 140 (default for
SQL Server 2017). If your application requires compatibility level 100 (default for SQL Server 2008), and
you use SQL Server 2014 - you can safely move to SQL Database Managed Instance. But if you use an
application with compatibility level 80, running on SQL Server 2008 (which supported that compatibility
level, which is default for SQL Server 2000), you won't be able to move it to SQL MI since it supports com-
patibility levels 100 and newer. In this situation, you will have to migrate from compatability level 80 to
100 before you can move the database to an Azure SQL Database Managed Instance.
Networking
Azure SQL Database Managed Instance must be deployed within an Azure virtual network and the subnet
dedicated for Managed Instances only. The SQL Database Managed Instance is fully isolated. The com-
pute and storage are placed in a virtual cluster which is fully isolated from all other tenants in Azure.
You can connect your on-premise resources using VPN tunneling or a route gateway to SQL Database
Managed Instances and you can then use them as any other instances in your network. By connecting
your on-premise resources to SQL Database Managed Instance in this way, you can use SQL Database
Managed Instance as an extension of your on-premise data center.
MCT USE ONLY. STUDENT USE PROHIBITED 156 Module 5 Migrate SQL Workloads to Managed Instance
Additionally, if you have any back-end subnets or front-end subnets in your on-premise network you can
establish VNET to subnet connections between these networks. You can then use SQL connections from
your web applications or link Azure SQL Managed Instance to your on-prem database. SQL Database
Managed Instance then becomes just an extension to your on-prem SQL solution and your organization’s
on-prem network.
Application considerations
When you have migrated your SQL Server database to Azure SQL Database Managed Instance, you need
to decide where to host the applications that work with the database. Leaving the applications on-prem-
ises, whilst the database is in Azure will lead to latency issues. As a result, you will want to consider
moving your applications onto Azure as well to keep it close to the database
Automated Backups
You need to check that the automated backup schedules work for your organization. SQL database and
Manage Instance automatically creates database backups that are kept between 7 and 35 days, Azure
read-access and geo-redundant storage is used to make sure that they are preserved even if the data
center is unavailable. This capability is built-in as part of the Azure SQL Database / Managed Instance
experience. If you need backups to be available for an extended period of time (up to 10 years) you can
configure long term retention on single database.
SQL Database create full backups every week, differential backups every 12 hours, and transaction log
backups every 5-10 minutes. The backups are stored in RA-GRS storage blobs that are replicated to a
paired data center for protection against a data center outage. When you restore a database, the service
figures out which full, differential, and transaction log backups need to be restored.
COPY_ONLY backups is the only manual method that is allowed. The reason for this is that the transaction
log must be preserved for the automated backup operations and the point in time restore operations in
Azure SQL database / Managed Instance.
5.
6. Fill out the SQL managed instance form with the requested information by using the information in
the following table.
2 https://portal.azure.com
MCT USE ONLY. STUDENT USE PROHIBITED 158 Module 5 Migrate SQL Workloads to Managed Instance
7.
8. To use the managed instance as an instance failover group secondary, select the checkout and
specify the DnsAzurePartner managed instance. This feature is in preview and isn't shown in the
following screenshot.
9. Select Pricing tier to size compute and storage resources and to review the pricing tier options. The
General Purpose pricing titext boxes to specify the amount of storage and the number of virtual
cores.
10. When you're finished, select Apply to save your selection.
11. Select Create to deploy the managed instance.
12. Select the Notifications icon to view the status of the deployment.
13.
14. Select Deployment in progress to open the managed instance window to further monitor the deploy-
ment progress.
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database managed instance 161
2.
3. Select the route table to review the user-defined route (UDR) table that was created for you.
4.
5. In the route table, review the entries to route traffic from and within the managed instance virtual
network. If you create or configure your route table manually, you must be sure to create these entries
in the route table.
MCT USE ONLY. STUDENT USE PROHIBITED 162 Module 5 Migrate SQL Workloads to Managed Instance
6.
7. Return to the resource group, and select the network security group to review the security rules.
8.
9. Review the inbound and outbound security rules. If you have configured public endpoints for your
managed instance, see the article Configure public endpoint3 for more information.
3 https://docs.microsoft.com/en-gb/azure/sql-database/sql-database-managed-instance-public-endpoint-configure#allow-public-endpoint-
traffic-on-the-network-security-group
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database managed instance 163
10.
11. Return to the resource group, and select your managed instance
12.
13. On the Overview tab, locate the Host property. Copy the fully qualified host address for the
managed instance.
MCT USE ONLY. STUDENT USE PROHIBITED 164 Module 5 Migrate SQL Workloads to Managed Instance
14.
Lesson Summary
In this lesson, you learned the goal of Azure SQL Managed Instance is to provide SQL Server applications
a fully managed PaaS experience in the Azure cloud. That Azure SQL Database Managed Instance is also a
fully featured SQL PaaS experience with all of the critical features and capabilities of the SQL Server
platform.
Learning objectives
In this module, you have learned:
● The migration benefits of Azure SQL Database Managed Instance
● The tools to support your migration planning
● Migration planning specific to Azure SQL Database Managed Instance
● How to create an Azure SQL Database Managed Instance
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
MCT USE ONLY. STUDENT USE PROHIBITED
Considerations of migrating to Azure SQL Database managed instance 165
Knowledge Check
Question 1
What is the lowest compatibility level that is supported by Azure SQL Database Managed Instance?
SQL Server 2005
SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
Question 2
Which of the tools can be used to centralize the management and execution of a migration to Azure SQL
Database Managed Instance?
Azure Database Migration Service
Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
MCT USE ONLY. STUDENT USE PROHIBITED 166 Module 5 Migrate SQL Workloads to Managed Instance
Learning objectives
In this module, you will:
● Evaluate SQL Database Managed Instance Compatibility
● Migrate using Backup / Restore from URL
● Managing encrypted databases
● Creating the Database Migration Service
● Migrate using Database Migration Service
Azure. Fortunately, Microsoft has created a number of tools to evaluate Azure compatibility and address
migration challenges.
7.
8. Select the report types. In this case we will check both database compatibility and feature parity.
MCT USE ONLY. STUDENT USE PROHIBITED 168 Module 5 Migrate SQL Workloads to Managed Instance
9.
10. Connect to your source system. In this case we chose SQL Server which is a SQL Server 2017 environ-
ment in this example. We are going with the default authentication type. Click Connect.
11.
12. Next choose the databases that you would like analyzed. Click Add.
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 169
13.
14. Click Start Assessment
15.
When you get the output you will have the options to examine SQL Server feature parity and the compat-
ibility issues. We are first examining the SQL Server feature parity report.
Since we chose Managed Instance as our destination, we are seeing a very small list of features that do
not have parity with SQL Server. In our example the only reported issue that PowerShell is not a support-
ed job step type in Azure SQL Managed Instance.
MCT USE ONLY. STUDENT USE PROHIBITED 170 Module 5 Migrate SQL Workloads to Managed Instance
Select ‘Compatibility issues’. You now have a report of all of the compatibility issues per database and for
each applicable database compatibility level. Also note that the output is broken down by breaking
change, behavior change, deprecated feature, and information issues.
The details are given along with the affected objects. You can then open the supporting documentation
and address the issues. Once you have addressed the issues found in the DMA output you should run the
assessment again to ensure that all of the breaking changes are addressed. It is often helpful to complete
a test migration to a non-production system in order to address the behavior changes. In order to
understand the impact of the behavior changes it is important to take note of which technologies and
objects are affected and carefully examine application behavior and the error log / extended events to
ensure the behavior changes are not going to lead to any supportability challenges.
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 171
The process of assess, address, and reassess is the best method to ensure that your database migration
completes successfully.
Breaking Changes
If there are some reported blocking issues that are not removed with the managed instance deployment
option, you might need to consider an alternative option, such as SQL Server on Azure virtual machines.
Here are some examples:
● If you require direct access to the operating system or file system, for instance to install third party or
custom agents on the same virtual machine with SQL Server.
● If you have strict dependency on features that are still not supported, such as FileStream / FileTable,
PolyBase, and cross-instance transactions.
● If absolutely you need to stay at a specific version of SQL Server (2012, for instance).
● If your compute requirements are much lower that managed instance offers (one vCore, for instance)
and database consolidation is not acceptable option.
5. To check your credential, run the following script, which uses a container URL to get a backup file list.
6. RESTORE FILELISTONLY FROM URL =
'https://mtutorials.blob.core.windows.net/databases/dbbu.bak'
● The output of the query will give you the database name and the certificate for each database you
will get the full path details for the certificate from this script.
2. BACKUP the TDE Certificate
● In SSMS, execute the following script to export the certificate to a pair of files (.cer and .pvk),
keeping the public and private key information:
● USE master
GO
4 https://docs.microsoft.com/windows-hardware/drivers/devtest/pvk2pfx
5 https://docs.microsoft.com/powershell/azure/install-az-ps
MCT USE ONLY. STUDENT USE PROHIBITED 174 Module 5 Migrate SQL Workloads to Managed Instance
4. Upload certificate to Azure SQL Database Managed Instance using Azure PowerShell cmdlet
● The first script is a preparation step in PowerShell:
● # Import the module into the PowerShell session
Import-Module Az
# Connect to Azure with an interactive dialog for sign-in
Connect-AzAccount
# List subscriptions available and copy id of the subscription target
Managed Instance belongs to
Get-AzSubscription
# Set subscription for the session (replace Guid_Subscription_Id with
actual subscription id)
Select-AzSubscription Guid_Subscription_Id
● Run the following commands to upload base-64 encoded certificate to the target Managed
Instance:
● $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -Encoding
Byte
$base64EncodedCert = [System.Convert]::ToBase64String($fileContentBytes)
$securePrivateBlob = $base64EncodedCert | ConvertTo-SecureString -As-
PlainText -Force
$password = "SomeStrongPassword"
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force
Add-AzSqlManagedInstanceTransparentDataEncryptionCertificate -Resource-
GroupName "<ResourceGroupName>" -ManagedInstanceName "<ManagedInstance-
Name>" -PrivateBlob $securePrivateBlob -Password $securePassword
The certificate is now available to the specified Managed Instance and backup of corresponding TDE
protected database can be restored successfully.
Protector is stored in a customer-owned and managed Azure Key Vault. This is Azure’s cloud-based
external key management system. The TDE Protector can be generated by the key vault or transferred to
the key vault from an on premises HSM device. The TDE database encryption key (DEK), which is stored
on the boot page of a database, is encrypted and decrypted by the TDE Protector stored in Azure Key
Vault, where it never leaves. SQL Database needs to be granted permissions to the customer-owned key
vault to decrypt and encrypt the DEK.
If permissions of the logical SQL server to the key vault are revoked, a database will be inaccessible, and
all data is encrypted. For Azure SQL Managed Instance, the TDE protector is set at the instance level and
it is inherited by all encrypted databases on that instance. With TDE with Azure Key Vault integration,
users can control key management tasks including key rotations, key vault permissions, key backups, and
enable auditing/reporting on all TDE protectors using Azure Key Vault functionality. TDE with Azure Key
Vault integration provides the following benefits:
● Increased transparency and granular control with the ability to self-manage the TDE protector
● Ability to revoke permissions at any time to render database inaccessible
● Central management of TDE protectors (along with other keys and secrets used in other Azure
services) by hosting them in Key Vault
● Separation of key and data management responsibilities within the organization, to support separa-
tion of duties
● Greater trust from your own clients, since Key Vault is designed so that Microsoft does not see or
extract any encryption keys.
● Support for key rotation
● Target database endpoint (for example, SQL endpoint, Cosmos DB endpoint, and so on)
● Storage endpoint
● Service bus endpoint
● You must provide the full database backup and subsequent log backups using the CHECKSUM option
in the SMB network share that the service can use to migrate your databases
● Provide an SMB network share that contains all your database full database backup files and subse-
quent transaction log backup files the Azure Database Migration Service can use for database migra-
tion.
● Ensure that the service account running the source SQL Server instance has write privileges on the
network share that you created and that the computer account for the source server has read/write
access to the same share.
● Make a note of a Windows user (and password) that has full control privilege on the network share
that you previously created. The Azure Database Migration Service impersonates the user credential
to upload the backup files to Azure storage container for restore operation.
● To perform an online migration, you should create an instance based on the Premium pricing tier.
● Ensure that your VNet Network Security Group rules don't block the following inbound communica-
tion ports to Azure Database Migration Service: 443, 53, 9354, 445, 12000.
● Configure your Windows Firewall for source database engine access.
● Open your Windows Firewall to allow the Azure Database Migration Service to access the source SQL
Server, which by default is TCP port 1433.
● If you're running multiple named SQL Server instances using dynamic ports, you may wish to enable
the SQL Browser Service and allow access to UDP port 1434 through your firewalls
● If you're using a firewall appliance in front of your source databases, you may need to add firewall
rules to allow the Azure Database Migration Service to access the source database(s) for migration, as
well as files via SMB port 445.
● Ensure that you have an Azure SQL Database managed instance
● Ensure that the logins used to connect the source SQL Server and the target managed instance are
members of the sysadmin server role.
● Create an Azure Active Directory Application ID that generates the Application ID key that DMS
Service can use to connect to target Azure Database managed instance and Azure Storage Container.
● Create or make a note of Standard Performance tier, Azure Storage Account, that allows DMS service
to upload the database backup files to and use for migrating databases. Make sure to create the
Azure Storage Account in the same region as the DMS service created.
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 177
2.
3. Select the subscription in which you want to create the instance of the Azure Database Migration
Service, and then select Resource providers.
MCT USE ONLY. STUDENT USE PROHIBITED 178 Module 5 Migrate SQL Workloads to Managed Instance
4.
5. Search for migration, and then to the right of Microsoft.DataMigration, select Register.
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 179
6.
2.
3. On the Azure Database Migration Service screen, select Create.
MCT USE ONLY. STUDENT USE PROHIBITED 180 Module 5 Migrate SQL Workloads to Managed Instance
4.
5. On the Create Migration Service screen, specify a name for the service, the subscription, and a new
or existing resource group.
6. Select the location in which you want to create the instance of DMS.
7. Select an existing VNet or create one. The VNet provides the Azure Database Migration Service with
access to the source SQL Server and target Azure SQL Database managed instance.
8. Select a SKU from the Premium pricing tier as this supports an online migration
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 181
9.
Note: If you use SQL Server Integration Services (SSIS) on your SQL Server on premises, DMS does not
yet support migrating SSIS catalog (SSISDB) that stores SSIS packages, but you can provision Azure-SSIS
Integration Runtime (IR) in Azure Data Factory (ADF) that will create a new SSISDB in a managed instance
and then you can redeploy your packages to it.
5.
6. Select Create and run activity to create the project.
3.
4. Select Save.
5. On the Select source databases screen, select the database for migration.
MCT USE ONLY. STUDENT USE PROHIBITED 184 Module 5 Migrate SQL Workloads to Managed Instance
6.
7. Select Save.
6 https://docs.microsoft.com/azure/azure-resource-manager/resource-group-create-service-principal-portal
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 185
5.
6. Select Save.
2.
● Password
● Password for the user.
● Subscription of the Azure Storage Account
● Select the subscription that contains the Azure Storage Account.
● Azure Storage Account
● Select the Azure Storage Account that DMS can upload the backup files from the SMB network
share to and use for database migration. We recommend selecting the Storage Account in the
same region as the DMS service for optimal file upload performance
●
2. Select Save.
3.
3.
6.
7. When the database migration status shows Completed, connect your applications to the new target
instance of Azure SQL Database managed instance.
Note: Azure Database Migration Service and Transparent Data Encryption.
The Azure Database Migration Service wizard leverage the TDE Settings If you're migrating the source
databases with Transparent Data Encryption (TDE) enabled. You need to have write privileges on the
target Azure SQL Database managed instance. You need to Select the subscription in which the Azure
SQL Database managed instance provisioned from the drop-down menu and select the target Azure SQL
Database Managed Instance in the drop-down menu.
Lesson Summary
In this lesson, you have focused on the tools and methods for migrating SQL Server databases to Azure
SQL Database Managed Instance. You have covered evaluating a database migration approach, choosing
the correct migration method, and breaking down the migration process. Finally, you focused on how
encryption can impact your migration strategy.
Learning objectives
In this module, you have learned to:
● Evaluate SQL Database Managed Instance Compatibility
● Migrate using Backup / Restore from URL
● Managing encrypted databases
● Creating the Database Migration Service
● Migrate using Database Migration Service
MCT USE ONLY. STUDENT USE PROHIBITED
Migrating to Azure SQL Database managed instance 191
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
Before creating the Database Migration Service, which resource provider should be registed in your subscrip-
tion prior?
Microsoft.DataMigration
Microsoft.Cache
Migration.DAta
Microsoft.Migration
Question 2
Which of the tools would be the best to find compatability issues between the on-premises SQL Server and
Azure SQL Database managed instance?
Azure Migrate Service
Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
MCT USE ONLY. STUDENT USE PROHIBITED 192 Module 5 Migrate SQL Workloads to Managed Instance
Learning objectives
In this module, you will learn:
● Connectivity options with on-premises servers
● Options to synchronize data to SQL Database Managed Instance
● Import and Export data with a BACPAC file
● Load data using SSIS/Azure Data Factory
● Using Transactional Replication to synchrinize data
● Connecting applications to a migrated database
connect to Azure from your existing WAN network (such as a MPLS VPN) provided by a network
service provider.
●
The public endpoint support with SQL Database Managed Instance enables manage instance to have all
of the connectivity scenarios that you would have with Azure SQL Database. This enables any data
synchronizations scenario that Azure SQL Database also supports.
MCT USE ONLY. STUDENT USE PROHIBITED 194 Module 5 Migrate SQL Workloads to Managed Instance
Backup/restore
Backup and restore options have been covered in previous lesson as a means of getting your databases
from on-prem to Azure. When attempting to bring your databases back on-premises, one important
point to understand is that the official statement from Microsoft is that backup and restore from SQL
Database Managed Instance to on-premises is not supported and likely would not work because SQL
Database Managed Instance is always at the latest build of the SQLOS engine. You cannot restore
backups from a higher version to earlier version.
Transactional replication
Transactional replication can copy data from your Managed Instance to any SQL Server. Transactional
Replication is a very convenient approach for migrating data to and from a Managed Instance. Below are
the supported replication types:
● Transactional
● Snapshot
● One-way
● Bidirectional
To connect to a managed instance, you must have a point-to-site connection or an express route connec-
tion.
The latest version of SQLPackage supports migration to Azure SQL Managed Instance (MI) from multiple
SQL sources such as Azure SQL Database.
2. Open a new Command Prompt window, and run the following command.
3. cd C:\Program Files\Microsoft SQL Server\150\DAC\bin
the same virtual network as the Managed Instance, make sure that the Azure-SSIS IR is in a different
subnet than the Managed Instance.
If you join your Azure-SSIS IR to a different virtual network than the Managed Instance, we recommend
either virtual network peering (which is limited to the same region) or a virtual network to virtual network
connection. In all cases, the virtual network can only be deployed through the Azure Resource Manager
deployment model.
Publisher
The Publisher is an instance or server that publishes changes made on some tables (articles) by sending
the updates to the Distributor. Publishing to any Azure SQL database from an on-premises SQL Server is
supported by the following versions of SQL Server:
● SQL Server 2019 (preview)
● SQL Server 2016 to SQL 2017
● SQL Server 2014 SP1 CU3 or greater (12.00.4427)
● SQL Server 2014 RTM CU10 (12.00.2556)
● SQL Server 2012 SP3 or greater (11.0.6020)
● SQL Server 2012 SP2 CU8 (11.0.5634.0)
MCT USE ONLY. STUDENT USE PROHIBITED 198 Module 5 Migrate SQL Workloads to Managed Instance
Distributor
The Distributor is an instance or server that collects changes in the articles from a Publisher and distrib-
utes them to the Subscribers. The Distributor can be either Azure SQL Database Managed Instance or
SQL Server (any version as long it is equal to or higher than the Publisher version).
Subscriber
The Subscriber is an instance or server that is receiving the changes made on the Publisher. Subscribers
can be either single, pooled, and instance databases in Azure SQL Database or SQL Server databases.
Azure SQL Managed Instance Databases supports the following replication types:
● Transactional
● Snapshot
● One-way
● Bidirectional
Common configurations
Publisher and distributor are configured on two Managed Instances. In this configuration, the following
requirements should be met:
● Both Managed Instances are on the same vNet.
● Both Managed Instances are in the same location.
● Managed Instances that are hosting published and distributor databases cannot be geo-replicated
using auto failover-groups.
Troubleshooting
One of the most common issues customer contend with when setting up replication with Azure SQL
Database Managed Instance is the network security layer. Managed Instance is secure by default and out
of the gate most ports and protocols are not going to have access to the managed instance virtual
network. Proper security access is required in order to ensure that replication components can communi-
cate with each other effectively. Azure SQL DB Managed Instance is locked down and isolated from other
resources by design. In order to leverage replication effectively certain protocols and ports must be
enabled in order for replication to work correctly. Other considerations around replication is that the
distributor can be a SQL Database Managed Instance SQL Server, but it has to be a version equal to or
higher to the configured publisher.
MCT USE ONLY. STUDENT USE PROHIBITED 200 Module 5 Migrate SQL Workloads to Managed Instance
Requirements
● Connectivity uses SQL Authentication between replication participants.
● An Azure Storage Account share for the working directory used by replication.
● Port 445 (TCP outbound) needs to be open in the security rules of the Managed Instance subnet to
access the Azure file share.
● Port 1433 (TCP outbound) needs to be opened if the Publisher/Distributor are on a Managed Instance
and the subscriber is on-premises.
Note: You may encounter error 53 when connecting to an Azure Storage File if the outbound network
security group (NSG) port 445 is blocked when the distributor is an instance database and the subscriber
is on-premises. Update the vNet NSG to resolve this issue.
The managed instance database is exposed through the Azure portal, PowerShell, Azure CLI, and the
REST API.
Managed instances depend on Azure services such as Azure Storage for backups, Azure Event Hubs for
telemetry, Azure Active Directory for authentication, Azure Key Vault for Transparent Data Encryption
(TDE) and a Azure platform services that provide security and supportability features.
The managed instances makes connections to these services.
All communications are encrypted and signed using certificates. To check the trustworthiness of commu-
nicating parties, managed instances constantly verify these certificates through certificate revocation lists.
If the certificates are revoked, the managed instance closes the connections to protect the data.
MCT USE ONLY. STUDENT USE PROHIBITED
Synchronizing data to Azure SQL Database managed instance 201
Lesson Summary
Data synchronization is an important part of data migration. Whether you need to replicate all data, some
of your data, or a transformed version of your data – data stores rarely stay isolated. In this lesson, you
have learned the most common and recommended approaches to synchronize your data to and from
SQL Database Managed Instance.
Learning objectives
In this module, you have learned:
● Connectivity options with on-premises servers
● Options to synchronize data to SQL Database Managed Instance
● Import and Export data with a BACPAC file
● Load data using SSIS/Azure Data Factory
● Using Transactional Replication to synchrinize data
● Connecting applications to a migrated database
Important
Should you be working in your own subscription while running through this content, it is best practice at
the end of a project to identify whether or not you still need the resources you created. Resources left
running can cost you money. You can delete resources one by one, or just delete the resource group to
get rid of the entire set.
Knowledge Check
Question 1
You are considering you connectivity choices between your work premises and Azure datacenters. You want
to create private and secure connections between Azure datacenters and on-premises infrastructure. Which
would be the best option?
Site-to-Site
Point-to-Site
ExpressRoute
Modem
MCT USE ONLY. STUDENT USE PROHIBITED 202 Module 5 Migrate SQL Workloads to Managed Instance
Module summary
Module Summary
In this module, you have looked at how you can migrate SQL Server workloads to SQL Database man-
aged instance. You explored the pre migration considerations that need to be taken into account before
performing a migration and how to create a SQL Database managed instance. You then explored the
different methods to perform an offline and online migration, and how to handle the migrations of
encrypted databases. You then looked at ways in which you can synchronized data to and from a SQL
Database Managed instance.
Learning objectives
In this module, you have learned how to:
● Considerations of migrating to Azure SQL Database Managed Instance
● Migrate to an Azure SQL Database Managed Instance
● Synchronize data to Azure SQL Database Managed Instance
MCT USE ONLY. STUDENT USE PROHIBITED
Module summary 203
Answers
Question 1
What is the lowest compatibility level that is supported by Azure SQL Database Managed Instance?
SQL Server 2005
■ SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
Explanation
The lowest compatibility level that is supported by Azure SQL Database Managed Instance is SQL Server
2008 database.
Question 2
Which of the tools can be used to centralize the management and execution of a migration to Azure SQL
Database Managed Instance?
■ Azure Database Migration Service
Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
Explanation
You should use the Azure Database Migration Service to centralize the management and execution of a
migration to Azure SQL Database Managed Instance. it can make use of the Database Migration Assistant,
SQL Server Migration Assistant and Data Experimentation Assistant to perform the assessments and
migration to Azure SQL Database Managed Instance.
Question 1
Before creating the Database Migration Service, which resource provider should be registed in your
subscription prior?
■ Microsoft.DataMigration
Microsoft.Cache
Migration.DAta
Microsoft.Migration
Explanation
The Microsoft.DataMigration resource provider should be registed in your subscription prior to creating the
Database Migration Service
MCT USE ONLY. STUDENT USE PROHIBITED 204 Module 5 Migrate SQL Workloads to Managed Instance
Question 2
Which of the tools would be the best to find compatability issues between the on-premises SQL Server
and Azure SQL Database managed instance?
Azure Migrate Service
■ Data Migration Assistant
Microsoft Planning and Assessment
Database Experimentation Assistant
Explanation
The Data Migration Assistant would be the best tool to use to detect any compatability issues between the
on-premises SQL Server and Azure SQL Database managed instance.
Question 1
You are considering you connectivity choices between your work premises and Azure datacenters. You
want to create private and secure connections between Azure datacenters and on-premises infrastruc-
ture. Which would be the best option?
Site-to-Site
Point-to-Site
■ ExpressRoute
Modem
Explanation
Azure ExpressRoute enables you to create private connections between Azure datacenters and on-prem
infrastructure or infrastructure in a colocation environment. ExpressRoute connections do not go over the
public Internet