{"id":2680,"date":"2021-02-23T08:00:00","date_gmt":"2021-02-23T05:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=2680"},"modified":"2024-12-03T21:05:55","modified_gmt":"2024-12-03T18:05:55","slug":"pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/","title":{"rendered":"How to online migrate an instance from on-premise to Azure Managed Instance in the Cloud (Azure Database Migration Service)"},"content":{"rendered":"<p>In this article we will analyze the way we can do it <strong>online migration<\/strong> of a SQL Server Instance <strong>from<\/strong> <strong>on-premise in Azure Managed Instance<\/strong>. To be able to do it online, with near zero downtime we will use it <strong>Azure Database Migration Service<\/strong> in <strong>hybrid mode<\/strong>. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"895\" height=\"298\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-000.png\" alt=\"\" class=\"wp-image-2815\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-000.png 895w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-000-300x100.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-000-768x256.png 768w\" sizes=\"auto, (max-width: 895px) 100vw, 895px\" \/><\/figure>\n\n\n\n<p>The process is done using an installed client worker service in Windows Server 2012 and later versions in collaboration with the Database Migration Service in Azure. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The example<\/h2>\n\n\n\n<p>It is a complex process so we should follow the steps very strictly.<\/p>\n\n\n\n<p>First the process requires that we have created the Azure SQL Managed Instance. We can see how this is done in detail <a href=\"https:\/\/www.dataplatform.gr\/en\/pos-ftiachnoyme-ena-sql-managed-instance-sto-azure\/\" target=\"_blank\" rel=\"noreferrer noopener\">in this article<\/a>.<\/p>\n\n\n\n<p> To start setting up the migration process, we will search for it <em>Azure Database Migration Services<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"810\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-01.png\" alt=\"\" class=\"wp-image-2708\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-01.png 962w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-01-300x253.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-01-768x647.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><figcaption class=\"wp-element-caption\">1<\/figcaption><\/figure>\n\n\n\n<p>We choose <em>Add<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"805\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-02.png\" alt=\"\" class=\"wp-image-2709\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-02.png 962w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-02-300x251.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-02-768x643.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><figcaption class=\"wp-element-caption\">2<\/figcaption><\/figure>\n\n\n\n<p>We put R<em>esource Group<\/em> which is the Managed Instance we will migrate, a name in the service and we choose <em><strong>Hybrid <\/strong>Service mode<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"811\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-03.png\" alt=\"\" class=\"wp-image-2710\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-03.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-03-300x252.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-03-768x644.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">3<\/figcaption><\/figure>\n\n\n\n<p>At this point we should make one <strong>Azure App<\/strong> which will be responsible for communicating with each other <em>client worker<\/em> and his <em>Database Migration Service<\/em>.<\/p>\n\n\n\n<p>So let&#039;s go to <em>Tenant<\/em> of <em>Azure Active Directory<\/em> that we have, <em>App registrations<\/em> and <em>New registration<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"943\" height=\"757\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05.png\" alt=\"\" class=\"wp-image-2712\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05.png 943w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05-300x241.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05-768x617.png 768w\" sizes=\"auto, (max-width: 943px) 100vw, 943px\" \/><figcaption class=\"wp-element-caption\">4<\/figcaption><\/figure>\n\n\n\n<p>We set a name and leave the rest as it is.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"991\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05_5.png\" alt=\"\" class=\"wp-image-2713\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05_5.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05_5-293x300.png 293w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-05_5-768x786.png 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">5<\/figcaption><\/figure>\n\n\n\n<p>Now we should turn to <em>Azure Database Migration Service<\/em> that we built in the beginning and give the Contributor role to have the access you require. So we choose  <em>Access Control<\/em>, <em>Add role assignment<\/em>, we define the role and look for the name of the application we defined.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"811\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06.png\" alt=\"\" class=\"wp-image-2715\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06-300x252.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06-768x644.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">6<\/figcaption><\/figure>\n\n\n\n<p>We should do the same procedure for the application below <strong>Subscription<\/strong> that we have. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"991\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06_5.png\" alt=\"\" class=\"wp-image-2716\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06_5.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06_5-293x300.png 293w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-06_5-768x786.png 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">7<\/figcaption><\/figure>\n\n\n\n<p>We go back to the Azure Database Migration Service and select the tab <em>Hybrid<\/em> and <em>Installer download<\/em>. From there we will download the client worker that we will install.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"959\" height=\"751\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-04.png\" alt=\"\" class=\"wp-image-2711\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-04.png 959w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-04-300x235.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-04-768x601.png 768w\" sizes=\"auto, (max-width: 959px) 100vw, 959px\" \/><figcaption class=\"wp-element-caption\">8<\/figcaption><\/figure>\n\n\n\n<p>After it is downloaded and we unzip it, we should put the parameters it asks for in the <strong>dmsSettings.json<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>ApplicationId <\/em> we find it from Azure Active Directory, App registrations in Application (client) ID.<\/li>\n\n\n\n<li>The <em>CertificateThumbprint <\/em>we leave it for now with the default value as we will make it in the next step, then we will go back and fill it in.<\/li>\n\n\n\n<li>Ta <em>resourceId<\/em>, <em>subscriptionId<\/em>, <em>resourcegroup <\/em>and <em>serviceName <\/em>we will find it by going to Azure Database Migration Service, Properties. <\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-30-1024x584.png\" alt=\"\" class=\"wp-image-2738\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-30-1024x584.png 1024w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-30-300x171.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-30-768x438.png 768w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-30.png 1231w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">9<\/figcaption><\/figure>\n\n\n\n<p>Then we should create the Certificate, open a command prompt, cd to the DMSHybrid folder and run the following command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">DMSWorkerBootstrap.exe -a GenerateCert<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"512\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-07.png\" alt=\"\" class=\"wp-image-2717\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-07.png 977w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-07-300x157.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-07-768x402.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">10<\/figcaption><\/figure>\n\n\n\n<p>When we run it successfully, a file with the name will be created in the folder <strong>DMS Hybrid App Key.cer<\/strong>. This certificate should be uploaded to the application. To do this we go to Azure Active Directory again, <em>App registrations<\/em>, we select our application, <em>Certificates &amp; Secrets<\/em> and <em>Upload certificate<\/em>.<\/p>\n\n\n\n<p>We&#039;ll keep it from there <strong>Thumbprint<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09.png\" alt=\"\" class=\"wp-image-2719\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09.png 977w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09-300x275.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09-768x704.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><figcaption class=\"wp-element-caption\">11<\/figcaption><\/figure>\n\n\n\n<p>We add it <em>Thumbprint<\/em> in the field <em>CertificateThumbprint <\/em>of <strong>dmsSettings.json<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>{\n  \"Authentication\": {\n    \"isCertificateAuthentication\": true,\n    \"ApplicationId\": \"d9c257c2-4323-4395-af23-4475c8f65e68\",\n    \"CertificateThumbprint\": \"B89967539FF2BAF04255F29228AFA63EFB20F49F\"\n  },\n  \"DMSService\": {\n    \"resourceId\": \"\/subscriptions\/aa15be35-988b-4f4e-b7fe-476eb0cb81b2\/resourcegroups\/RG_DPGR_I\/providers\/Microsoft.DataMigration\/services\/dms\",\n    \"subscriptionId\": \"aa15be35-988b-4f4e-b7fe-476eb0cb81b2\",\n    \"resourceGroup\": \"RG_DPGR_I\",\n    \"serviceName\": \"hybriddms\"\n  }\n}\n<\/code><\/pre>\n\n\n\n<p>Later we will also need a secret, so let&#039;s make it from now by choosing <em>New client secret<\/em>. We keep the value it has in Value as it hides after a while.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"991\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09_5.png\" alt=\"\" class=\"wp-image-2728\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09_5.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09_5-293x300.png 293w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-09_5-768x786.png 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">12<\/figcaption><\/figure>\n\n\n\n<p>Now we are ready to proceed with its installation <strong>client worker<\/strong>. <\/p>\n\n\n\n<p>To do this we cd into the folder <em>DMSHybrid <\/em>and execute the following:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">DMSWorkerBootstrap.exe -a Install -IAcceptDMSLicenseTerms -d<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"981\" height=\"509\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-10.png\" alt=\"\" class=\"wp-image-2720\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-10.png 981w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-10-300x156.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-10-768x398.png 768w\" sizes=\"auto, (max-width: 981px) 100vw, 981px\" \/><figcaption class=\"wp-element-caption\">13<\/figcaption><\/figure>\n\n\n\n<p>If an error like the one below appears, it may mean that another application is using the door. <\/p>\n\n\n\n<p>In this case we see in the log is this reason.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"468\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-11.png\" alt=\"\" class=\"wp-image-2721\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-11.png 976w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-11-300x144.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-11-768x368.png 768w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><figcaption class=\"wp-element-caption\">14<\/figcaption><\/figure>\n\n\n\n<p>If it is true, we open one <em>command prompt <\/em>with <em>run as administrator <\/em>and run the following command to see which application is using the port and close it (in my case it was OneDrive):<\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>netstat -a -b<\/code><\/pre>\n\n\n\n<p>If we have made this correction, we will have to uninstall and re-install with the command we executed before.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">DMSWorkerBootstrap.exe -a uninstall -ReuseCert<\/pre>\n\n\n\n<p>After the installation of the hybrid client worker has been completed we will see at <em>Azure Database Migration Service<\/em> of, in the tab <em>Hybrid<\/em> the<em> Worker Name<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-12.png\" alt=\"\" class=\"wp-image-2722\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-12.png 965w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-12-300x279.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-12-768x713.png 768w\" sizes=\"auto, (max-width: 965px) 100vw, 965px\" \/><figcaption class=\"wp-element-caption\">15<\/figcaption><\/figure>\n\n\n\n<p>I keep choosing <em>Overview<\/em> and <strong>New Migration Project<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-13.png\" alt=\"\" class=\"wp-image-2723\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-13.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-13-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-13-768x712.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">16<\/figcaption><\/figure>\n\n\n\n<p>There we define a name for the Project, that it is about <em>SQL Server<\/em>, that the target is <em>Azure Managed Instance <\/em>and that we will make use of it <strong>Online data migration<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-14.png\" alt=\"\" class=\"wp-image-2724\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-14.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-14-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-14-768x712.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">17<\/figcaption><\/figure>\n\n\n\n<p>Then we will have to fill in the details for the connection to the on-premise source. <em>Hostname<\/em>, <em>Authentication<\/em> and one <strong>sysadmin <\/strong>user. We also choose <strong>Encrypt connection<\/strong>, <strong>Trust server certificate<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-17.png\" alt=\"\" class=\"wp-image-2726\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-17.png 966w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-17-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-17-768x712.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption class=\"wp-element-caption\">18<\/figcaption><\/figure>\n\n\n\n<p>In the next step we should fill in the information about the target in the Azure Managed Instance.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <em>ApplicationID <\/em>(if we don&#039;t remember it we find it in Azure Database Migration Service, Properties)<\/li>\n\n\n\n<li>As <em>Key <\/em>the Value of the secret we created in the Application and kept in image 12.<\/li>\n\n\n\n<li>The <em>Azure Managed Instance<\/em> which we will have as a target.<\/li>\n\n\n\n<li>The<em> sql username \/ password <\/em>from <em>sysadmin<\/em> user on the target, we can use the admin user we created when creating the Managed Instance.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"679\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-18.png\" alt=\"\" class=\"wp-image-2727\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-18.png 968w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-18-300x210.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-18-768x539.png 768w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">19<\/figcaption><\/figure>\n\n\n\n<p>We choose the databases that we will migrate.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"963\" height=\"667\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-20.png\" alt=\"\" class=\"wp-image-2729\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-20.png 963w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-20-300x208.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-20-768x532.png 768w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><figcaption class=\"wp-element-caption\">20<\/figcaption><\/figure>\n\n\n\n<p>At this point we will need a folder in the on-premise source which we will do <strong>Share <\/strong>as a network path so that the Hybrid client worker has access. <\/p>\n\n\n\n<p>In this path we will store them <strong>backups <\/strong>which will be needed for the migration.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"356\" height=\"474\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-21.png\" alt=\"\" class=\"wp-image-2730\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-21.png 356w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-21-225x300.png 225w\" sizes=\"auto, (max-width: 356px) 100vw, 356px\" \/><figcaption class=\"wp-element-caption\">21<\/figcaption><\/figure>\n\n\n\n<p>In the next step we fill in the <em>network path<\/em> for <em>backups <\/em>from the previous step, in the next field we fill in the <em>credentials <\/em>a user who has access to this network path or a local admin.<\/p>\n\n\n\n<p>At the end it will ask us to choose it <strong>Storage Account <\/strong>where we want the backups to be stored, we can use one we already have or create a new one.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-22.png\" alt=\"\" class=\"wp-image-2731\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-22.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-22-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-22-768x712.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">22<\/figcaption><\/figure>\n\n\n\n<p>At the end, before we start the migration, we should have taken the backups of the databases on the network path.<\/p>\n\n\n\n<p>The backups should be with the option <strong>with checksum<\/strong>.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">backup database mig_db to disk='C:\\backups\\full_mig.bak' with checksum\nbackup log  mig_db to disk='C:\\backups\\log.trn' with checksum<\/pre>\n\n\n\n<p>After making sure that the backups are OK, we proceed to <strong>Start Migration<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-23.png\" alt=\"\" class=\"wp-image-2732\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-23.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-23-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-23-768x712.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">23<\/figcaption><\/figure>\n\n\n\n<p>We will see that the process has started. If we select each base we will see in detail which step it is on.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-24.png\" alt=\"\" class=\"wp-image-2733\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-24.png 967w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-24-300x278.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-24-768x712.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><figcaption class=\"wp-element-caption\">24<\/figcaption><\/figure>\n\n\n\n<p>After seeing what has been done <strong>Restored<\/strong> all backup files we can start the process at any time we want <strong>Start Cutover<\/strong> so that we can also transfer the information from the last seconds from the on-premise server to our database in Azure Managed Instance.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-25.png\" alt=\"\" class=\"wp-image-2734\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-25.png 970w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-25-300x277.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-25-768x709.png 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><figcaption class=\"wp-element-caption\">25<\/figcaption><\/figure>\n\n\n\n<p>With Start Cutover selected, this will be the only point where the application connecting to our database should be offline.<\/p>\n\n\n\n<p>After the application is downloaded we get the last one <strong>tail log backup<\/strong> which is one <strong>transaction log backup <\/strong>which does not allow access to the base. We do this so that we can be sure that we have backed up all the data.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">backup log mig_db to disk='C:\\backups\\log_final.trn' with checksum,norecovery<\/pre>\n\n\n\n<p>When this backup is completed and we make sure that this has been done as well <strong>Restored<\/strong>. We can press it <em>Apply<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"970\" height=\"896\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-26.png\" alt=\"\" class=\"wp-image-2735\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-26.png 970w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-26-300x277.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-26-768x709.png 768w\" sizes=\"auto, (max-width: 970px) 100vw, 970px\" \/><figcaption class=\"wp-element-caption\">26<\/figcaption><\/figure>\n\n\n\n<p>Somewhere here the process ends and if we connect to the Managed Instance we will see that the database we chose to migrate has been transferred.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"436\" height=\"299\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-28.png\" alt=\"\" class=\"wp-image-2736\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-28.png 436w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/12\/admas-28-300x206.png 300w\" sizes=\"auto, (max-width: 436px) 100vw, 436px\" \/><figcaption class=\"wp-element-caption\">27<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/dms\/quickstart-create-data-migration-service-hybrid-portal\" target=\"_blank\" rel=\"noreferrer noopener\">Quickstart: Create a hybrid mode instance with Azure portal &amp; Azure Database Migration Service<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/dms\/tutorial-sql-server-managed-instance-online\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial: Migrate SQL Server to an Azure SQL Managed Instance online using DMS<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>In this article we will analyze how we can do online migration of a SQL Server Instance from on-premise to Azure Managed Instance. So that it can be done online, with near zero downtime, we will use the Azure Database Migration Service in hybrid mode. The process is done using an installed client worker service in Windows [\u2026]<\/p>","protected":false},"author":1,"featured_media":2837,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,36,15],"tags":[135,46,137,136,6],"class_list":["post-2680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-azure","category-ms-sqlserver","tag-azure","tag-cloud","tag-migration","tag-sql-managed-instance","tag-sqlserver"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b1\u03bd\u03b1\u03bb\u03cd\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf\u03bd \u03c4\u03c1\u03cc\u03c0\u03bf \u03c0\u03bf\u03c5 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03b5\u03bd\u03cc\u03c2 SQL Server Instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance. \u0393\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b3\u03af\u03bd\u03b5\u03b9 online, \u03bc\u03b5 near zero downtime \u03b8\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Azure Database Migration Service \u03c3\u03b5 hybrid mode. \u0397 \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03b1\u03c3\u03af\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03b5\u03b3\u03ba\u03b1\u03c4\u03b1\u03c3\u03c4\u03b7\u03bc\u03ad\u03bd\u03bf\u03c5 client worker service \u03c3\u03b5 Windows [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-23T05:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-03T18:05:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service)\",\"datePublished\":\"2021-02-23T05:00:00+00:00\",\"dateModified\":\"2024-12-03T18:05:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/\"},\"wordCount\":312,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"keywords\":[\"Azure\",\"Cloud\",\"Migration\",\"SQL Managed Instance\",\"SQL Server\"],\"articleSection\":[\"Databases\",\"Microsoft Azure\",\"Microsoft SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"datePublished\":\"2021-02-23T05:00:00+00:00\",\"dateModified\":\"2024-12-03T18:05:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/dp_azure.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Microsoft Azure\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/azure\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr","og_description":"\u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b1\u03bd\u03b1\u03bb\u03cd\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf\u03bd \u03c4\u03c1\u03cc\u03c0\u03bf \u03c0\u03bf\u03c5 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03b5\u03bd\u03cc\u03c2 SQL Server Instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance. \u0393\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03b3\u03af\u03bd\u03b5\u03b9 online, \u03bc\u03b5 near zero downtime \u03b8\u03b1 \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf Azure Database Migration Service \u03c3\u03b5 hybrid mode. \u0397 \u03b4\u03b9\u03b1\u03b4\u03b9\u03ba\u03b1\u03c3\u03af\u03b1 \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03b5\u03b3\u03ba\u03b1\u03c4\u03b1\u03c3\u03c4\u03b7\u03bc\u03ad\u03bd\u03bf\u03c5 client worker service \u03c3\u03b5 Windows [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2021-02-23T05:00:00+00:00","article_modified_time":"2024-12-03T18:05:55+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service)","datePublished":"2021-02-23T05:00:00+00:00","dateModified":"2024-12-03T18:05:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/"},"wordCount":312,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","keywords":["Azure","Cloud","Migration","SQL Managed Instance","SQL Server"],"articleSection":["Databases","Microsoft Azure","Microsoft SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/","url":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/","name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service) - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","datePublished":"2021-02-23T05:00:00+00:00","dateModified":"2024-12-03T18:05:55+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2021\/01\/dp_azure.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-online-migration-ena-instance-apo-on-premise-se-azure-managed-instance-sto-cloud-a\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Microsoft Azure","item":"https:\/\/www.dataplatform.gr\/category\/azure\/"},{"@type":"ListItem","position":3,"name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 online migration \u03ad\u03bd\u03b1 instance \u03b1\u03c0\u03cc on-premise \u03c3\u03b5 Azure Managed Instance \u03c3\u03c4\u03bf Cloud (Azure Database Migration Service)"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=2680"}],"version-history":[{"count":1,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2680\/revisions"}],"predecessor-version":[{"id":5847,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/2680\/revisions\/5847"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/2837"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=2680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=2680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=2680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}