Git Product home page Git Product logo

mcw-migrating-sql-databases-to-azure's Introduction

Migrating SQL databases to Azure

This workshop is archived and no longer being maintained. Content is read-only.

Wide World Importers (WWI) is the developer of the popular Tailspin Toys brand of online video games. Founded in 2010, the company has experienced exponential growth since releasing the first installment of their most popular game franchise to include online multiplayer gameplay. They have since built upon this success by adding online capabilities to the majority of their game portfolio.

To facilitate online gameplay, they host gaming services on-premises using rented hardware. Adding online gameplay has dramatically increased their games' popularity, but the rapid increase in demand for their services has made supporting the current setup problematic.

WWI is excited to learn more about how migrating to the cloud can improve its overall processes and address the concerns and issues with its on-premises setup. They are looking for a proof-of-concept (PoC) for migrating their gaming VMs and databases into the cloud. With an end goal of migrating their entire service to Azure, the WWI engineering team is also interested in understanding better what their overall architecture will look like in the cloud.

October 2021

Target audience

  • Database administrators
  • SQL/Database developers
  • Application developers

Abstracts

Workshop

In this workshop, you learn how to develop a plan for migrating on-premises VMs and SQL Server databases into a combination of IaaS and PaaS services in Azure. You perform assessments to reveal any feature parity and compatibility issues between the customer's SQL Server 2008 R2 databases and Azure's managed database offerings. You then design a solution for migrating their existing on-premises services, including VMs and databases, into Azure, with minimal downtime. Finally, you demonstrate some of the advanced SQL features available in Azure to improve security and performance in the customer's applications.

At the end of this workshop, you will be better able to design and implement a cloud migration solution for business-critical applications and databases.

Whiteboard design session

In this whiteboard design session, you work in a group to develop a plan for migrating on-premises VMs and SQL Server databases into a combination of IaaS and PaaS services in Azure. You provide guidance on performing assessments to reveal any feature parity and compatibility issues between the customer's SQL Server 2008 R2 databases and Azure's managed database offerings. You then design a solution for migrating their on-premises services, including VMs and databases, into Azure, with minimal downtime. Finally, you provide guidance on enabling some of the advanced SQL features available in Azure to improve security and performance in the customer's applications.

At the end of this whiteboard design session, you will be better able to design a cloud migration solution for business-critical applications and databases.

Hands-on lab

In this hands-on lab, you implement a proof-of-concept (PoC) for migrating an on-premises SQL Server 2008 R2 database into Azure SQL Managed Instance (SQL MI). You perform assessments to reveal any feature parity and compatibility issues between the on-premises SQL Server 2008 R2 database and Azure's managed database offerings. You then migrate the customer's on-premises gamer information web application and database into Azure, with minimal downtime. Finally, you enable some of the advanced SQL features in SQL MI to improve security and performance in the customer's application.

At the end of this hands-on lab, you will be better able to implement a cloud migration solution for business-critical applications and databases.

Azure services and related products

  • Azure SQL
    • Azure SQL Managed Instance (SQL MI)
    • Azure SQL Database (SQL DB)
  • Azure Database Migration Service (DMS)
  • Microsoft Data Migration Assistant (DMA)
  • Azure App Service
  • SQL Server
  • SQL Server on VM
  • SQL Server Management Studio (SSMS)
  • Azure virtual machines
  • Visual Studio 2019
  • Azure virtual network
  • Azure virtual network gateway
  • Azure Blob Storage account
  • Azure Data Factory
  • SharePoint on Azure VM
  • Power BI
  • Azure Active Directory

Related references

Help & Support

We welcome feedback and comments from Microsoft SMEs & learning partners who deliver MCWs.

Having trouble?

  • First, verify you have followed all written lab instructions (including the Before the Hands-on lab document).
  • Next, submit an issue with a detailed description of the problem.
  • Do not submit pull requests. Our content authors will make all changes and submit pull requests for approval.

If you are planning to present a workshop, review and test the materials early! We recommend at least two weeks prior.

Please allow 5 - 10 business days for review and resolution of issues.

mcw-migrating-sql-databases-to-azure's People

Contributors

codingbandit avatar daronyondem avatar dawnmariedesjardins avatar kylebunting avatar microsoftopensource avatar mokabiru avatar msftgits avatar saimachi avatar thommck avatar timahenning avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mcw-migrating-sql-databases-to-azure's Issues

[TYPO] SERVER NAME :200.

There is a typing error of step6 of the step to step document,
Server name: Select SQLSERVER200. >> should be SQLSERVER2008.
Otherwise, it will show

Error:40
'Connection to the server failed.
Validator 'Microsoft.SqlServer.Migration.Core.Validators.SupportedDatabaseEnvironmentValidator' failed to validate data.'

ARM Template Failing on SQL Managed Instance - subnet "precondition failed"

Opening new issue because the root cause is different than the other SQLMI issue.

{ "code": "DeploymentFailed", "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.", "details": [ { "code": "Conflict", "message": "{\r\n \"status\": \"Failed\",\r\n \"error\": {\r\n \"code\": \"ResourceDeploymentFailure\",\r\n \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n \"details\": [\r\n {\r\n \"code\": \"**_VnetSubnetConflictWithIntendedPolicy_**\",\r\n \"message\": \"**_Precondition failed_**.. (https://go.microsoft.com/fwlink/?linkid=871071)\"\r\n }\r\n ]\r\n }\r\n}" } ] }

Ex 2 Task 6: Online migration activity fails

Error below:

Error Detail
A scenario reported an unknown error.
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

image

Please advise

ARM Template Failing on SQL MI Deployment

I've attempted to deploy the ARM template, but receive the following error message after about 30 minutes:

"The service objective assignment for the database has failed. Please contact Microsoft customer support and provide the server name, database name and activity ID."

However, after the ARM template deployment completely fails, I can manually deploy the SQL MI instance without issues. Has anyone else had this issue? My subscription core quota is high enough and I'm accepting all the ARM template defaults before deployment.

Please reach out if you need more information.

Required permissions clarification

I received this information via Teams chat. Creating a GitHub issue so it can be reviewed and addressed. Thank you!

Seems like some information in this doc is not correct - there is no need to have owner role in the resource group:

To migrate, the required permission is contributor role in sub, as specified in this official doc: https://docs.microsoft.com/en-au/azure/dms/tutorial-sql-server-managed-instance-online

Azure Database Migration Service requires the Contributor permission on the subscription for the specified Application ID. Alternatively, you can create custom roles that grant the specific permissions that Azure Database Migration Service requires. For step-by-step guidance about using custom roles, see the article Custom roles for SQL Server to SQL Managed Instance online migrations.

Excercise4>Task1> 3

Unable to save point-to-site configuration.

Here is what I input.

  • Address pool: 192.168.0.0/16
  • Tunnel type: Select SSTP (SSL).
  • Authentication type: Choose Azure certificate

When I followed the instruction 'Excercise4>Task1> 3 ' Save button is disabled.

Do I need to add Root certificates?

Before HOL setup fails

The ARM template for before HOL fails with below error, replicated multiple times in different subscription

{
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
"details": [
{
"code": "Conflict",
"message": "{\r\n "status": "Failed",\r\n "error": {\r\n "code": "ResourceDeploymentFailure",\r\n "message": "The resource operation completed with terminal provisioning state 'Failed'.",\r\n "details": [\r\n {\r\n "code": "VnetSubnetConflictWithIntendedPolicy",\r\n "message": "Route Table. (https://go.microsoft.com/fwlink/?linkid=871071)"\r\n }\r\n ]\r\n }\r\n}"
}
]
}

January 2020 - content update

This workshop is scheduled for a January 2020 content update. Please review the workshop and provide recommended changes for SME review.

Lab need update to ease up student worshops

Created on the behalf of Tim Henning. I will soon resolve this issue. Hereinafter content is from Tim's email.

We need someone to be able to follow the instructions and run through the lab. Old Azure images will need to be updated. Small technical fixes may need to be applied. (less than about 1 hour, otherwise we need to go back to MS). Instructions may need to be updated. The whiteboard design session may need to be updated as well. Highly unlikely.

Microsoft.Sql/managedInstances Conflict while deploying Microsoft.Template

While deploying the ARM template, this error makes it unable to finish deployment:
{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "VnetSubnetConflictWithIntendedPolicy",
"message": "Precondition failed.. (https://go.microsoft.com/fwlink/?linkid=871071)"
}
]
}
}

The PowerShell command from this link is not working.
I've tried to deploy this template 6 times, same error appears every time.

Archive lab documents

Lab currently broken, please remove lab documents from the repo until we can repair and refresh.

Ready for QC

The Migrating SQL databases to Azure MCW is ready for QC and publishing.

Web Application is not loading after configuring with Vnet Gateway

Exercise 4 Integrate App Service with the virtual network After configurung the Vnet with Web Application, web app should load but in my case its not loading.

Difference is I am having SQL-Mi instance and Vnet Gateway in different RG and Web app is in different RG, we configured everything with same Vnet only ( Regions is same only RG are different )
image

Can you please check this ASAP, I can share lab environment details to quickly check this.

Thanks
Abhishek

September 2020 Updates

WDS Updates:
Update SSRS content and add newer Power BI integration
Update references to the new Azure SQL branding.
Add SQL MI related security benefits to the customer conversation.

Lab Updates:
Test all tasks in the labs
Update screenshots
Update references to new Azure SQL branding
Investigate adding SQL accounts to initial automation script
Task 5: Create a service principal
Check to see if this task needs to be updated or can be automated further. Possibly use a managed identity.

Not able to login using WorkShopUser credetials.

I am not able to login using WorkShopUser account. i found that this is because SQL Server authentication mode windows only. and this is not changing from the Configure-sqlVM.ps1, I am able to login after enabled the Mixed Authentication mode for SQL Server.

i have added this query in powershell script.

$query = "USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',
N'Software\Microsoft\MSSQLServer\MSSQLServer',
N'LoginMode', REG_DWORD, 2
GO"
Invoke-Sqlcmd $query -QueryTimeout 3600 -ServerInstance $ServerName

Restart-Service -Force MSSQLSERVER

June 2020 Update Suggestions

WDS Updates:
Update SSRS content and add newer Power BI integration
Update references to the new Azure SQL branding.
Add SQL MI related security benefits to the customer conversation.

Lab Updates:
Test all tasks in the labs
Update screenshots
Update references to new Azure SQL branding
Investigate adding SQL accounts to initial automation script
Task 5: Create a service principal
Check to see if this task needs to be updated or can be automated further. Possibly use a managed identity.

web app is not loading

In exercise 4 task2:-
I have followed all the steps but the web app is not getting loaded.

  • subnet is connected with web app
  • Connectionstring is also updated with the database strings.

Getting the following error page.
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.