{"id":11334,"date":"2018-06-13T05:43:19","date_gmt":"2018-06-13T03:43:19","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/"},"modified":"2023-07-17T16:43:20","modified_gmt":"2023-07-17T14:43:20","slug":"introducing-sql-managed-instances-on-azure","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/","title":{"rendered":"Introducing SQL managed instances on Azure"},"content":{"rendered":"<p>I never wrote about data platform solutions on Azure so far. The fact is in Switzerland we\u2019re definitely late about the Cloud adoption and Azure data platform solutions. There are different reasons that are more or less valid but I don\u2019t want to contribute to any debate here. In any case the <a href=\"https:\/\/www.silicon.co.uk\/cloud\/datacenter\/microsoft-azure-switzerland-middle-east-229981?inf_by=5b0c49ab671db8cb228b4621\" target=\"_blank\" rel=\"noopener noreferrer\">last announcements<\/a> in this field with Azure data centers in Switzerland could encourage customers to reconsider this topic in the near future. Don\u2019t get me wrong here, it doesn\u2019t mean that customers in Switzerland must move all their database infrastructures in the Cloud but this is just an opportunity for them to consider rearchitecting some pieces of their information system including databases that may lead to hybrid scenarios. It will be likely the first step to the cloud adoption for data platforms solutions. At dbi services we didn\u2019t exclude Azure from our target but we just silently continued to keep an eye on the data platform stack awaiting the right opportunity to move up a gear.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24348 size-full\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-0-banner-e1528868566351.jpg\" alt=\"blog 138 - 0 - banner\" width=\"800\" height=\"296\" \/><\/p>\n<p>Why to begin with SQL managed instances (MI)? After all, this feature is still on preview and it already exists a lot of Azure solutions as Azure SQL Databases (singleton and with elastic pool as well) as well as SQL Server on Azure VMs.<\/p>\n<p>The point is this new\u00a0feature is interesting in many aspects. Firstly, it will address the gap that currently exists between IaaS infrastructures (SQL Server VMs) and fully-managed services (with Azure SQL DBs). The former still requires maintaining the operating system (and licenses) while the latter didn\u2019t expose <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/sql-database\/sql-database-features\" target=\"_blank\" rel=\"noopener noreferrer\">all the feature surface<\/a> needed by various application scenarios.<\/p>\n<p>At the same time, Microsoft introduced another purchasing model that based on <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/sql-database\/sql-database-service-tiers-vcore\" target=\"_blank\" rel=\"noopener noreferrer\">VCore<\/a>. I remembered a discussion with one of my customers sometimes ago about DTUs. He asked me what is exactly DTU and I pointed out the following sentence from the <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/sql-database\/sql-database-what-is-a-dtu\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft documentation<\/a>.<\/p>\n<p><strong><em>The amount of resources is calculated as a number of Database Transaction Units or DTUs and is a bundled measure of compute, storage, and IO resources<\/em><\/strong><\/p>\n<p>That is definitely a good way to simply resource management because it makes an abstraction of the physical resources but this is probably it weakness in some degrees. Indeed, how to translate what DBAs and infrastructure team usually manage from on-premises to the cloud? Obviously, Microsoft provided a <a href=\"http:\/\/dtucalculator.azurewebsites.net\/\">calculator<\/a> to help customers to address their questions before moving to the cloud but the fact is database administrators seem to not be comfortable to deal with DTUs . But now let\u2019s talk about flexibility: in many databases scenarios we don\u2019t want to increase \/ decrease resources in the same bundle but we want to get a better control of the resource configuration by dissociating compute (CPU \/ RAM) from the storage. From my experience, I had never seen one customer to scale compute and storage in the same manner regarding their workload. Indeed, some workloads require high-performance storage while others are more CPU-bound. This is where the new <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/sql-database\/sql-database-service-tiers-vcore\" target=\"_blank\" rel=\"noopener noreferrer\">vCore-based model<\/a> comes into play by and I believe it will get a better adoption from customers to smoothly move to the cloud. That\u2019s at least my opinion!<\/p>\n<p>So, let\u2019s try to play with MI. As a reminder, currently it is in preview but that\u2019s enough to get a picture of what you may expect in the future. In my demo, I will use\u00a0intensively\u00a0CLI tools with dedicated PowerShell cmdlets and mssql-cli as well. This is voluntary because the fact is more and more administration tasks are done\u00a0in this way and Microsoft provided all the commands to achieve them.<\/p>\n<pre class=\"brush: powershell; gutter: true; first-line: 1\">[dab@DBI-LT-DAB:#]&gt; Get-AzureRmResourceGroup -Name sql-mi-rg\n\n\nResourceGroupName : sql-mi-rg\nLocation          : westeurope\nProvisioningState : Succeeded\nTags              :\nResourceId        : \/subscriptions\/913528f5-f1f8-4d61-af86-30f2eb0839ba\/resourceGroups\/sql-mi-rg\n\n[dab@DBI-LT-DAB:#]&gt; Get-AzureRmResource -ResourceGroupName sql-mi-rg | ft Name, ResourceType, Location -AutoSize\n\nName                                                    ResourceType                             Location\n----                                                    ------------                             --------\nsql-mi-client_OsDisk_1_842d669310b04cbd8352962c4bda5889 Microsoft.Compute\/disks                  westeurope\nsql-mi-client                                           Microsoft.Compute\/virtualMachines        westeurope\nshutdown-computevm-sql-mi-client                        Microsoft.DevTestLab\/schedules           westeurope\nsql-mi-client453                                        Microsoft.Network\/networkInterfaces      westeurope\nsql-mi-client-nsg                                       Microsoft.Network\/networkSecurityGroups  westeurope\nsqlmiclientnsg675                                       Microsoft.Network\/networkSecurityGroups  westeurope\nsql-mi-client-ip                                        Microsoft.Network\/publicIPAddresses      westeurope\nsqlmiclientip853                                        Microsoft.Network\/publicIPAddresses      westeurope\nsql-mi-routetable                                       Microsoft.Network\/routeTables            westeurope\nsql-mi-vnet                                             Microsoft.Network\/virtualNetworks        westeurope\nsql-mi-dbi                                              Microsoft.Sql\/managedInstances           westeurope\nsql-mi-dbi\/ApplixEnterprise                             Microsoft.Sql\/managedInstances\/databases westeurope\nsql-mi-dbi\/dbi_tools                                    Microsoft.Sql\/managedInstances\/databases westeurope\nVirtualClustersql-mi-subnet                             Microsoft.Sql\/virtualClusters            westeurope\nsqlmirgdiag947                                          Microsoft.Storage\/storageAccounts        westeurope<\/pre>\n<pre class=\"brush: powershell; gutter: true; first-line: 1\"><\/pre>\n<p>My MI is composed of difference resources including:<\/p>\n<ul>\n<li><em>VirtualClustersql-mi-subnet<\/em> &#8211; a logical container of managed instances?<\/li>\n<li><em>sql-mi-dbi<\/em> as managed instance<\/li>\n<li><em>sql-mi-dbi\/ApplixEnterprise<\/em> and <em>sql-mi-dbi\/dbi_tools<\/em> as managed databases.<\/li>\n<li>Network components including <em>sql-mi-vnet<\/em>, sql-mi-routetable<\/li>\n<\/ul>\n<p>Here some more details of my MI:<\/p>\n<pre class=\"brush: powershell; gutter: true; first-line: 1\">[dab@DBI-LT-DAB:#]&gt; Get-AzureRmSqlManagedInstance | ft ManagedInstanceName, Location, ResourceGroupName, LicenseType, VCores, StorageSizeInGB -AutoSize\n\nManagedInstanceName Location   ResourceGroupName LicenseType     VCores StorageSizeInGB\n------------------- --------   ----------------- -----------     ------ ---------------\nsql-mi-dbi          westeurope sql-mi-rg         LicenseIncluded      8              32<\/pre>\n<p>I picked up a GEN4 configuration based on General Purpose pricing that includes 8 VCores and 32GB of storage.<\/p>\n<p>My managed databases are as follows:<\/p>\n<pre class=\"brush: powershell; gutter: true; first-line: 1\">[dab@DBI-LT-DAB:#]&gt; Get-AzureRmSqlManagedDatabase -ManagedInstanceName sql-mi-dbi -ResourceGroupName sql-mi-rg | ft Name, ManagedInstanceName, Location, DefaultSecondaryLoc\nation, Status, Collation  -AutoSize\n\nName             ManagedInstanceName Location   DefaultSecondaryLocation Status Collation\n----             ------------------- --------   ------------------------ ------ ---------\ndbi_tools        sql-mi-dbi          westeurope northeurope              Online Latin1_General_CS_AS_KS\nApplixEnterprise sql-mi-dbi          westeurope northeurope              Online SQL_Latin1_General_CP1_CI_AS<\/pre>\n<p>Other resources are related to my other virtual client machine to connect to my MI. Indeed, the latter is not exposed through a public endpoint and it is reachable only from an internal network. I didn\u2019t setup a site-to-site VPN to connect the MI from my remote laptop.<\/p>\n<p>Another point that drew my attention is the high availability feature which is based on remote storage and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/service-fabric\/service-fabric-overview\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Service Fabric<\/a>.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24332\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\" alt=\"blog 138 - 5 - azure - sql managed instances - HA\" width=\"806\" height=\"69\" \/><\/a><\/p>\n<p>Do you remember of the <em>VirtualClustersql-mi-subnet<\/em> described earlier? In fact, my MI is built upon a service fabric. Referring to the Microsoft documentation a <strong><em>Service Fabric enables you to build and manage scalable and reliable applications composed of microservices that run at high density on a shared pool of machines, which is referred to as a cluster<\/em><\/strong>.<\/p>\n<p>We may get a picture of this underlying cluster from a set of dedicated <em>sys.dm_hadr_fabric_*<\/em> DMVs with a high-level view of the underlying cluster \u2026<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-24333 size-full\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-6-azure-sql-managed-instances-DMVs-e1528867145162.jpg\" alt=\"blog 138 - 6 - azure - sql managed instances - DMVs\" width=\"800\" height=\"368\" \/><\/p>\n<p>\u2026 and a more detailed view including my managed databases:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-24334\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-7-azure-sql-managed-instances-DMVs-detail.jpg\" alt=\"blog 138 - 7 - azure - sql managed instances - DMVs detail\" width=\"1024\" height=\"461\" \/><\/p>\n<p>Now let\u2019s get basic information from my MI:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24335\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-1-azure-sql-managed-instances-engine-version.jpg\" alt=\"blog 138 - 1 - azure - sql managed instances - engine version\" width=\"773\" height=\"266\" \/><\/p>\n<p>The MI version may be easily identified by the <em>engine_sql<\/em> number equal to 8.<\/p>\n<p>As said previously I have two user databases that exist and they were restored from backups hosted on my blob storage container.<\/p>\n<p>Here an example of commands I used to restore them. You probably recognize the native RESTORE FROM URL syntax. Note also that you have different ways to restore \/ migrate your databases from on-premises environment with BACPAC and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/dms\/tutorial-sql-server-to-managed-instance\">Azure Database Migration Service<\/a> as well.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">RESTORE FILELISTONLY \nFROM URL = 'https:\/\/mikedavemstorage.blob.core.windows.net\/backup\/ApplixEnterprise2014.bak'\n\nRESTORE DATABASE [ApplixEnterprise] \nFROM URL = 'https:\/\/mikedavemstorage.blob.core.windows.net\/backup\/ApplixEnterprise2014.bak';<\/pre>\n<p>Here a list of my existing user databases:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24336\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-2-azure-sql-managed-instances-databases.jpg\" alt=\"blog 138 - 2 - azure - sql managed instances - databases\" width=\"300\" height=\"245\" \/><\/p>\n<p>Let\u2019s go further with database files configuration:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT \n\tDB_NAME(database_id) AS [db_name],\n\tfile_id,\n\ttype_desc,\n\tname AS [logical_name],\n\tphysical_name,\n\tstate_desc AS [state],\n\tsize \/ 128 AS size_MB,\n\tmax_size\nFROM\n\tsys.master_files;\nGO<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-24337\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-3-azure-sql-managed-instances-database-files.jpg\" alt=\"blog 138 - 3 - azure - sql managed instances - database files\" width=\"1024\" height=\"503\" \/><\/p>\n<p>Some interesting points here:<\/p>\n<p>1 \u2013 tempdb is pre-configured with 12 data files and 16MB each? Probably far from our usualk recommendation but anyway the preview allows to change it by using DBA usual scripts.<\/p>\n<p>2- We may also notice that the user databases are placed on a different storage types (premium disk according to the <a href=\"https:\/\/blogs.msdn.microsoft.com\/sqlserverstorageengine\/2018\/03\/07\/what-is-azure-sql-database-managed-instance-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft documentation<\/a>). System databases are hosted to a local path C:\\WFRoot\\DB 3\\Fabric\\work\\data\\ as well as well the tempdb database. I use a standard tier meaning that system DBs are all on an attached SSD included in the VCore price.<\/p>\n<p>Just for fun, I tried to install our <a href=\"https:\/\/www.dbi-services.com\/offering\/products\/dmk-management-kit\/\" target=\"_blank\" rel=\"noopener noreferrer\">DMK maintenance tool<\/a> which basically creates a <em>dbi_tools<\/em> database with maintenance objects (tables and stored procedures) and related SQL Server agent jobs. A databasemail configuration step is also part of the DMK installation and the good news is the feature is available with MIs. However, I quickly ran into was about some ALTER DATABASE commands we use at the beginning of the deployment script:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">Msg 5008, Level 16, State 14, Line 72\nThis ALTER DATABASE statement is not supported. Correct the syntax and execute the statement again.\nMsg 5069, Level 16, State 1, Line 72\nALTER DATABASE statement failed.\nMsg 5008, Level 16, State 14, Line 89\nThis ALTER DATABASE statement is not supported. Correct the syntax and execute the statement again.\nMsg 5069, Level 16, State 1, Line 89\nALTER DATABASE statement failed.<\/pre>\n<p>The fix was quite easy and I finally managed to deploy the tool as show below:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24339\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-4-azure-sql-managed-instances-dbi-tools.jpg\" alt=\"blog 138 - 4 - azure - sql managed instances - dbi tools\" width=\"529\" height=\"489\" \/><\/p>\n<p>The next step consisted in testing our different maintenance tasks:<\/p>\n<ul>\n<li>Database integrity check task<\/li>\n<li>Index maintenance task<\/li>\n<li>Update statistics maintenance task<\/li>\n<li>Backup task<\/li>\n<\/ul>\n<p>The first 3 tasks worked well without any modification. However, for backups, I needed to used URL-based backups because it is the only method supported so far. Unfortunately, the current version of our DMK maintenance tool doesn\u2019t not handled correctly it does shared access signatures that come with BACKUP TO URL command since SQL Server 2016. The fix will be included soon to the next release for sure :). For the context of my test I modified a little bit the statement generated by the maintenance objects and it worked perfectly:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">-- Backup database dbi_tools\nBACKUP DATABASE  [dbi_tools] \nTO URL = 'https:\/\/sqlmidbistorage.blob.core.windows.net\/sqlmidbicontainer\/sql-mi-dbi.weu157eee5444ccf.database.windows.net_dbi_tools_1_20180611210123.BAK'\nWITH COPY_ONLY, CHECKSUM, INIT, FORMAT;\n\n--Verification of the backup https:\/\/sqlmidbistorage.blob.core.windows.net\/sqlmidbicontainer\/sql-mi-dbi.weu157eee5444ccf.database.windows.net_dbi_tools_1_20180611210123.BAK\nRESTORE VERIFYONLY FROM URL = 'https:\/\/sqlmidbistorage.blob.core.windows.net\/sqlmidbicontainer\/sql-mi-dbi.weu157eee5444ccf.database.windows.net_dbi_tools_1_20180611210123.BAK'\nWITH STATS = 100, CHECKSUM;<\/pre>\n<p>And to finish this blog post as a good DBA, let\u2019s have a look at the resource allocation management. First time I took a look at the resources available on the MI I was very surprised. To get an idea, let\u2019s run some DMVs as sys.dm<em>_os_schedulers<\/em>, <em>sys.dm_os_sys_memory<\/em> or <em>sys.dm_os_sys_info<\/em> DMVs to get a real picture of these aforementioned resources:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24340\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-8-azure-sql-managed-instances-resources.jpg\" alt=\"blog 138 - 8 - azure - sql managed instances - resources\" width=\"848\" height=\"548\" \/><\/p>\n<p>Given the number of visible online schedulers only 8 may be used by the MI. This is an expected outcome according to my initial configuration. Concerning the memory configuration, the theorical amount of memory available I can get should be 8 x 7GB = 56GB according the <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/sql-database\/sql-database-service-tiers-vcore\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft documentation<\/a> and the <em>sys.dm_os_sys_memory<\/em> DMV doesn\u2019t really indicate such capping while the <em>sys.dm_os_sys_info<\/em> DMV does (at least closer to the reality)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24342\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-10-azure-sql-managed-instances-memory-capping.jpg\" alt=\"blog 138 - 10 - azure - sql managed instances - memory capping\" width=\"595\" height=\"293\" \/><\/p>\n<p>Are the CPU and memory resources managed differently on MI? I found out the right answer in this <a href=\"https:\/\/blogs.msdn.microsoft.com\/sqlcat\/2018\/05\/04\/cpu-and-memory-allocation-on-azure-sql-database-managed-instance\/\">article<\/a> from the SQL Server customer advisor team. For MI, this mechanism that is responsible of resource management is called <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms684161.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Job Objects<\/a>. That\u2019s very interesting! Without going into details, this is exactly the same mechanism used by Docker on Windows and it is similar (at least in the concept) to existing <em>CGroups<\/em> on Linux.<\/p>\n<p>Therefore, we may also benefit from another DMV to get details of resource management:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-24343\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-11-azure-sql-managed-instances-job-object-dmv.jpg\" alt=\"blog 138 - 11 - azure - sql managed instances - job object dmv\" width=\"791\" height=\"262\" \/><\/p>\n<p>Thanks to this SQL Server customer advisor team article, the situation becomes clearer with the following parameter values:<\/p>\n<ul>\n<li>cpu_rate 100% indicates my vCores are used at 100% of their capacity<\/li>\n<li>cpu_affinity_mask indicates we are limited to 8 OS level processors<\/li>\n<li>process_memory_limit_mb is self-explanatory and corresponds to my previous theorical assumptions \ud83d\ude42<\/li>\n<li>non_sos_mem_gap_mb corresponds to a safe amount of available memory for non-SQLOS activity<\/li>\n<\/ul>\n<p><strong>Conclusion<\/strong><\/p>\n<p>I think Microsoft is doing a great strategic play by introducing this solution for customers. Indeed, change is always a challenge and moving towards something almost similar to what we already know allows a smooth transition and a better adoption from humans. We will see what happens!<\/p>\n<p><span style=\"float: none; background-color: #ffffff; color: #333333; cursor: text; font-family: Georgia,'Times New Roman','Bitstream Charter',Times,serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; letter-spacing: normal; text-align: left; text-decoration: none; text-indent: 0px; text-transform: none;\">By David Barbarin<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I never wrote about data platform solutions on Azure so far. The fact is in Switzerland we\u2019re definitely late about the Cloud adoption and Azure data platform solutions. There are different reasons that are more or less valid but I don\u2019t want to contribute to any debate here. In any case the last announcements in [&hellip;]<\/p>\n","protected":false},"author":26,"featured_media":11336,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[1338,1373,1374,1346],"type_dbi":[],"class_list":["post-11334","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-azure","tag-managed-instances","tag-service-fabrik","tag-sqlserver"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introducing SQL managed instances on Azure<\/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.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing SQL managed instances on Azure\" \/>\n<meta property=\"og:description\" content=\"I never wrote about data platform solutions on Azure so far. The fact is in Switzerland we\u2019re definitely late about the Cloud adoption and Azure data platform solutions. There are different reasons that are more or less valid but I don\u2019t want to contribute to any debate here. In any case the last announcements in [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-13T03:43:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-17T14:43:20+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"806\" \/>\n\t<meta property=\"og:image:height\" content=\"69\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Microsoft Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\"},\"author\":{\"name\":\"Microsoft Team\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"headline\":\"Introducing SQL managed instances on Azure\",\"datePublished\":\"2018-06-13T03:43:19+00:00\",\"dateModified\":\"2023-07-17T14:43:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\"},\"wordCount\":1594,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\",\"keywords\":[\"Azure\",\"managed instances\",\"service fabrik\",\"SQLServer\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\",\"name\":\"Introducing SQL managed instances on Azure\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\",\"datePublished\":\"2018-06-13T03:43:19+00:00\",\"dateModified\":\"2023-07-17T14:43:20+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg\",\"width\":806,\"height\":69},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing SQL managed instances on Azure\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4\",\"name\":\"Microsoft Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g\",\"caption\":\"Microsoft Team\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducing SQL managed instances on Azure","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.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/","og_locale":"en_US","og_type":"article","og_title":"Introducing SQL managed instances on Azure","og_description":"I never wrote about data platform solutions on Azure so far. The fact is in Switzerland we\u2019re definitely late about the Cloud adoption and Azure data platform solutions. There are different reasons that are more or less valid but I don\u2019t want to contribute to any debate here. In any case the last announcements in [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/","og_site_name":"dbi Blog","article_published_time":"2018-06-13T03:43:19+00:00","article_modified_time":"2023-07-17T14:43:20+00:00","og_image":[{"width":806,"height":69,"url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg","type":"image\/jpeg"}],"author":"Microsoft Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Microsoft Team","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/"},"author":{"name":"Microsoft Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"headline":"Introducing SQL managed instances on Azure","datePublished":"2018-06-13T03:43:19+00:00","dateModified":"2023-07-17T14:43:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/"},"wordCount":1594,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg","keywords":["Azure","managed instances","service fabrik","SQLServer"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/","url":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/","name":"Introducing SQL managed instances on Azure","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg","datePublished":"2018-06-13T03:43:19+00:00","dateModified":"2023-07-17T14:43:20+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/blog-138-5-azure-sql-managed-instances-HA.jpg","width":806,"height":69},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/introducing-sql-managed-instances-on-azure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing SQL managed instances on Azure"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/bfab48333280d616e1170e7369df90a4","name":"Microsoft Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c44a1a792c059f24055763aa77d80a244467f6eef724a8bd13db8d4a350b7a4c?s=96&d=mm&r=g","caption":"Microsoft Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/microsoft-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=11334"}],"version-history":[{"count":1,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11334\/revisions"}],"predecessor-version":[{"id":26772,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11334\/revisions\/26772"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/11336"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11334"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}