{"id":106713,"date":"2025-05-13T03:56:26","date_gmt":"2025-05-13T03:56:26","guid":{"rendered":"https:\/\/www.red-gate.com\/simple-talk\/?p=106713"},"modified":"2026-05-21T15:25:31","modified_gmt":"2026-05-21T15:25:31","slug":"sql-mi-configuration-gotchas","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/databases\/sql-server\/sql-mi-configuration-gotchas\/","title":{"rendered":"A complete guide to Azure SQL Managed Instance server and database configuration options"},"content":{"rendered":"\n<p><strong>Azure SQL Managed Instance is largely maintained by Microsoft, which means a lot of server- and database-level configuration options you&#8217;re used to on-premises either behave differently, or aren&#8217;t available at all. Hardware settings, local file access, high-availability options, and certain auditing controls are configured by Azure, or disabled outright &#8211; and the official documentation doesn&#8217;t always match what actually works.<\/strong> <\/p>\n\n\n\n<p><strong>This article is a tested reference of everything <em>not<\/em> supported in Azure SQL Managed Instance.<\/strong><\/p>\n\n\n\n<p>In a <a href=\"https:\/\/www.red-gate.com\/simple-talk\/databases\/managed-instance-gotchas-error-conditions\/\" target=\"_blank\" rel=\"noreferrer noopener\">previous article<\/a>, I described issues that might stop your migration to a SQL Server Managed Instance (SQL MI). This covers configuration items that differ or are not supported in SQL MI. These likely won\u2019t stop your migration, but they could slow you down if you aren\u2019t ready for these changes.<\/p>\n\n\n\n<p>As with previous issues discussed, testing your migration is key. Validate all of your settings and be prepared to make some changes during your migration process. Most of the incompatible options make sense when you think about the purpose of SQL MI \u2013 it is controlled by Microsoft. Hardware settings, local file access, high-availability settings, and auditing are configured differently or completely disabled.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-server-configuration\">Server Configuration<\/h2>\n\n\n\n<p>Since SQL MI is largely maintained by Microsoft, some server level configuration items are not available. I ran into a few of these during our migration. I did a quick test to find others that don\u2019t support user changes. As a reminder, don\u2019t change the default settings unless you have a specific reason. If you make any changes from the defaults, they need to be tested. It is very possible to hurt performance if you change the default settings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-sp-configure\">SP_CONFIGURE<\/h3>\n\n\n\n<p>Many server settings are controlled with sp_configure. As with an on-prem instance, advanced options still need to be enabled in SQL MI. Run the following commands to see and enable configuration of all compatible server options.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">EXEC sp_configure 'SHOW ADVANCED OPTIONS', 1\nGO\nRECONFIGURE\nGO<\/pre><\/div>\n\n\n\n<p>The following options throw errors when trying to configure them on SQL MI. Some of the error messages differ, but regardless of the exact reason, they are not configurable on SQL MI. Some of the options that failed are listed in the documentation as compatible with SQL MI, which emphasizes the need for testing.<\/p>\n\n\n\n<p>It\u2019s interesting to note that the failed option list expanded by one during my validation and testing over a one-week period. The option, \u201cmax UCS send boxcars\u201d was not present during my first test. It showed up during final validation before publishing, so expect further changes and differences to compatible options in the future.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">OptionName<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">ErrorMessage<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">affinity I\/O mask<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option affinity I\/O mask are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">affinity mask<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;affinity mask&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">affinity64 I\/O mask<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option affinity64 I\/O mask are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">affinity64 mask<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;affinity64 mask&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Agent XPs<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;Agent XPs&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">allow polybase export<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;allow polybase export&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">allow updates<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;allow updates&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">automatic soft-NUMA disabled<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option automatic soft-NUMA disabled are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">c2 audit mode<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option c2 audit mode are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">column encryption enclave type<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option column encryption enclave type are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">common criteria compliance enabled<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option common criteria compliance enabled are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">external xtp dll gen util enabled<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;external xtp dll gen util enabled&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">filestream access level<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;filestream access level&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">fill factor (%)<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option fill factor (%) are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">hardware offload config<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option hardware offload config are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">hardware offload enabled<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option hardware offload enabled are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">hardware offload mode<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option hardware offload mode are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">lightweight pooling<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option lightweight pooling are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">locks<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option locks are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">max server memory (MB)<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;max server memory (MB)&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">max UCS send boxcars<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option max UCS send boxcars are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">min server memory (MB)<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;min server memory (MB)&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">open objects<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option open objects are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">priority boost<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option priority boost are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">remote access<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option remote access are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">remote data archive<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;remote data archive&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">remote proc trans<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option &#8216;remote proc trans&#8217; are not supported in this edition of SQL Server.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">scan for startup procs<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option scan for startup procs are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">set working set size<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option set working set size are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">tempdb metadata memory-optimized<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option tempdb metadata memory-optimized are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><tr><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">user connections<\/p><\/td><td><p data-font-size=\"sm\" class=\"has-sm-font-size\">Changes to server configuration option user connections are not supported in SQL Database Managed Instances.<\/p><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>I used the following script to validate each option. It attempts to set the value of each option to the currently configured value so no actual changes are made \u2013 it just attempts to access each option.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">SET NOCOUNT ON\nGO\n\nDROP TABLE IF EXISTS #InvalidOptions\n\nDECLARE @OPTIONS TABLE (\nRowNumber\t\tint\t\tidentity\tPRIMARY KEY CLUSTERED\n,OptionName\t\tvarchar(255)\n,Minimum\t\tint\n,Maximum\t\tint\n,ConfigValue\tint\n,RunValue\t\tint\n)\n\nINSERT INTO @OPTIONS (\nOptionName\n,Minimum\n,Maximum\n,ConfigValue\n,RunValue\n)\nEXEC sp_configure\n\nCREATE TABLE #InvalidOptions (\nOptionName\t\tvarchar(255)\tprimary key clustered\n,ErrorMessage\tnvarchar(max)\n)\n\n--SELECT *\n--FROM @OPTIONS\n\nDECLARE\n@SQL\t\t\t\tvarchar(max)\n,@OptionName\t\tvarchar(255)\n,@ConfigValue\t\tint\n,@DropTable\t\t\tbit\t\t\t\t= 1\n,@Debug\t\t\t\tbit\t\t\t\t= 0\n\nDECLARE crsOptions CURSOR\nFOR\nSELECT OptionName\n,ConfigValue\nFROM @OPTIONS\nORDER BY RowNumber\n\nOPEN crsOptions\nFETCH NEXT FROM crsOptions INTO @OptionName, @ConfigValue\n\nWHILE @@FETCH_STATUS = 0\nBEGIN\nPRINT @OptionName\nSELECT @SQL = '\nBEGIN TRY\nEXEC sp_configure ' + '''' + @OptionName + '''' + ',' + CONVERT(varchar(255),@ConfigValue) + '\nEND TRY\nBEGIN CATCH\nINSERT INTO #InvalidOptions (\nOptionName\n,ErrorMessage\n)\nVALUES (' + '''' + @OptionName + '''' + ',ERROR_MESSAGE())\n\nPRINT ' + '''' + 'Error configuring ' + @OptionName + '''' + '\nPRINT ERROR_MESSAGE()\nEND CATCH\n'\nIF @Debug = 1\nBEGIN\nPRINT @SQL\nEND\nELSE\nBEGIN\nEXEC(@SQL)\nEND\n\nFETCH NEXT FROM crsOptions INTO @OptionName, @ConfigValue\nEND\n\n\nCLOSE crsOptions\nDEALLOCATE crsOptions\n\nSELECT * FROM #InvalidOptions\n\nIF @DropTable = 1\nBEGIN\nDROP TABLE #InvalidOptions\nEND<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-server-configuration-0\">Server Configuration<\/h3>\n\n\n\n<p>Additional options can be set on SQL Server using ALTER SERVER CONFIGURATION.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">ALTER SERVER CONFIGURATION SET MEMORY_OPTIMIZED ON;\nGO<\/pre><\/div>\n\n\n\n<p>Documentation only lists SQL Server, not SQL MI for this command. I tested a few options to be sure and the results were as expected. Since these options largely deal with physical configurations, such as CPU affinity, they wouldn\u2019t make sense in SQL MI.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">Msg 41906, Level 16, State 12, Line 8\nStatement 'ALTER SERVER CONFIGURATION SET PROCESS AFFINITY' is not supported in SQL Database Managed Instance.<\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-tempdb\">Tempdb<\/h3>\n\n\n\n<p>Tempdb options are very limited. The drive locations and number of files are controlled by Microsoft. In my, somewhat limited, testing it has not been an issue. Best practices are followed regarding the number of files and I expect any tempdb configuration to be updated as recommendations change over time.<\/p>\n\n\n\n<p>I mentioned in a previous post that you can\u2019t change the server configuration option, &#8216;tempdb metadata memory-optimized&#8217;, and that was also shown above. After testing and talking to our Microsoft technical contact, this is not an issue. The database engine has been updated to incorporate the option. In short, the latest version of the engine is more efficient. Tempdb metadata operations don\u2019t stress the engine as in previous versions. I verified this using OStress (part of the RML tools) and was unable to cause latch waits by creating and dropping temp tables.<\/p>\n\n\n\n<p>I used 100 threads for the stress test. Each thread created and dropped 10,000 temp tables. The entire process took about 45 minutes to finish and didn\u2019t create a noticeable load on the server. That includes CPU, latch waits, and any adverse impact to other queries. The same test with an on-prem system, not configured with the tempdb metadata option, created noticeable load and adversely impacted the system. The load in SQL MI was similar to an on-prem system configured to use tempdb data in memory.<\/p>\n\n\n\n<section id=\"my-first-block-block_2e2cc5494c8129d47664f922ebf71d99\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Fast, reliable and consistent SQL Server development&#8230;<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            &#8230;with SQL Toolbelt Essentials. 10 ingeniously simple tools for accelerating development, reducing risk, and standardizing workflows.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/products\/sql-toolbelt-essentials\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Learn more &amp; try for free: Fast, reliable and consistent SQL Server development...\">Learn more &amp; try for free<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-database-scoped-configuration\">Database Scoped Configuration<\/h2>\n\n\n\n<p>Database scoped configurations are set using the ALTER DATABASE SCOPED CONFIGURATION command.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 0<\/pre><\/div>\n\n\n\n<p>I used a script similar to the previous server script to verify database scoped configurations. All options were allowed. As with server configurations, leave these at the default unless you have a specific reason to change them and test any changes you do make. Current settings can be viewed with the following DMV. Configurations are specific to each database.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">SELECT *\nFROM sys.database_scoped_configurations<\/pre><\/div>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"497\" height=\"621\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-1.png\" alt=\"\" class=\"wp-image-106714\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-1.png 497w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-1-240x300.png 240w\" sizes=\"auto, (max-width: 497px) 100vw, 497px\" \/><\/figure>\n\n\n\n<p><br> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-database-options\">Database Options<\/h2>\n\n\n\n<p>Database options are set with the ALTER DATABASE command.<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">ALTER DATABASE WideWorldImporters\nSET AUTO_CREATE_STATISTICS ON<\/pre><\/div>\n\n\n\n<p>Like database scoped configurations, database options are set at a database level. Each database can have different settings based on the application need. Refer to the Microsoft documentation on supported options and test any that you use in your environment. Many of the options are not supported in SQL MI. There are too many to list, but the highlights follow. Note that these are listed as &lt;option spec&gt; (categories) and usually cover multiple options. Some option specs that are supported in SQL MI also have individual options not supported (e.g., AUTO_CLOSE). The following option specs are not supported in SQL MI:<\/p>\n\n\n\n<div class=\"wp-block-urvanov-syntax-highlighter-code-block\"><pre class=\"block lang:tsql\">&lt;accelerated_database_recovery&gt;\n&lt;automatic_tuning_option&gt;\n&lt;containment_option&gt;\n&lt;database_mirroring_option&gt;\n&lt;date_correlation_optimization_option&gt;\n&lt;db_state_option&gt;\n&lt;db_update_option&gt;\n&lt;db_user_access_option&gt;\n&lt;external_access_option&gt;\nFILESTREAM ( &lt;FILESTREAM_option&gt; )\n&lt;HADR_options&gt;\n&lt;mixed_page_allocation_option&gt;\n&lt;recovery_option&gt;\n&lt;remote_data_archive_option&gt;\n&lt;persistent_log_buffer_option&gt;\n&lt;service_broker_option&gt;\n&lt;suspend_for_snapshot_backup&gt;\n&lt;data_retention_policy&gt;<\/pre><\/div>\n\n\n\n<p>This is a side-by-side comparison of the documentation for SQL Server and SQL MI. You can see the large number of unsupported option specs.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"784\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-2.png\" alt=\"\" class=\"wp-image-106715\" srcset=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-2.png 901w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-2-300x261.png 300w, https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2025\/05\/word-image-106713-2-768x668.png 768w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-summary\">Summary<\/h2>\n\n\n\n<p>Check any server and database configurations during your SQL MI testing. There are many server and database level options that aren\u2019t supported. If you have automated processes to restore or setup environments, be sure to account for the new changes. You\u2019ll also to be ready to update options over time, as my testing revealed ongoing changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-references\">References<\/h2>\n\n\n<div class=\"block-core-list\">\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/system-stored-procedures\/sp-configure-transact-sql?view=sql-server-ver16\">https:\/\/learn.microsoft.com\/en-us\/sql\/relational-databases\/system-stored-procedures\/sp-configure-transact-sql?view=sql-server-ver16<\/a> <\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-server-configuration-transact-sql?view=sql-server-ver16\">https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-server-configuration-transact-sql?view=sql-server-ver16<\/a> <\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-database-scoped-configuration-transact-sql?view=sql-server-ver16\">https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-database-scoped-configuration-transact-sql?view=sql-server-ver16<\/a> <\/li>\n\n\n\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-database-transact-sql-set-options?view=sql-server-ver15&amp;preserve-view=true\">https:\/\/learn.microsoft.com\/en-us\/sql\/t-sql\/statements\/alter-database-transact-sql-set-options?view=sql-server-ver15&amp;preserve-view=true<\/a> <\/li>\n<\/ul>\n<\/div>\n\n\n<section id=\"my-first-block-block_5469a6596bafbf04a62e917400acd1eb\" class=\"my-first-block alignwide\">\n    <div class=\"bg-brand-600 text-base-white py-5xl px-4xl rounded-sm bg-gradient-to-r from-brand-600 to-brand-500 red\">\n        <div class=\"gap-4xl items-start md:items-center flex flex-col md:flex-row justify-between\">\n            <div class=\"flex-1 col-span-10 lg:col-span-7\">\n                <h3 class=\"mt-0 font-display mb-2 text-display-sm\">Simple Talk is brought to you by Redgate Software<\/h3>\n                <div class=\"child:last-of-type:mb-0\">\n                                            Take control of your databases with the trusted Database DevOps solutions provider. Automate with confidence, scale securely, and unlock growth through AI.                                    <\/div>\n            <\/div>\n                                            <a href=\"https:\/\/www.red-gate.com\/solutions\/overview\/\" class=\"btn btn--secondary btn--lg\" aria-label=\"Discover how Redgate can help you: Simple Talk is brought to you by Redgate Software\">Discover how Redgate can help you<\/a>\n                    <\/div>\n    <\/div>\n<\/section>\n\n\n<section id=\"faq\" class=\"faq-block my-5xl\">\n    <h2>FAQs: The configuration options NOT supported in Azure SQL Managed Instance<\/h2>\n\n                        <h3 class=\"mt-4xl\">1. Which sp_configure options are not supported in Azure SQL Managed Instance?<\/h3>\n            <div class=\"faq-answer\">\n                <p>Around 30 options throw errors when you try to change them, including <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">affinity mask<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">Agent XPs<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">max server memory (MB)<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">min server memory (MB)<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">fill factor (%)<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">lightweight pooling<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">priority boost<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">user connections<\/code>, and <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">tempdb metadata memory-optimized<\/code>. Some are listed in the Microsoft documentation as compatible &#8211; they aren&#8217;t. Test against your own instance and expect the list to change over time.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">2. Can you change tempdb settings in Azure SQL Managed Instance?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">No. File locations and the number of tempdb files are controlled by Microsoft and follow current best practices. You also can&#8217;t set <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">tempdb metadata memory-optimized<\/code>, but it isn&#8217;t needed &#8211; the engine handles tempdb metadata operations efficiently by default. Stress testing with 100 threads creating and dropping 10,000 temp tables each produced no latch waits or noticeable load.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">3. Does ALTER SERVER CONFIGURATION work on Azure SQL MI?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Largely no. The documentation only lists SQL Server, not SQL MI, for this command. Options dealing with physical configuration (CPU affinity, process settings) return <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">Msg 41906: Statement is not supported in SQL Database Managed Instance<\/code>.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">4. Are database scoped configurations supported in Azure SQL MI?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Yes. <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">ALTER DATABASE SCOPED CONFIGURATION<\/code> options all work, and current settings can be viewed via <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">sys.database_scoped_configurations<\/code>. As with any environment, leave defaults alone unless you have a specific reason to change them, and test any changes you make.<\/p>\n            <\/div>\n                    <h3 class=\"mt-4xl\">5. Which ALTER DATABASE option specs aren&#039;t supported in Azure SQL MI?<\/h3>\n            <div class=\"faq-answer\">\n                <p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A long list, including <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;accelerated_database_recovery&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;automatic_tuning_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;containment_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;database_mirroring_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;db_state_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;db_user_access_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;HADR_options&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;recovery_option&gt;<\/code>, <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">&lt;service_broker_option&gt;<\/code>, and <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">FILESTREAM<\/code>. Several supported option specs also have individual options that aren&#8217;t, so check each one against the Microsoft documentation and validate it on your instance.<\/p>\n            <\/div>\n            <\/section>\n","protected":false},"excerpt":{"rendered":"<p>A tested reference of sp_configure, ALTER DATABASE, and tempdb options that aren&#8217;t supported in Azure SQL Managed Instance -plus the script to validate your own.&hellip;<\/p>\n","protected":false},"author":19670,"featured_media":103086,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":true,"footnotes":""},"categories":[137091,10,143523,143524],"tags":[5364,5336,4693,4168,4150,4151,159317,159316],"coauthors":[98702],"class_list":["post-106713","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-cloud","category-databases","category-sql-server","tag-azure","tag-cloud","tag-configuration","tag-database","tag-sql","tag-sql-server","tag-sql-server-managed-instance","tag-sql-mi"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/106713","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/19670"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=106713"}],"version-history":[{"count":4,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/106713\/revisions"}],"predecessor-version":[{"id":110839,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/106713\/revisions\/110839"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media\/103086"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=106713"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=106713"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=106713"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=106713"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}