IS SRERAMAN NARASIMHAN AND I'M AN
INTEGRATION MANAGER WITH AZURE DATA
TEAM. AND I REALLY APOLOGIZE FOR
THE DELAY IN COMING HERE. I WAS
STUCK ON THE BRIDGE FOR A LONG WHILE.
THERE WAS A BIT OF A PILEUP SO I
GOT IN LATER THAN I EXPECTED. SO
I'M GOING TO TALK TO YOU ABOUT MIGRATING
ON PREMISE SQL SERVER DATABASES
TO AZURE USING DATABASE MIGRATION
SERVICE. I DON'T KNOW HOW MUCH EXACTLY,
I PRETTY MUCH LOST HALF MY TIME
SO I WILL TRY TO RUN THROUGH AS
FAST AS I CAN. THERE'S QUITE A LOT
OF DATA THAT CAN HELP YOU. SO I'M
GOING TO TAKE THE TIME TO QUICKLY
RUN THROUGH A COUPLE OF THINGS.
HOW MANY OF YOU HAVE USED DATABASE
MIGRATION SERVICE? ASSISTANT? A
FEW MORE. SQL MIGRATION ASSISTANT
? A FEW MORE, OKAY. SO PRETTY MUCH
WE HAVE A SET OF TOOLS THAT ENABLE
CUSTOMERS TO ME GRAT FROM ONPREMISE
DATABASE, SQL, TO SQL SERVER OR
AZURE SQL DB, SQL MI, ET CETERA.
SO I'M GOING TO FOCUS ON THE DATABASE
MIGRATION SERVICE. I'M GOING TO
RUN THROUGH A BUNCH. LET ME QUICKLY
SHOW YOU A COUPLE OF PICTURES AND
TALK TO YOU. I'M GOING TO SKIP ALL
OF THIS FOR LACK OF TIME. SKIP THIS
AS WELL. I'M GOING TO TALK ABOUT
THE DATABASE MIGRATION SERVICE.
SO DMS AS WE CALL IT IS AN AZURE
NATIVE SERVICE WHICH ALLOWS CUSTOMERS
TO MIGRATE DATA FROM ONE DATABASE
TO THE AZURE DATA. SO ON THE RIGHT,
YOU'RE GOING TO FIND THE THREE INTERFACES
WHICH ARE COMMON WITH DATA AZURE
SERVICES. YOU CAN USE AZURE PORTAL
TO TALK WITH POWERSHELL. ALL OF
THESE GETS ROUTED TO A DMS RESOURCE
PROVIDED PROVIDER WHICH BASICALLY
DETERMINES HOW IT HAS TO RESPOND
TO THOSE TASKS. ON THE OTHER SIDE,
WE HAVE THE ON-PREM WORK FROM WHERE
WE ARE TRYING TO PULL THE DATA.
SO DMS IS HOSTED IN AZURE ON A VIRTUAL
MISSION AT THIS POINT. THE IDEA,
DMS REACHES INTO YOUR NETWORK THROUGH
EITHER A VPN OR EXPRESS ROUTE GATEWAY
WHERE IT TALKS TO YOUR SERVER AND
PULLS THE DATA AND STREAMS IT ON
TO THE AZURE DATA SERVICES. SO WITHOUT
FURTHER ADIEU, I'M GOING TO JUMP
INTO SHOWING YOU DMS ITSELF. SO
DMS ACTUALLY WORKS OFF OF -- ARE
YOU ABLE TO SEE IT? NOT REALLY.
THAT'S WHAT I THOUGHT. OKAY. IS
THIS BETTER? PERFECT. SO HERE, I
LIKE TO CREATE DMS, WHAT YOU DO,
IT'S AZURE-NATIVE SERVICE SO YOU
CAN BASICALLY DO A CREATE RESOURCE.
I TYPE IT WRONGLY. SO YOU CAN BASICALLY
DO A CREATE OF A DATABASE MIGRATION
SERVICE. AT THIS POINT, IT GIVES
YOU A BUNCH OF OPTIONS. WHAT DO
YOU WANT TO CALL THE SERVICE NAME?
WHAT SUBSCRIPTION DO YOU WANT TO
CREATE? WHAT RESOURCE GROUP? WHAT
IS THE LOCATION? AND BASICALLY THE
NEXT ONE THAT YOU SEE IS THE VIRTUAL
NETWORK. THE VIRTUAL NETWORK BASICALLY
TELLS YOU BASICALLY GIVES AN OPTION
FOR YOU TO CHOOSE WHICH NETWORK
YOU WANT TO CONNECT IT TO, FROM
WHERE, YOU HAVE SITE TO SITE CONNECTIVITY.
BECAUSE IT NEEDS TO BE ABLE TO TALK
TO YOUR ON-PREM OR THE SQL SERVER
FROM VALUE ONE TO PULL THE DATA.
SO IN TERMS OF TIME, I'M GOING TO
SKIP OUT OF THIS AND GO BACK TO
THE -- SO ONCE YOU CREATE THE SERVICE,
THAT'S WHERE I SHOWED YOU WHERE
YOU LAND UP. SO THIS IS BASICALLY
THE MIGRATION SERVICE ENTRY POINT.
SO HERE YOU WILL NOTICE THAT I HAVE
A BUNCH OF MIGRATION PROJECTS. AND
HERE I'VE SELECTED BASICALLY IT
SAYS THIS IS MY VIRTUAL NETWORK.
SO IF YOU NOTICE, CONNECTED. I NAMED
IT IN A WAY THAT MAKES SENSE. AND
THEN YOU ALSO NOTICE THAT I HAVE
A SKU. SO DMS HAS TWO SKUs THAT
WE OFFER TODAY. ONE IS CALLED BASIC.
THE OTHER ONE IS PREMIUM. SO BASIC
OR GENERAL PURPOSE. SO BASIC OR
GENERAL PURPOSE ALLOWS CUSTOMERS
TO MOVE. IT'S FREE SERVICE WHERE
CUSTOMERS CAN MOVE LARGE AMOUNT
OF DATA AS NEEDED, BUT IT SUPPORTS
OFF LINE MIGRATIONS. BASICALLY WHERE
THE MIGRATION, THE SOURCE SERVER
IS NOT AVAILABLE FOR YOU TO DO ANY
TRANSACTIONS. BASICALLY REMAINS
OFF LINE. AND WE ALSO HAVE A BUSINESS
CRITICAL SKU WHERE THE SOURCE CAN
CONTINUE TO BE ONLINE WHILE THE
MIGRATION IS IN PROGRESS. AND WHAT
I'M GOING TO SHOW IS ONE THING.
THIS IS CRITICAL FOR RECALL. SO
I'M GOING TO CREATE A NEW PROJECT.
I'M GOING TO GIVE IT A PROJECT NAME.
HERE YOU WILL NOTICE THE DIFFERENT
PATTERNS, DIFFERENT SOURCE AND TARGETS
OF SUPPORT. TODAY WE SUPPORT MIGRATING
FROM SQL, WE ALSO SUPPORT MIGRATING
FROM AWS, GCP, ET CETERA. WE ALSO
SUPPORT MIGRATION FROM ORACLE, MYSQL,
ET CETERA. SO THESE ARE THE VARIOUS
SOURCE PLATFORMS THAT WE ALLOW FOR
MIGRATION FROM. SO I'M GOING --
NOW FOR THIS DEMO, I'M GOING TO
CHOOSE SQL SERVER. WHEN YOU SELECT
SQL SERVER AS A SOURCE, IT DOWNLOADS
TO MIGRATE TO A VM, MANAGED OR SINGLE
DB OR ELASTIC POOL. SO I'M GOING
TO PICK THE MANAGED INSTANCE. I'M
GOING TO SAY, OKAY, I WANT TO DO
-- AGAIN, THERE ARE DIFFERENT TYPES
OF ACTIVITY THAT COME UP. SO BASICALLY
YOU CAN DO AN ONLINE DATA MIGRATION
WHICH IS WHAT WE'RE GOING TO DO
NOW. OFF LINE DATA HYDRATION WHICH
MEANS THE SOURCE CAN BE OFF, YOU
JUST WANT TO MOVE THE DATA ACROSS.
AND WE SUPPORT SSI PACKAGE MIGRATIONS.
FOR THE FUTURE, WE WILL BE SUPPORTING
LOG-IN MIGRATIONS, ET CETERA. SO
I'M GOING TO PICK THE ONLINE MIGRATION.
I'M GOING TO SAVE MIGRATION. SO
GIVES YOU A SET -- YEAH. AND HERE
I HAVE AN OPTION TO CREATE AND RUN
ACTIVITY. SO BASICALLY GIVE ME THE
SOURCE INFORMATION, TELL ME ABOUT
THE TARGET, TELL ME WHICH DATABASES
THAT YOU WANT TO MOVE. A FEW MIGRATION
SETTINGS ALLOWS THE MIGRATION TO
HAPPEN. AND YOU CAN KICK-OFF THE
MIGRATION. FOR ONLINE DATA MIGRATION
TO MANAGE INSTANCE, WE BASICALLY
USE A LOG SHIPPING PARADIGM. SO
USE THE EXISTING BACKUP PLAN. SO
USE THE FULL BACKUP AND FOLLOW THE
LOCK CHAIN AND STORE IT. AND BRING
ONCE WHEN THE OPERATION HAPPEN,
WE BASICALLY DO A RECOVER OF THE
DB ON THE TARGET SIDE AND IT CAN
USED FROM THAT POINT ONWARDS. SO
I'M GOING TO SELECT THE SOURCE SERVER.
I'M GOING TO USE WINDOWS. I'M GOING
TO USE MY CREDENTIALS. SO ONCE I
DO THIS, IT'S GOING TO SEND THE
REQUEST OUT OF THE WORKER THAT I
WAS TALKING ABOUT WHICH BASICALLY
VALIDATES SO. I'M ABLE TO CONNECT
TO THE SOURCE THAT THE USERS PROVIDED.
IS THERE THE USER NAME AND PASSWORD
WORK? ONCE IT CONNECTS WITH THE
SERVER, IT PULLS UP THE SET, THE
HOST ON THE SERVER. SO WE CAN ACTUALLY
PICK WHICH DB. ON THE TARGET SIDE,
WE USE SOMETHING CALLED APPLICATION
-- HOW MANY HAVE YOU USED AZURE
APP IDs? ALL OF YOU USED IT? FAMILIAR
WITH IT? THE CONCEPT IS IT'S GOING
TO BE RUNNING IN THE MODE. AND IT
CANNOT USE A STANDARD USER NAME
PASSWORD BECAUSE YOU ARE TWO FACTOR
AUTHENTICATION ENABLED BY DEFAULT.
SO WE NEED A WAY TO AUTHENTICATE
ITSELF TO THE MI, TO MI AND STORAGE
TO BE ABLE TO OPERATE AND RESTORE
DATABASES. SO WE PROVIDED WITH AN
APPLICATION ID. THINK AS OF A USER
NAME AND PASSWORD FOR DMS. SO GIVE
APPLICATION ID AND THE PASSWORD.
AND WE ALSO TELL YOU HOW TO CREATE
ONE. SO BASICALLY IN CASE YOU DON'T
KNOW, WE WALK YOU THROUGH THE PROCESS
OF CREATING THE APP ID. SO ONCE
YOU DO THIS, ONCE YOU GIVE THE APPLICATION
ID, WE SAY, OKAY, TELL US WHICH
SUBSCRIPTION YOU'RE MANAGING IN.
SO I'M GOING TO PICK -- I'M GOING
TO PICK THE SUBSCRIPTION. ONCE YOU
DO THAT, IT POPULATES A LIST OF
-- I'M GOING TO PICK ONE THAT I
HAVE. AND ALSO ASK YOU FOR THE SQL
SERVER USER NAME ON THE TARGET MI.
NOW I'M GOING TO SAVE AGAIN. IT'S
GOING TO GO THROUGH AUTHENTICATION.
IT VALIDATES, CONNECTED USING THE
USER ID AND THE PASSWORD THAT YOU
GAVE IT. AND NOW NOTICE THAT IT
SAYS, OKAY, THESE ARE THE DBs I
FOUND ON YOUR SOURCE, WHICH ONE
DO WE WANT TO MOVE? I'M GOING TO
PICK JUST ONE. ONCE YOU DO THAT
-- SO NOW IT ASKS YOU FOR A SET
PARAMETERS. BASICALLY ASKING US
WHICH BACKUP NETWORK CAN BE SHARED,
CAN I LOOK AT THE FULL BACKUPS AND
TRANSACTION LOG BACKUPS FROM? I'M
GOING TO PROVIDE A BACKUP LOCATION.
OKAY. AND AGAIN, I'LL GIVE MY CREDENTIAL
TO BE ABLE TO ACCESS THAT ONE. OKAY.
AND NOW IT'S ASKING US FOR A STORAGE
ACCOUNT WHERE IT CAN COPY. SO THE
WAY THAT IT HAPPEN, TAKE THE FULL
BACKUP COPIES BECAUSE IT CANNOT
TALK TO YOU FOR SECURITY REASONS.
IT TALKS ON STORAGE ACCOUNT. SO
WE MOVE THE DATA FROM THE NETWORK
SHARED TO THE BLOCK STORAGE. AND
THEN HAVE IT STORED IN THE BACK
ON MY SIDE. SO AGAIN, I'M GOING
TO SAY, PICK UP A STORAGE. SO BASICALLY
AGAIN PICK UP THE SAME SUBSCRIPTION
THAT I HAD EARLIER. AND ONCE I PICK
THE SUBSCRIPTION, IT'S GOING TO
BASICALLY SAY GIVE ME AN OPTION
OF -- I'M GOING TO PICK THIS STORAGE
ACCOUNT. AND FOR THE PURPOSE OF
THIS DEMO, I ALSO HAVE AN ADDITIONAL
OPTION WHERE I CAN SAY, INSTEAD
OF CALLING IT SHR, I'M PRETTY SURE
THAT I WOULDN'T DROP THE DB SINCE
THE LAST TIME I DEMOED IT, SO I'M
GOING TO CHANGE THE NAME OF THE
DB. ONCE YOU DO THIS, AGAIN, IT'S
GOING TO VALIDATE THAT IT'S ABLE
TO CONNECT TO THE STORAGE ACCOUNT.
IS ABLE TO SEE THE FULL BACKUPS.
AT LEAST THE FULL BACKUP. AND IT'S
GOING TO COME BACK AND GIVE THE
OPTION TO REVIEW AND CONTINUE. SO
AT THIS POINT, I WANT TO SAY RUN
THE MIGRATION. OH, I FORGOT TO GIVE
THE NAME OF THAT. SO ONCE YOU DO
THIS, NOW DMS TAKES OVER AND BASICALLY
STARTS, INITIALIZES, LOOKS FOR THE
FULL BACKUP, COPIES THE FULL BACKUP.
SO YOU CAN ACTUALLY GO AND TAKE
A LOOK AT THIS. SO THERE YOU MIGRATED
ONE DB. SO YOU BASICALLY SAY IT'S
OKAY. SO BASICALLY SAYS THE FULL
BACK UP AS BEEN UP LOADED AND SEVEN
DIFFERENT LOG BACKUPS AND FOLLOW
THE CHAIN AND DEPLOYS ALL OF THEM.
ONCE IT UP LOADS THE FULL BACKUP,
IT STARTS RESTORING THIS ONE. IF
I DO A REFRESH NOW. YOU WILL NOTICE
THAT THE FULL BACKUP IS RESTORING.
ONE IS A FULL BACK IS COMPLETED,
GO THROUGH THE REST OF THE RESTORING
PROCESS. ONCE THE FULL BACKUP IS
RESTORED, AND ENABLE THE OPTION.
SO YOU CAN GO AHEAD AND CUT OVER
AND MIGRATION THE DB'S ON THE OTHER
SIDE. LET ME DO A QUICK RUN ON THAT.
SO YOU WILL NOTICE THAT IT'S RESTORED
A BUNCH OF STUFF. SO WHEN YOU START
OVER, AT THIS POINT, IT'S GOING
TO SAY, HEY, EVERYTHING IS READY
FOR ME TO CUT OVER. SO I'M GOING
TO CONFIRM. AND I'M GOING TO APPLY.
SO IT'S BASICALLY AT THIS POINT
COMPLETING THE DATABASE MIGRATION.
SO GIVEN THAT WE DIDN'T GET TOO
MUCH TIME, I HAD TO RUN THROUGH
THE SCENARIO. OTHERWISE, I COULD
HAVE SHOWN MORE TRANSACTIONS. SO
WHEN THE TRANSACTION IS APPLIED,
IT WAITS FROM THE TRANSACTION TO
BE APPLIED TO YOU CAN -- THE WAY
TYPICALLY USERS RUN IT, THEY KEEP
TAKING TRANSACTION BACKUPS EVERY
FIVE, 10 MINUTES SO DMS IS CONSTANTLY
MONITOR THE CHAT AND WHEN IT PICKS
UP, THE TRANSACTION LACKUP IT AUTOMATICALLY
UP LOADS IT. SO WHEN YOU DO THE
PENDING LOG BACKUPS, YOU WILL KNOW
HOW FAR BEHIND OR HOW MUCH LAG THE
SOURCE AND THE TARGET HAS. SO AGAIN,
WE ARE RUNNING OUT OF TIME. I'M
GOING BE AVAILABLE OUT HERE AS WELL
AS THE BOOTH. I'LL BE HAPPY TO ANSWER
ANY QUESTIONS THAT YOU MAY HAVE.
REALLY SORRY FOR THE LATE SHOW.
THANK YOU VERY MUCH FOR WAITING