<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Azure SQL Blog articles</title>
    <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/bg-p/AzureSQLBlog</link>
    <description>Azure SQL Blog articles</description>
    <pubDate>Thu, 09 Apr 2026 23:29:17 GMT</pubDate>
    <dc:creator>AzureSQLBlog</dc:creator>
    <dc:date>2026-04-09T23:29:17Z</dc:date>
    <item>
      <title>Azure SQL is Deprecating the “No Minimum TLS” (MinTLS None) Configuration</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/azure-sql-is-deprecating-the-no-minimum-tls-mintls-none/ba-p/4508933</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;As part of &lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/preparing-for-the-deprecation-of-tls-1-0-and-1-1-in-azure-databases/4426512" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;the retirement of&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;lower&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;TLS&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;versions&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;1.0 and 1.1&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and&amp;nbsp;the&amp;nbsp;enforcement of 1.2&amp;nbsp;as the&amp;nbsp;new&amp;nbsp;default&amp;nbsp;minimum&amp;nbsp;TLS version,&amp;nbsp;we&amp;nbsp;will be&amp;nbsp;removing&amp;nbsp;the&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; &lt;STRONG&gt;No Minimum TLS (MinTLS = “None” or "0")&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;option&lt;/STRONG&gt;&amp;nbsp;and updating&amp;nbsp;these&amp;nbsp;configurations to TLS 1.2.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;No Minimum TLS &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;allowed Azure SQL Database and Azure SQL Managed Instance resources to accept client connections using any TLS protocol version&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN data-contrast="auto"&gt;and&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN data-contrast="auto"&gt;unencrypted connections.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Over the past year, Azure has retired TLS 1.0 and 1.1 for all Azure databases, due to known security vulnerabilities in these older protocols. As of August 31, 2025,&amp;nbsp;creating servers configured with versions 1.0 and 1.1 was&amp;nbsp;disallowed&amp;nbsp;and&amp;nbsp;migration&amp;nbsp;to 1.2&amp;nbsp;began. With&amp;nbsp;legacy TLS&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;versions being&amp;nbsp;deprecated&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;,&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;TLS 1.2&amp;nbsp;will become the&amp;nbsp;secure default&amp;nbsp;minimum&amp;nbsp;TLS version&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; for new Azure SQL DB and MI configurations and for all client-server connections, rendering the MinTLS = None setting obsolete. As a result, the MinTLS = None configuration option will be deprecated for new servers, and existing servers configured with No Minimum TLS will be upgraded to 1.2. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;What is changing?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:360}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;After July 15, 2026, we will disallow minimum TLS value "None"&lt;/STRONG&gt;,&amp;nbsp;for the creation of new SQL DB and MI resources using PowerShell, Azure CLI, &lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;and any other REST based interface&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;This configuration&amp;nbsp;option&amp;nbsp;has&amp;nbsp;already&amp;nbsp;been removed&amp;nbsp;from&amp;nbsp;the Portal&lt;/STRONG&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;during the deprecation of TLS versions 1.0 and 1.1.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:360}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Creating new Azure SQL Database and Managed Instance servers with&lt;STRONG&gt; M&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;inTLS = None &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;(which was previously considered the default)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;&amp;nbsp;will no longer be a supported configuration&lt;/STRONG&gt;.&amp;nbsp;&amp;nbsp;If the server parameter value for the&amp;nbsp;minimum&amp;nbsp;TLS is left&amp;nbsp;blank,&amp;nbsp;it will default to&amp;nbsp;minimum&amp;nbsp;TLS version&amp;nbsp;1.2.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:360}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Attempts to create an Azure SQL server with MinTLS = None will fail&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;with an “Invalid operation” error&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;downgrades to None will be disallowed&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;While&lt;STRONG&gt;&amp;nbsp;attempts&amp;nbsp;to connect with&amp;nbsp;TLS 1.0, 1.1 or&amp;nbsp;unencrypted&amp;nbsp;connections will fail&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;with&amp;nbsp;“Error: 47072/171 on Gateway.”&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Effective date (retirement milestone)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;MinTLS = None (0)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;MinTLS&amp;nbsp;left blank&amp;nbsp;(defaults to supported&amp;nbsp;minimum)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Before 8/31/25&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Any + Unencrypted&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Any + Unencrypted&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;After 8/31/25&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;1.2 +&amp;nbsp;Unencrypted&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;1.2&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;After July 15, 2026&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Invalid operation error&amp;nbsp;(for&amp;nbsp;new server&amp;nbsp;creates)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Downgrades will be disallowed&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;TLS error: 47072/171 (for&amp;nbsp;unencrypted&amp;nbsp;connections)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;1.2&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In summary,&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;STRONG&gt;after&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;July 15, 2026&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, Azure SQL Database and Azure SQL Managed Instance&amp;nbsp;will require&amp;nbsp;all client connections to use TLS 1.2 or higher&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;and&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;unencrypted connections will be denied&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt; The minimum TLS version setting will no longer accept the value &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;"None" for new or existing servers&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and servers currently configured with this value will&amp;nbsp;be upgraded to&amp;nbsp;explicitly enforce&amp;nbsp;TLS 1.2.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:360,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Who is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;impacted&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;For most Azure SQL customers,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;there is no action&amp;nbsp;required&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;.&lt;/STRONG&gt; Most clients already use TLS 1.2 or higher. After July 15, 2026, if your Azure SQL Database or Managed Instance is still configured with No Minimum TLS &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;and using 1.0, 1.1 or unencrypted connections&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, it will automatically update to TLS 1.2 to reflect the current minimum protocol enforcement in client-server connectivity.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;We do recommend you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;verify your client applications&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– especially any older or third-party client drivers – to ensure they can communicate with TLS 1.2 or above. In&amp;nbsp;some&amp;nbsp;rare cases,&amp;nbsp;very old&amp;nbsp;applications, such&amp;nbsp;as an outdated JDBC driver or older .NET framework version,&amp;nbsp;may need an&amp;nbsp;update or need to enable TLS 1.2.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Conclusion&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This deprecation is part of Azure’s broader security strategy to &lt;STRONG&gt;ensure&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;encrypted connections are&amp;nbsp;secure by modern encryption standards&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;. TLS&amp;nbsp;version&amp;nbsp;1.2 is&amp;nbsp;more&amp;nbsp;secure than older versions and is now the industry standard (required by regulations like PCI DSS and HIPAA).&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;This change&amp;nbsp;eliminates&amp;nbsp;the use of&amp;nbsp;unencrypted connections&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;which ensure all database connections meet current security standards.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;335559739&amp;quot;:360}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;If you’ve already migrated to TLS 1.2 (as most customers have), you will most likely not notice any change, except that the No Minimum TLS option will disappear from configurations.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Apr 2026 20:27:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/azure-sql-is-deprecating-the-no-minimum-tls-mintls-none/ba-p/4508933</guid>
      <dc:creator>talawren</dc:creator>
      <dc:date>2026-04-06T20:27:03Z</dc:date>
    </item>
    <item>
      <title>Zero Trust for data: Make Microsoft Entra authentication for SQL your policy baseline</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/zero-trust-for-data-make-microsoft-entra-authentication-for-sql/ba-p/4506679</link>
      <description>&lt;P&gt;A policy-driven path from enabled to enforced.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why this matters now&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Security and compliance programs were once built on an assumption that internal networks were inherently safer. Cloud adoption, remote work, and supply-chain compromise have steadily invalidated that model. U.S. federal guidance has now formalized this shift: &lt;A href="https://www.govinfo.gov/content/pkg/DCPD-202100401/pdf/DCPD-202100401.pdf" target="_blank" rel="noopener"&gt;Executive Order 14028&lt;/A&gt; calls for modernizing cybersecurity and accelerating Zero Trust adoption, and &lt;A href="https://www.whitehouse.gov/wp-content/uploads/2022/01/M-22-09.pdf" target="_blank" rel="noopener"&gt;OMB Memorandum M-22-09&lt;/A&gt; sets a federal Zero Trust strategy with specific objectives and timelines.&lt;/P&gt;
&lt;P&gt;Meanwhile, attacker economics are changing. Automation and AI make reconnaissance, phishing, and credential abuse cheaper and faster. That concentrates risk on identity—the control plane that sits in front of systems, applications, and data. In Zero Trust, the question is no longer “is the network trusted,” but “is this request verified, governed by policy, and least-privilege?”&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why database authentication is a first‑order Zero Trust control&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Databases are universally treated as crown-jewel infrastructure. Yet many data estates still rely on legacy patterns: password-based SQL authentication, long-lived secrets embedded in apps, and shared administrative accounts that persist because migration feels risky. This is exactly the kind of implicit trust Zero Trust architectures aim to remove.&lt;/P&gt;
&lt;P&gt;NIST SP 800-207 defines Zero Trust as eliminating implicit trust based solely on network location or ownership and focusing controls on protecting resources. In that model, every new database connection is not “plumbing”—it is an access decision to sensitive data. If the authentication mechanism sits outside the enterprise identity plane, governance becomes fragmented and policy enforcement becomes inconsistent.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;What changes when SQL uses Microsoft Entra authentication&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Microsoft Entra authentication enables users and applications to connect to SQL using enterprise identities, instead of usernames and passwords. Across &lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-overview" target="_blank" rel="noopener"&gt;Azure SQL&lt;/A&gt; and &lt;A href="https://learn.microsoft.com/en-us/sql/sql-server/azure-arc/microsoft-entra-authentication-with-managed-identity" target="_blank" rel="noopener"&gt;SQL Server enabled by Azure Arc&lt;/A&gt;, Entra-based authentication helps align database access with the same identity controls organizations use elsewhere.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The security and compliance outcomes that leaders care about&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Reduce password and secret risk: move away from static passwords and embedded credentials.&lt;/LI&gt;
&lt;LI&gt;Centralize governance: bring database access under the same identity policies, access reviews, and lifecycle controls used across the enterprise.&lt;/LI&gt;
&lt;LI&gt;Improve auditability: tie access to enterprise identities and create a consistent control surface for reporting.&lt;/LI&gt;
&lt;LI&gt;Enable policy enforcement at scale: move from “configured” controls to “enforced” controls through governance and tooling.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This is why Entra authentication is a high-ROI modernization step: it collapses multiple security and operational objectives into one effort (identity modernization) rather than a set of ongoing compensating programs (password rotation programs, bespoke exceptions, and perpetual secret hygiene projects).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why AI makes this a high priority decision&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;AI accelerates both reconnaissance and credential abuse, which concentrates risk on identity. As a result, policy makers increasingly treat phishing-resistant authentication and centralized identity enforcement as foundational—not optional.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A practical path: from enabled to enforced&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Successful security programs define a clear end state, a measurable glide path, and an enforcement model. A pragmatic approach to modernizing SQL access typically includes:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Discover active usage: Identify which logins and users are actively connecting and which are no longer required.&lt;/LI&gt;
&lt;LI&gt;Establish Entra as the identity authority: Enable Entra authentication on SQL logical servers, starting in mixed mode to reduce disruption.&lt;/LI&gt;
&lt;LI&gt;Recreate principals using Entra identities: Replace SQL Authentication logins/users with Entra users, groups, service principals, and managed identities.&lt;/LI&gt;
&lt;LI&gt;Modernize application connectivity: Update drivers and connection patterns to use Entra-based authentication and managed identities.&lt;/LI&gt;
&lt;LI&gt;Validate, then enforce: Confirm the absence of password‑based SQL authentication traffic, then move to Entra‑only where available and enforce via policy.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;By adopting this sequencing, organizations can mitigate risks at an early stage and postpone enforcement until the validation process concludes. For a comprehensive migration strategy, refer to &lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/securing-azure-sql-database-with-microsoft-entra-password-less-authentication-mi/4470734" target="_blank" rel="noopener"&gt;Securing Azure SQL Database with Microsoft Entra Password-less Authentication: Migration Guide&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Choosing which projects to fund — and which ones to stop&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;When making investment decisions, priority is given to database identity projects that can demonstrate clear risk reduction and lasting security benefits.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft Entra authentication as the default for new SQL workloads, with a defined migration path for the existing workloads.&lt;/LI&gt;
&lt;LI&gt;Managed identities for application-to-database connectivity to eliminate stored secrets.&lt;/LI&gt;
&lt;LI&gt;Centralized governance for privileged database access using enterprise identity controls.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;At the same time, organizations should explicitly de-prioritize investments that perpetuate password risk: password rotation projects that preserve SQL Authentication, bespoke scripts maintaining shared logins, and exception processes that do not scale.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Security and scale are not competing goals&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Security is often seen as something that slows down innovation, but database identity offers unique benefits. When enterprise identity is used for access controls, bringing in new applications and users shifts from handing out credentials to overseeing policies. Compliance reporting also becomes uniform rather than customized, making it easier to grow consistently thanks to a single control framework.&lt;/P&gt;
&lt;P&gt;Modern database authentication is not solely about mitigating risk— it establishes a scalable operational framework for secure data access.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A scorecard designed for leadership readiness&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;To elevate the conversation from implementation to governance, use outcome-based metrics:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Coverage: Percentage of SQL workloads with Entra authentication enabled.&lt;/LI&gt;
&lt;LI&gt;Enforcement: Percentage operating in Entra-only mode after validation.&lt;/LI&gt;
&lt;LI&gt;Secret reduction: Applications still relying on stored database passwords.&lt;/LI&gt;
&lt;LI&gt;Privilege hygiene: Admin access governed through enterprise identity controls.&lt;/LI&gt;
&lt;LI&gt;Audit evidence: Ability to produce identity-backed access reports on demand.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These map directly to Zero Trust maturity expectations and provide a defensible definition of “done.”&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Closing&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Zero Trust is an operating posture, not a single control. For most organizations, the fastest way to make that posture measurable is to standardize database access on the same identity plane used everywhere else.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;If you are looking for a single investment that improves security, reduces audit friction, and supports responsible AI adoption, modernizing SQL access with Microsoft Entra authentication — and driving it from enabled to enforced — is one of the most durable choices you can make.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;References&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="https://www.microsoft.com/en-us/security/blog/2022/02/17/us-government-sets-forth-zero-trust-architecture-strategy-and-requirements/" target="_blank" rel="noopener"&gt;US Government sets forth Zero Trust architecture strategy and requirements (Microsoft Security Blog)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/securing-azure-sql-database-with-microsoft-entra-password-less-authentication-mi/4470734" target="_blank" rel="noopener"&gt;Securing Azure SQL Database with Microsoft Entra Password-less Authentication: Migration Guide (Microsoft Tech Community)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://www.whitehouse.gov/wp-content/uploads/2022/01/M-22-09.pdf" target="_blank" rel="noopener"&gt;OMB Memorandum M-22-09: Federal Zero Trust Strategy (White House)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://csrc.nist.gov/pubs/sp/800/207/final" target="_blank" rel="noopener"&gt;NIST SP 800-207: Zero Trust Architecture&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://www.cisa.gov/topics/cybersecurity-best-practices/zero-trust" target="_blank" rel="noopener"&gt;CISA: Zero Trust&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-azure-ad-only-authentication-policy-how-to" target="_blank" rel="noopener"&gt;Enforce Microsoft Entra-only authentication for Azure SQL Database and Azure SQL Managed Instance&lt;/A&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Mon, 30 Mar 2026 02:24:12 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/zero-trust-for-data-make-microsoft-entra-authentication-for-sql/ba-p/4506679</guid>
      <dc:creator>PDasgupta</dc:creator>
      <dc:date>2026-03-30T02:24:12Z</dc:date>
    </item>
    <item>
      <title>Stream data in near real time from SQL MI to Azure Event Hubs - Public preview</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/stream-data-in-near-real-time-from-sql-mi-to-azure-event-hubs/ba-p/4504212</link>
      <description>&lt;H2 data-line="2"&gt;How do I modernize an existing application without rewriting it?&lt;/H2&gt;
&lt;P data-line="4"&gt;Many business-critical applications still rely on architectures where the database is the most dependable integration point. These applications may have been built years ago, long before event-driven patterns became mainstream. Even after moving such workloads to Azure, teams are often left with the same question: how do we get data changes out of the database quickly, reliably, and without adding more custom plumbing?&lt;/P&gt;
&lt;P data-line="6"&gt;This is where&amp;nbsp;&lt;STRONG&gt;Change Event Streaming (CES)&lt;/STRONG&gt;&amp;nbsp;comes in.&lt;/P&gt;
&lt;P data-line="8"&gt;We are happy to announce that&amp;nbsp;&lt;STRONG&gt;Change Event Streaming for Azure SQL Managed Instance&lt;/STRONG&gt;&amp;nbsp;is now in&amp;nbsp;&lt;STRONG&gt;Public Preview&lt;/STRONG&gt;. CES enables you to stream row-level changes -&amp;nbsp;&lt;STRONG&gt;inserts, updates, and deletes&lt;/STRONG&gt;&amp;nbsp;- from your database directly to&amp;nbsp;&lt;STRONG&gt;Azure Event Hubs&lt;/STRONG&gt;&amp;nbsp;in near real time.&lt;/P&gt;
&lt;P data-line="10"&gt;For workloads running on Azure SQL Managed Instance, this matters especially because many of them are existing line-of-business applications, modernized from on-premises SQL Server environments into Azure. Those applications are often still central to the business, but they were not originally designed to publish events to downstream systems. CES helps bridge that gap without requiring you to redesign the application itself.&lt;/P&gt;
&lt;H3 data-line="12"&gt;What is Change Event Streaming?&lt;/H3&gt;
&lt;P data-line="14"&gt;Change Event Streaming is a capability that captures committed row changes from your database and publishes them to&amp;nbsp;&lt;STRONG&gt;Azure Event Hubs&lt;/STRONG&gt;&amp;nbsp;or&amp;nbsp;&lt;STRONG&gt;Fabric Eventstreams&lt;/STRONG&gt;. Instead of relying on periodic polling, custom ETL jobs, or additional connectors, CES lets SQL push changes out as they happen.&lt;/P&gt;
&lt;P data-line="16"&gt;This opens the door to near-real-time integrations while keeping the architecture simpler and closer to the source of truth.&lt;/P&gt;
&lt;img&gt;A diagram conceptually visualizing data flow from SQL, with an arrow towards Azure Event Hubs, from where a number of arrows point to different final destinations.&lt;/img&gt;
&lt;H3 data-line="18"&gt;Why CES matters for Azure SQL Managed Instance&lt;/H3&gt;
&lt;H4 data-line="20"&gt;Incremental modernization for existing applications&lt;/H4&gt;
&lt;P data-line="22"&gt;Azure SQL Managed Instance is a database of choice where application compatibility matters and where teams want to modernize from on-premises SQL Server into Azure with minimal disruption. In these environments, the database often becomes the most practical place to tap into business events - especially when the application itself was not designed to emit events or integrate in real-time.&lt;/P&gt;
&lt;P data-line="24"&gt;With CES, you do not need to retrofit an older application to emit events itself. You can publish changes at the data layer and let downstream services react from there. This makes CES a practical tool for modernization programs that need to move step by step rather than through a full rewrite.&lt;/P&gt;
&lt;H4 data-line="26"&gt;Lower operational complexity&lt;/H4&gt;
&lt;P data-line="28"&gt;&lt;STRONG&gt;Before CES&lt;/STRONG&gt;: teams typically had to assemble integration flows out of polling processes, ETL pipelines, custom code, or third-party connectors. Those approaches can work, but they usually bring more moving parts, more credentials to manage, more monitoring overhead, and more latency tuning.&lt;/P&gt;
&lt;P data-line="30"&gt;&lt;STRONG&gt;With CES&lt;/STRONG&gt;: SQL Managed Instance streams changes directly to the configured destination. This reduces architectural sprawl and helps teams focus on consuming the events instead of maintaining the mechanics of moving them.&lt;/P&gt;
&lt;H5 data-line="32"&gt;Better decoupling across the estate&lt;/H5&gt;
&lt;P data-line="34"&gt;Once changes are published to Azure Event Hubs or Fabric Eventstreams, multiple downstream systems can consume them independently. That is useful when one operational workload needs to feed analytics platforms, integration services, caches, search indexes, or new application components at the same time.&lt;/P&gt;
&lt;P data-line="36"&gt;Instead of teaching an existing application to integrate with every destination directly, you can stream once from the database and let the message bus handle fan-out.&lt;/P&gt;
&lt;H3 data-line="38"&gt;Typical scenarios&lt;/H3&gt;
&lt;H4 data-line="40"&gt;Breaking down monoliths&lt;/H4&gt;
&lt;P data-line="42"&gt;Many modernization efforts start with a large existing application and a database that serves many business functions. CES can help you carve out one capability at a time. A new component (microservice) can subscribe to events from selected tables, build its own behavior around those changes, and be validated incrementally before broader cutover decisions are made.&lt;/P&gt;
&lt;H4 data-line="44"&gt;Real-time integration for line-of-business systems&lt;/H4&gt;
&lt;P data-line="46"&gt;If an operational system running on SQL Managed Instance needs to notify other platforms when data changes, CES provides a direct path to doing that. This can help with partner integrations, internal workflows, or downstream business processes that should react quickly when transactions are committed.&lt;/P&gt;
&lt;H4 data-line="48"&gt;Real-time analytics&lt;/H4&gt;
&lt;P data-line="50"&gt;Operational data often becomes more valuable when it can be analyzed quickly. CES can stream data changes into Fabric Eventstreams or Azure Event Hubs, from where they can be consumed by analytics and stream processing processes for timely insights or actions.&lt;/P&gt;
&lt;H4 data-line="52"&gt;Cache and index refresh&lt;/H4&gt;
&lt;P data-line="54"&gt;Applications often depend on caches or search indexes that need to stay aligned with transactional data. CES can provide a cleaner alternative to custom synchronization logic by publishing changes as they occur.&lt;/P&gt;
&lt;H3 data-line="56"&gt;How it works&lt;/H3&gt;
&lt;P data-line="58"&gt;CES uses&amp;nbsp;&lt;STRONG&gt;transaction log-based capture&lt;/STRONG&gt;&amp;nbsp;to stream changes with minimal impact on the publishing workload. Events are emitted in a structured JSON format that follows the&amp;nbsp;&lt;A href="https://github.com/cloudevents/spec" target="_blank" rel="noopener" data-href="https://github.com/cloudevents/spec"&gt;CloudEvents&lt;/A&gt;&amp;nbsp;standard and includes details such as the operation type, primary key, and before/after values.&lt;/P&gt;
&lt;P data-line="60"&gt;Azure SQL Managed Instance can publish these events to&amp;nbsp;&lt;STRONG&gt;Azure Event Hubs&lt;/STRONG&gt;&amp;nbsp;or&amp;nbsp;&lt;STRONG&gt;Fabric Eventstreams&lt;/STRONG&gt;&amp;nbsp;using&amp;nbsp;&lt;STRONG&gt;AMQP&lt;/STRONG&gt;&amp;nbsp;or&amp;nbsp;&lt;STRONG&gt;Kafka&lt;/STRONG&gt;&amp;nbsp;protocols, depending on how you connect your downstream consumers.&lt;/P&gt;
&lt;H3 data-line="62"&gt;Conclusion&lt;/H3&gt;
&lt;P data-line="64"&gt;Change Event Streaming for Azure SQL Managed Instance is an important step for customers who want to make existing applications more connected, simplified into smaller pieces or easier to integrate with modern data and application platforms.&lt;/P&gt;
&lt;P data-line="66"&gt;For teams modernizing long-lived SQL Server workloads in Azure, CES offers a practical path: keep the application stable, tap into the data layer, and start enabling near-real-time scenarios without building another custom integration stack.&lt;/P&gt;
&lt;P data-line="68"&gt;As CES enters Public Preview for Azure SQL Managed Instance, we encourage you to explore where it can simplify your architecture and accelerate modernization efforts.&lt;/P&gt;
&lt;H3 data-line="70"&gt;Availability notes&lt;/H3&gt;
&lt;P data-line="72"&gt;Besides SQL Server 2025 and Azure SQL Database, where CES is already in Public preview, CES is available as of today in&amp;nbsp;&lt;STRONG&gt;Public Preview&lt;/STRONG&gt;&amp;nbsp;for&amp;nbsp;&lt;STRONG&gt;Azure SQL Managed Instance&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P data-line="72"&gt;Just make sure that your SQL MI&amp;nbsp;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/azuresqlblog/ga-of-update-policy-sql-server-2025-for-azure-sql-managed-instance/4498802" data-lia-auto-title="update policy" data-lia-auto-title-active="0" target="_blank"&gt;update policy&lt;/A&gt; is set to "Always up to date" or "SQL Server 2025".&lt;/P&gt;
&lt;P data-line="74"&gt;This preview brings the same core CES capability to SQL Managed Instance workloads, helping customers apply event-driven patterns to existing operational systems without adding another custom integration layer.&lt;/P&gt;
&lt;P data-line="76"&gt;For feature details, configuration guidance, and frequently asked questions, see:&lt;/P&gt;
&lt;UL data-line="78"&gt;
&lt;LI data-line="78"&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/change-event-streaming/overview?view=sql-server-ver17&amp;amp;ref=ignite-blog" target="_blank" rel="noopener" data-href="https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/change-event-streaming/overview?view=sql-server-ver17&amp;amp;ref=ignite-blog"&gt;Feature Overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI data-line="79"&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/change-event-streaming/frequently-asked-questions-faq?view=sql-server-ver17&amp;amp;ref=ignite-blog" target="_blank" rel="noopener" data-href="https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/change-event-streaming/frequently-asked-questions-faq?view=sql-server-ver17&amp;amp;ref=ignite-blog"&gt;CES: Frequently Asked Questions&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="81"&gt;We welcome your feedback through Azure Feedback channels or support channels. The CES team can also be reached via email: sqlcesfeedback [at] microsoft [dot] com.&lt;/P&gt;
&lt;H3 data-line="83"&gt;Useful resources&lt;/H3&gt;
&lt;UL data-line="85"&gt;
&lt;LI data-line="85"&gt;&lt;A href="https://learn.microsoft.com/azure/azure-sql/managed-instance/free-offer?view=azuresql" target="_blank" rel="noopener" data-href="https://learn.microsoft.com/azure/azure-sql/managed-instance/free-offer?view=azuresql"&gt;Try Azure SQL Managed Instance for free for one year&lt;/A&gt;&lt;/LI&gt;
&lt;LI data-line="86"&gt;&lt;A href="https://learn.microsoft.com/azure/azure-sql/managed-instance/doc-changes-updates-release-notes-whats-new?view=azuresql" target="_blank" rel="noopener" data-href="https://learn.microsoft.com/azure/azure-sql/managed-instance/doc-changes-updates-release-notes-whats-new?view=azuresql"&gt;What's new in Azure SQL Managed Instance?&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Fri, 20 Mar 2026 20:34:02 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/stream-data-in-near-real-time-from-sql-mi-to-azure-event-hubs/ba-p/4504212</guid>
      <dc:creator>NikolaZagorac</dc:creator>
      <dc:date>2026-03-20T20:34:02Z</dc:date>
    </item>
    <item>
      <title>Database DevOps (preview) in SSMS 22.4.1</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/database-devops-preview-in-ssms-22-4-1/ba-p/4503858</link>
      <description>&lt;P&gt;Database DevOps tooling for Microsoft SQL brings the benefits of database-as-code to your development workflow. At its core are SQL database projects, which enable you to source control your database schema, perform reliable deployments to any environment, and integrate code quality checks into your development process. Whether you're managing a single database or orchestrating complex deployments across multiple environments, SQL projects in SQL Server Management Studio (SSMS) provide the foundation for modern database DevOps practices.&lt;/P&gt;
&lt;H2&gt;Introducing SQL projects in SSMS&lt;/H2&gt;
&lt;P&gt;With the 22.4 release of SQL Server Management Studio (SSMS), we are excited to launch the public preview of SQL projects with the new "Database DevOps" workload in SSMS. This marks a significant milestone in our journey to bring the power of SQL projects to database professionals in different roles and with different preferences for development environments. The initial public preview brings the core create, build, and publish workflow to SSMS with the backing of Microsoft.Build.Sql projects, which are also supported in VS Code. This means that you can create a SQL project in SSMS, check it into source control, and then work with it in VS Code or vice versa, enabling a seamless experience across different tools and teams.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;This is just the beginning of our plans for SQL projects in SSMS, and we are committed to expanding the capabilities and integrations in future releases based on your feedback and needs. Additional functionality in upcoming releases includes creating and updating projects from databases directly as well as the graphical schema compare interface. If you're looking to bring an existing database into source control and start with SQL projects in SSMS today, you have two options for quickly accessing your database definition. The mssql extension in VS Code provides a menu item in object explorer for "Create project from database" and the SqlPackage CLI has a command to generate the .sql files that can be copied directly into the SQL project directory:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;&lt;LI-CODE lang="bash"&gt;dotnet tool install -g microsoft.sqlpackage sqlpackage /action:extract /sourceconnectionstring:"&amp;lt;connection string&amp;gt;" /targetfile:"databasefiles" /p:extracttarget=schemaobjecttype&lt;/LI-CODE&gt;&lt;/LI-CODE&gt;
&lt;H2&gt;What about Visual Studio SQL Server Data Tools (SSDT)?&lt;/H2&gt;
&lt;P&gt;SQL projects in SSMS are based on Microsoft.Build.Sql projects and requires a minimum SDK version of 2.1.0. While a preview of SSDT for Microsoft.Build.Sql projects is available for Visual Studio 2022, only the original SQL projects are supported in SSDT for Visual Studio 2026. The SQL projects tooling ecosystem includes multiple development environments, CI/CD integrations, and even customization through the DacFx .NET library. Our goal is that this ecosystem enables you and your teams to manage SQL database schemas and deployments in a more automated and reliable way, and this requires that tools used by your teams surface SQL projects such that they can be integrated into your existing workflows.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;I understand that initial messaging about Microsoft.Build.Sql projects for Visual Studio and changes when that work was delayed has led to some confusion, so we’re operating with as much transparency as we can with the SQL projects roadmap at&amp;nbsp;&lt;A href="https://aka.ms/sqlprojects-roadmap" target="_blank"&gt;aka.ms/sqlprojects-roadmap&lt;/A&gt;. You'll note at this time that Microsoft.Build.Sql support in Visual Studio 2026 is not yet on the roadmap. Please continue to voice your feedback on the &lt;A href="https://developercommunity.visualstudio.com/t/VisualStudio2026InsiderstillusingoldSQL-StyleProjects/10965461" target="_blank"&gt;Developer Community&lt;/A&gt;, which is extremely valuable as we are actively reviewing the integration.&lt;/P&gt;
&lt;H2&gt;Get to know SQL projects&lt;/H2&gt;
&lt;P&gt;SQL projects represent a fundamental file format for database development and automation, enabling both a declarative approach to defining and deploying database schemas as well as supporting migration-based deployment methods with consolidated change visibility and code quality checks. By adopting SQL projects, teams can achieve greater consistency, collaboration, and efficiency in their database development processes, ultimately leading to more reliable and maintainable database systems. The integration of SQL projects with modern development tools and platforms further enhances their value, making it easier for teams to implement DevOps practices and automate their database workflows.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;Documentation is available at &lt;A href="https://aka.ms/sqlprojects-docs" target="_blank"&gt;aka.ms/sqlprojects-docs&lt;/A&gt;, and our public roadmap at &lt;A href="https://aka.ms/sqlprojects-roadmap" target="_blank"&gt;aka.ms/sqlprojects-roadmap&lt;/A&gt; shows what's coming next. We'd love to hear your feedback — your input directly shapes our priorities and helps us build the database DevOps experience that works best for your teams. Get started with the public preview of SQL projects in SSMS today by &lt;A href="https://learn.microsoft.com/ssms/install/install" target="_blank"&gt;downloading&lt;/A&gt; SSMS 22 or updating your current SSMS to 22.4 and &lt;A href="https://learn.microsoft.com/ssms/install/modify" target="_blank"&gt;modifying&lt;/A&gt; the SSMS install to include the Database DevOps workload.&lt;/P&gt;</description>
      <pubDate>Thu, 19 Mar 2026 15:31:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/database-devops-preview-in-ssms-22-4-1/ba-p/4503858</guid>
      <dc:creator>DrewSkwiersKoballa</dc:creator>
      <dc:date>2026-03-19T15:31:46Z</dc:date>
    </item>
    <item>
      <title>Announcing Preview of 160 and 192vCore Premium-series Options for Azure SQL Database Hyperscale</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/announcing-preview-of-160-and-192vcore-premium-series-options/ba-p/4501367</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;We are excited to announce the public preview of 160 and 192vCore compute sizes for Premium-series hardware configuration in Azure SQL Database Hyperscale.&amp;nbsp; Since the introduction of Premium-series hardware configurations for Hyperscale in November 2022, many customers have successfully used larger vCore configurations to consolidate workloads, reduce shard counts, and improve overall application performance and stability. &amp;nbsp;&lt;/P&gt;
&lt;P&gt;This preview builds on the Premium-series configuration introduced previously for Hyperscale, extending the maximum scale of a single database and elastic pools from 128vCores to 192vCores to support higher concurrency, faster CPU performance, and larger memory footprints, for more demanding mission critical workloads. With this preview, customers running largescale OLTP, HTAP, and analytics-heavy workloads can evaluate even higher compute ceilings without rearchitecting their applications.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Premium-Series Hyperscale Hardware Overview&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Premium-series Hyperscale databases &lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/service-tier-hyperscale?view=azuresql#compute-resources" target="_blank" rel="noopener"&gt;run on latest-generation Intel and AMD processors&lt;/A&gt;&amp;nbsp;, delivering higher per core performance and improved scalability compared to standard-series (Gen5) hardware.&amp;nbsp; With this public preview release, Premium-series Hyperscale now supports larger vCore configurations, extending the scaleup limits for customers who need more compute and memory in a single database.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Getting started&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Customers can enable the 160 or 192vCore Premium-series options when creating a database, or when scaling up existing Hyperscale databases in supported regions (where preview capacity is available).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;As with other Hyperscale scale operations, moving to a larger vCore size does not require application changes and uses Hyperscale’s distributed storage and compute architecture.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Resource Limits &amp;amp; Key characteristics&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/resource-limits-vcore-single-databases?view=azuresql#hyperscale-premium-series-part-3-of-3" target="_blank" rel="noopener"&gt;Link to Azure SQL documentation on resource limits&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Single Database Resource Limits&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Cores&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Memory (GB)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Tempdb max data size (GB)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max Local SSD IOPS&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max Log Rate (MiB/s)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent workers&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent external connections per pool&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent sessions&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;128&lt;/P&gt;
&lt;P&gt;(Current Limit)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;625&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;4,096&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;544,000&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;150&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;12,800&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;150&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;30,000&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;160&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;(New preview limit)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;830&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;4,096&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;680,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;16,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;30,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;192&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;(New preview limit)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;843*&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;4,096&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;816,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;19,200&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;30,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;*Memory values will increase for 192 vCores at GA.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Elastic Pool Resource Limits&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Cores&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Memory (GB)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Tempdb max data size (GB)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max Local SSD IOPS&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max Log Rate (MiB/s)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent workers per pool&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent external connections per pool&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Max concurrent sessions&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;128&lt;/P&gt;
&lt;P&gt;(Current Limit)&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;625&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;4,096&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;409,600&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;150&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;13,440&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;150&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;30,000&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;160&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;(New preview limit)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;830&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;4,096&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;800,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;16,800&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;30,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;192&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;(New preview limit)&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;843*&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;4,096&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;960,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;20,160&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;150&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;30,000&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;col style="width: 12.50%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;*Memory values will increase for 192 vCores at GA.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Premium-series Hyperscale can now scale up to 160 vCores &amp;amp; 192 vCores in public preview regions. &amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;High performance CPUs optimized for compute-intensive workloads.&lt;/LI&gt;
&lt;LI&gt;Increased memory capacity proportional to vCore scale&lt;/LI&gt;
&lt;LI&gt;Up to 128 TiB of data storage, consistent with Hyperscale architecture&lt;/LI&gt;
&lt;LI&gt;Full compatibility with existing Hyperscale features and capabilities&lt;/LI&gt;
&lt;/UL&gt;
&lt;H5&gt;&lt;STRONG&gt;Performance Improvements with 160 and 192 vcores&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Strong scale-up efficiency observed beyond 128 vCores: Moving from 128 → 160 → 192 vCores shows consistent performance gains, demonstrating that Hyperscale Premium-series continues to scale effectively at higher core counts.&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-border-style-solid" border="1" style="width: 99.7222%; height: 690.021px; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr style="height: 690.021px;"&gt;&lt;td style="height: 690.021px;"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td style="height: 690.021px;"&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;H6&gt;160 vCores delivers a strong balance of single-query and concurrent performance.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;192 vCores is ideal for customers prioritizing maximum throughput, high user concurrency, and large-scale transactional or analytical workloads&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;&lt;A href="https://www.tpc.org/tpch/" target="_blank" rel="noopener"&gt;TPC-H Power Run&lt;/A&gt; (measures single-stream query performance) improves from 217 (128 vCores) to 357 (160 vCores) and remains high at 355 (192 vCores), delivering a +64% increase from 128 → 192 vCores, indicating strong single-query execution and CPU efficiency at larger sizes.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;&lt;A href="https://www.hammerdb.com/docs3.3/ch10s02.html" target="_blank" rel="noopener"&gt;TPC-H Throughput Run&lt;/A&gt; (measures multi-stream concurrency) increases from 191 → 360 → 511 QPH, resulting in a +168% gain from 128 → 192 vCores, highlighting significant benefits for highly concurrent, multi-user workloads.&lt;/H6&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 52.1151%" /&gt;&lt;col style="width: 47.844%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Performance case study&lt;/STRONG&gt; (Zava Lending example)&lt;/H5&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table class="lia-border-style-solid" border="1" style="width: 99.6296%; height: 484.87px; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr style="height: 484.87px;"&gt;&lt;td style="height: 484.87px;"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;FIGURE style="margin: 0; padding: 0;"&gt;
&lt;DIV style="position: relative; width: 100%; height: 0; padding-bottom: 56.25%; overflow: hidden; border: 0;"&gt;&lt;IFRAME src="https://medius.microsoft.com/Embed/video-nc/1a4a6c0a-e0fe-401e-a7c4-4eb187c42dd1" title="Scene 9 - Zava Scaling Online" allowfullscreen="allowfullscreen" allow="fullscreen; picture-in-picture" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;" sandbox="allow-scripts allow-same-origin allow-forms"&gt;
    &lt;/IFRAME&gt;&lt;/DIV&gt;
&lt;FIGCAPTION id="video-caption" style="font-size: 14px; line-height: 1.5; color: #1f1f1f; text-align: left; margin-top: 8px;"&gt;If the player doesn’t load, open the video in a new window: &lt;A style="color: #0a5bd9; text-decoration: underline;" title="Open the video in a new window" href="https://medius.microsoft.com/Embed/video-nc/1a4a6c0a-e0fe-401e-a7c4-4eb187c42dd1" target="_blank" rel="noopener noreferrer"&gt;Open video&lt;/A&gt;&lt;/FIGCAPTION&gt;
&lt;/FIGURE&gt;
&lt;/td&gt;&lt;td style="height: 484.87px;"&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;H6&gt;Zava Lending scaled Azure SQL Hyperscale online as demand increased—supporting more users and higher transaction volume with no downtime.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;Throughput scaled linearly as compute increased, moving cleanly from 32 → 64 → 128 → 192 vCores to match real workload growth.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;192 vCores proved to be the optimal operating point, sustaining peak transaction load without over‑provisioning.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;Azure SQL Hyperscale handled mixed OLTP and analytics workloads, including nightly ETL, without becoming a bottleneck.&lt;/H6&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;H6&gt;Every scale operation was performed online, with no service interruption and no application changes.&lt;/H6&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 52.3493%" /&gt;&lt;col style="width: 47.6095%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;H5&gt;&lt;STRONG&gt;Preview scope and limitations&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;During preview, Premium-series 160 and 192 vCores are supported in a limited set of initial regions (Australia East, Canada Central, East US 2, South Central US, UK South, West Europe, North Europe, Southeast Asia, West US 2), with broader availability planned over time.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;During preview:&lt;/STRONG&gt;&lt;/H5&gt;
&lt;UL&gt;
&lt;LI&gt;Zone redundancy and Azure SQL Database maintenance window are not supported for these sizes&lt;/LI&gt;
&lt;LI&gt;Preview features are subject to supplemental preview terms, and performance characteristics may continue to improve through GA&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Customers are encouraged to use this preview to validate scalability, concurrency, memory utilization, query parallelism, and readiness for larger single database deployments.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Next Steps&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;This public preview is part of our broader investment in scaling Azure SQL Hyperscale for the most demanding workloads. Feedback from preview will help inform GA configuration limits, regional rollout priorities, and performance optimizations at extreme scale.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 18:53:27 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/announcing-preview-of-160-and-192vcore-premium-series-options/ba-p/4501367</guid>
      <dc:creator>scott_kim</dc:creator>
      <dc:date>2026-03-18T18:53:27Z</dc:date>
    </item>
    <item>
      <title>Versionless keys for Transparent Data Encryption in Azure SQL Database (Generally Available)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/versionless-keys-for-transparent-data-encryption-in-azure-sql/ba-p/4502969</link>
      <description>&lt;P&gt;With this release, &lt;STRONG&gt;you no longer need to reference a specific key version&lt;/STRONG&gt; stored in Azure Key Vault or Managed HSM when configuring Transparent Data Encryption (TDE) with customer‑managed keys. Instead, Azure SQL Database now supports a &lt;STRONG&gt;versionless key URI&lt;/STRONG&gt;, automatically using the latest enabled version of your key. This means:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Simpler key management&lt;/STRONG&gt;—no longer necessary to specify the key version.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Reduced operational overhead&lt;/STRONG&gt; by eliminating risks tied to outdated key versions.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Full control&lt;/STRONG&gt; remains with the customer.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This enhancement streamlines encryption at rest, especially for organizations operating at scale or enforcing strict security and compliance standards.&lt;/P&gt;
&lt;P&gt;Versionless keys for TDE are available &lt;STRONG&gt;today&lt;/STRONG&gt; across Azure SQL Database with no additional cost.&lt;/P&gt;
&lt;H2&gt;Versioned vs. Versionless Key URIs&lt;/H2&gt;
&lt;P&gt;To highlight the difference, here are real examples:&lt;/P&gt;
&lt;H5&gt;Versioned Key URI (old approach — explicit version required)&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;https://demotdeakv.vault.azure.net/keys/TDECMK/&lt;SPAN class="lia-text-color-11"&gt;40acafb8a7034b20ba227905df090a1f&lt;/SPAN&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H5&gt;Versionless Key URI (new approach)&lt;/H5&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;https://demotdeakv.vault.azure.net/keys/TDECMK&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;A versionless key URI references only the key &lt;EM&gt;name&lt;/EM&gt;. Azure SQL Database automatically uses the newest enabled version of the key.&lt;/P&gt;
&lt;H2&gt;Learn more&lt;/H2&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-tde-overview?view=azuresql&amp;amp;tabs=azure-portal" target="_blank" rel="noopener"&gt;Transparent Data Encryption - Azure SQL Database&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-overview?view=azuresql&amp;amp;tabs=azurekeyvault%2Cazurekeyvaultrequirements%2Cazurekeyvaultrecommendations" target="_blank" rel="noopener"&gt;Azure SQL transparent data encryption with customer-managed key&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/transparent-data-encryption-byok-database-level-overview?view=azuresql&amp;amp;tabs=azurekeyvault" target="_blank" rel="noopener"&gt;Transparent data encryption with customer-managed keys at the database level&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 13:23:11 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/versionless-keys-for-transparent-data-encryption-in-azure-sql/ba-p/4502969</guid>
      <dc:creator>PieterVanhove</dc:creator>
      <dc:date>2026-03-18T13:23:11Z</dc:date>
    </item>
    <item>
      <title>Stop defragmenting and start living: introducing auto index compaction</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/stop-defragmenting-and-start-living-introducing-auto-index/ba-p/4500089</link>
      <description>&lt;H2&gt;Executive summary&lt;/H2&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/sql/relational-databases/indexes/automatic-index-compaction" target="_blank"&gt;Automatic index compaction&lt;/A&gt; is a new built-in feature in the MSSQL database engine that compacts indexes in background and with minimal overhead.&lt;/P&gt;
&lt;P&gt;Now you can:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Stop using scheduled index maintenance jobs.&lt;/LI&gt;
&lt;LI&gt;Reduce storage space consumption and save costs.&lt;/LI&gt;
&lt;LI&gt;Improve performance by reducing CPU, memory, and disk I/O consumption.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Today, we announce a &lt;STRONG&gt;public preview&lt;/STRONG&gt; of automatic index compaction in Azure SQL Database, Azure SQL Managed Instance with the always-up-to-date &lt;A href="https://learn.microsoft.com/azure/azure-sql/managed-instance/update-policy" target="_blank"&gt;update policy&lt;/A&gt;, and SQL database in Fabric.&lt;/P&gt;
&lt;H2&gt;Index maintenance without maintenance jobs&lt;/H2&gt;
&lt;P&gt;Enable automatic index compaction for a database with a single T-SQL command:&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;ALTER DATABASE [database-name] SET AUTOMATIC_INDEX_COMPACTION = ON;&lt;/LI-CODE&gt;
&lt;P&gt;Once enabled, you no longer need to set up, maintain, and monitor resource intensive index maintenance jobs, a time-consuming operational task for many DBA teams today.&lt;/P&gt;
&lt;P&gt;As the data in the database changes, a background process consolidates rows from partially filled data pages into a smaller number of filled up pages, and then removes the empty pages. Index bloat is eliminated – the same amount of data now uses a minimal amount of storage space.&lt;/P&gt;
&lt;img&gt;A conceptual view of the index compaction process&lt;/img&gt;
&lt;P&gt;Resource consumption is reduced because the database engine needs fewer disk IOs and less CPU and memory to process the same amount of data.&lt;/P&gt;
&lt;P&gt;By design, the background compaction process acts on the recently modified pages only. This means that its own resource consumption is much lower compared to the traditional index maintenance operations (index rebuild and reorganize), which process all pages in an index or its partition.&lt;/P&gt;
&lt;P&gt;For a detailed description of how the feature works, a comparison between automatic index compaction and the traditional index maintenance operations, and the ways to monitor the compaction process, see &lt;A href="https://learn.microsoft.com/sql/relational-databases/indexes/automatic-index-compaction" target="_blank"&gt;automatic index compaction&lt;/A&gt; in documentation.&lt;/P&gt;
&lt;H2&gt;Compaction in action&lt;/H2&gt;
&lt;P&gt;To see the effects of automatic index compaction, we wrote a stored procedure that simulates a write-intensive OLTP workload. Each execution of the procedure inserts, updates, deletes, or selects a random number of rows, from 1 to 100, in a 50,000-row table with a clustered index.&lt;/P&gt;
&lt;P&gt;We executed this stored procedure using a popular &lt;A href="https://github.com/ErikEJ/SqlQueryStress" target="_blank"&gt;SQLQueryStress&lt;/A&gt; tool, with 30 threads and 400 iterations on each thread.&lt;/P&gt;
&lt;img&gt;The SQLQueryStress tool running an OLTP-like workload&lt;/img&gt;
&lt;P&gt;We measured the page density, the number pages in the leaf level of the table’s clustered index, and the number of logical reads (pages) used by a test query reading 1,000 rows, at three points in time:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;After initially inserting the data and before running the workload.&lt;/LI&gt;
&lt;LI&gt;Once the workload stopped running.&lt;/LI&gt;
&lt;LI&gt;Several minutes later, once the background process completed index compaction.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Here are the results:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN lia-align-right"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Before workload&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;After workload&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;After compaction&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Logical reads&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;25 🟢&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1,610 🔴⬆️&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;35 🟢⬇️&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Page density&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;99.51% 🟢&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;52.71% 🔴⬇️&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;96.11% 🟢⬆️&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;Pages&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;962 🟢&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;4,394 🔴⬆️&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;1,065 🟢⬇️&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;Before the workload starts, page density is high because nearly all pages are full. The number of logical reads required by the test query is minimal, and so is its resource consumption.&lt;/P&gt;
&lt;P&gt;The workload leaves a lot of empty space on pages and increases the number of pages because of row updates and deletions, and because of page splits. As a result, immediately after workload completion, the number of logical reads required for the same test query increases more than 60 times, which translates into a higher CPU and memory usage.&lt;/P&gt;
&lt;P&gt;But then within a few minutes, automatic index compaction removes the empty space from the index, increasing page density back to nearly 100%, &lt;STRONG&gt;reducing logical reads by about 98%&lt;/STRONG&gt; and getting the index very close to its initial compact state. Less logical reads means that the query is faster and uses less CPU. &lt;STRONG&gt;All of this without any user action.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With continuous workloads, index compaction is continuous as well, maintaining higher average page density and reducing resource usage by the workload over time.&lt;/P&gt;
&lt;P&gt;The T-SQL code we used in this demo is available in the &lt;A class="lia-internal-link" href="#community--1-appendix" data-lia-auto-title="Appendix" data-lia-auto-title-active="0" target="_blank"&gt;Appendix&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;Automatic index compaction delegates a routine database maintenance operation to the database engine itself, letting administrators and engineers focus on more important work without worrying about index maintenance.&lt;/P&gt;
&lt;P&gt;The public preview is a great opportunity to let us know how this new feature works for you. Please share your feedback and suggestions for any improvements we can make.&lt;/P&gt;
&lt;P&gt;To let us know your thoughts, you can comment on this blog post, leave feedback at &lt;A href="https://aka.ms/sqlfeedback" target="_blank"&gt;https://aka.ms/sqlfeedback&lt;/A&gt;, or email us at sqlaicpreview@microsoft.com.&lt;/P&gt;
&lt;H2 class="lia-linked-item"&gt;&lt;a id="community--1-appendix" class="lia-anchor"&gt;&lt;/a&gt;Appendix&lt;/H2&gt;
&lt;P&gt;Here is the T-SQL code we used to demonstrate automatic index compaction.&lt;/P&gt;
&lt;P&gt;The type of executed statements and the number of affected rows is randomized to better represent an OLTP workload. While the results demonstrate the effectiveness of automatic index compaction, exact measurements may vary from one execution to the next.&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;/* Enable automatic index compaction */
ALTER DATABASE CURRENT SET AUTOMATIC_INDEX_COMPACTION = ON;

/* Reset to the initial state */
DROP TABLE IF EXISTS dbo.t;
DROP SEQUENCE IF EXISTS dbo.s_id;
DROP PROCEDURE IF EXISTS dbo.churn;

/* Create a sequence to generate clustered index keys */
CREATE SEQUENCE dbo.s_id 
AS int
START WITH 1 INCREMENT BY 1;

/* Create a test table */
CREATE TABLE dbo.t
(
id int NOT NULL CONSTRAINT df_t_id DEFAULT (NEXT VALUE FOR dbo.s_id),
dt datetime2 NOT NULL CONSTRAINT df_t_dt DEFAULT (SYSDATETIME()),
u uniqueidentifier NOT NULL CONSTRAINT df_t_uid DEFAULT (NEWID()),
s nvarchar(100) NOT NULL CONSTRAINT df_t_s DEFAULT (REPLICATE('c', 1 + 100 * RAND())),
CONSTRAINT pk_t PRIMARY KEY (id)
);

/* Insert 50,000 rows */
INSERT INTO dbo.t (s)
SELECT REPLICATE('c', 50) AS s
FROM GENERATE_SERIES(1, 50000);
GO

/*
Create a stored procedure that simulates 
a write-intensive OLTP workload.
*/
CREATE OR ALTER PROCEDURE dbo.churn
AS
SET NOCOUNT, XACT_ABORT ON;

DECLARE @r float = RAND(CAST(CAST(NEWID() AS varbinary(4)) AS int));

/* Get the type of statement to execute */
DECLARE @StatementType char(6) = CASE
                                 WHEN @r &amp;lt;= 0.15 THEN 'insert'
                                 WHEN @r &amp;lt;= 0.30 THEN 'delete'
                                 WHEN @r &amp;lt;= 0.65 THEN 'update'
                                 WHEN @r &amp;lt;= 1 THEN 'select'
                                 ELSE NULL
                                 END;

/* Get the maximum key value for the clustered index */
DECLARE @MaxKey int = (
                      SELECT CAST(current_value AS int)
                      FROM sys.sequences
                      WHERE name = 's_id'
                            AND
                            SCHEMA_NAME(schema_id) = 'dbo'
                      );

/* Get a random key value within the key range */
DECLARE @StartKey int = 1 + RAND() * @MaxKey;

/* Get a random number of rows, between 1 and 100, to modify or read */
DECLARE @RowCount int = 1 + RAND() * 99;

/* Execute a statement */

IF @StatementType = 'insert'
INSERT INTO dbo.t (id)
SELECT NEXT VALUE FOR dbo.s_id
FROM GENERATE_SERIES(1, @RowCount);

IF @StatementType = 'delete'
DELETE TOP (@RowCount) dbo.t
WHERE id &amp;gt;= @StartKey;

IF @StatementType = 'update'
UPDATE TOP (@RowCount) dbo.t
SET dt = DEFAULT,
    u = DEFAULT,
    s = DEFAULT
WHERE id &amp;gt;= @StartKey;

IF @StatementType = 'select'
SELECT TOP (@RowCount) id, dt, u, s
FROM dbo.t
WHERE id &amp;gt;= @StartKey;
GO

/*
The remainder of this script is executed three times:

1. Before running the workload using SQLQueryStress.
2. Immediately after the workload stops running. 
3. Once automatic index compaction completes several minutes later.
*/

/*
Monitor page density and the number of pages and records
in the leaf level of the clustered index.
*/
SELECT avg_page_space_used_in_percent AS page_density,
       page_count,
       record_count
FROM sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID('dbo.t'), 1, 1, 'DETAILED')
WHERE index_level = 0;

/* Run a test query and measure its logical reads. */
DROP TABLE IF EXISTS #t;

SET STATISTICS IO ON;

SELECT TOP (1000) id, dt, u, s
INTO #t
FROM dbo.t
WHERE id &amp;gt;= 10000

SET STATISTICS IO OFF;
&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 12:30:29 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/stop-defragmenting-and-start-living-introducing-auto-index/ba-p/4500089</guid>
      <dc:creator>Dimitri_Furman</dc:creator>
      <dc:date>2026-03-18T12:30:29Z</dc:date>
    </item>
    <item>
      <title>Managed Identity Support for Azure SQL Database Import &amp; Export services (preview)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/managed-identity-support-for-azure-sql-database-import-export/ba-p/4498732</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Today&amp;nbsp;we’re&amp;nbsp;announcing&amp;nbsp;a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;public preview&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;that lets Azure SQL Database Import&amp;nbsp;&amp;amp;&amp;nbsp;Export&amp;nbsp;services&amp;nbsp;authenticate with&amp;nbsp;user-assigned&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;managed identity&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&amp;nbsp;Now Azure SQL Databases can perform import and export operations with no passwords, storage&amp;nbsp;keys&amp;nbsp;or SAS tokens.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With this preview, customers can choose to use either a single user-assigned managed identity (UAMI) for both SQL and Storage permissions or assign separate UAMIs, one for the Azure SQL logical server and another for the Storage account, for full separation of duties.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;At a glance:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Run Import/Export using a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;user-assigned managed identity (UAMI).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Use one identity for both SQL and Storage, or split them if you prefer tighter scoping.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Works in the portal, REST, Azure CLI, and PowerShell.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="2"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Why &lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;this matters:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Managed identity support makes SQL migrations simpler and safer, no passwords, storage keys, or SAS tokens. By leveraging managed identity when integrating Import/Export into a pipeline, you streamline access management and enhance security: permissions are granted directly to the identity, reducing manual credential handling and the risk of exposing sensitive information. This keeps operations efficient and secure, without secrets embedded in scripts&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You’ve&amp;nbsp;got two straightforward options:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;One UAMI for everything&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;(simplest setup).&lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;Two UAMIs, &lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;one for SQL and one for Storage, recommended if you wish to maintain more strictly defined permissions.&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="2"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Getting started:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Create a user-assigned managed identity (UAMI)&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Decide up front whether you want one identity end-to-end, or two identities (SQL vs Storage) for separation of duties.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Attach the UAMI to the Azure SQL logical server&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;On the server&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Identity&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;blade, add the UAMI so the Import/Export job can run as that identity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Set the server’s Microsoft Entra ID admin to the UAMI&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;In&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Microsoft Entra ID&amp;nbsp;&amp;gt;&amp;nbsp;Set admin,&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;select the UAMI. This is what lets the workflow authenticate to SQL without a password.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Grant Storage access&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Use&amp;nbsp;Storage Blob Data Reader&amp;nbsp;for import and&amp;nbsp;Storage Blob Data Contributor&amp;nbsp;for export, assigned in&amp;nbsp;Access control (IAM). If you can, scope the assignment to the container that holds the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.bacpac&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Pass resource IDs (not names) in your calls&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;
&lt;P&gt;In REST/CLI/PowerShell, you pass the UAMI&amp;nbsp;&lt;STRONG&gt;resource ID&lt;/STRONG&gt; as the value of &lt;EM&gt;administratorLogin&lt;/EM&gt; (SQL identity) and &lt;EM&gt;storageKey&lt;/EM&gt; (Storage identity), and set &lt;EM&gt;authenticationType&lt;/EM&gt; / &lt;EM&gt;storageKeyType&lt;/EM&gt; to &lt;EM&gt;ManagedIdentity&lt;/EM&gt;.&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;
&lt;P&gt;&lt;EM&gt;administratorLogin → UAMI resource ID used for SQL auth&lt;/EM&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI style="font-style: italic;" aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;
&lt;P&gt;&lt;EM&gt;storageKey → UAMI resource ID used for Storage &lt;/EM&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI style="font-style: italic;" aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;
&lt;P&gt;&lt;EM&gt;authauthenticationType / storageKeyType → ManagedIdentity&lt;/EM&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="6" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Run the import/export job&lt;/SPAN&gt;&amp;nbsp;&lt;BR /&gt;&lt;SPAN data-contrast="auto"&gt;Kick it off from the portal, REST, Azure CLI, or PowerShell. From there, the service uses the identity you selected to reach both SQL and Storage.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P aria-level="3"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Portal experience&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In the Azure portal, you can choose&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Authentication type&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Managed identity&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;and select the user-assigned managed identity to use for the operation.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Figure 1: Azure portal Import/Export experience with Managed identity authentication selected.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Notes&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;201341983&amp;quot;:0,&amp;quot;335559738&amp;quot;:160,&amp;quot;335559739&amp;quot;:80,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;This preview supports&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;user-assigned&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;managed identities (UAMIs).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;For least privilege, scope Storage roles to the specific container used for the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;.bacpac&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; file and use two user-assigned managed identities (UAMIs), one for SQL and one for the storage.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P aria-level="3"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 1: REST API — Export using one UAMI:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;$exportBody = "{
`n  `"storageKeyType`": `"ManagedIdentity`",
`n  `"storageKey`": `"${managedIdentityServerResourceId}`",
`n  `"storageUri`": `"${storageUri}`",
`n  `"administratorLogin`": `"${managedIdentityServerResourceId}`",
`n  `"authenticationType`": `"ManagedIdentity`"
`n}"

$export = Invoke-AzRestMethod -Method POST -Path "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Sql/servers/${serverName}/databases/${databaseName}/export?api-version=2024-05-01-preview" -Payload $exportBody

# Poll operation status
Invoke-AzRestMethod -Method GET $export.Headers.Location.AbsoluteUri&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 2: REST API — Import to a new server using &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;one UAMI:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;$serverName = "sql-mi-demo-target"
$databaseName = "sqldb-mi-demo-target"

# Same UAMI for SQL auth + Storage access
$importBody = "{
`n  `"operationMode`": `"Import`",
`n  `"administratorLogin`": `"${managedIdentityServerResourceId}`",
`n  `"authenticationType`": `"ManagedIdentity`",
`n  `"storageKeyType`": `"ManagedIdentity`",
`n  `"storageKey`": `"${managedIdentityServerResourceId}`",
`n  `"storageUri`": `"${storageUri}`",
`n  `"databaseName`": `"${databaseName}`"
`n}"

$import = Invoke-AzRestMethod -Method POST -Path "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Sql/servers/${serverName}/databases/${databaseName}/import?api-version=2024-05-01-preview" -Payload $importBody

# Poll operation status
Invoke-AzRestMethod -Method GET $import.Headers.Location.AbsoluteUri&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 3: PowerShell — Export using two UAMIs:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;# Server UAMI for SQL auth, Storage UAMI for storage access
New-AzSqlDatabaseExport -ResourceGroupName $resourceGroupName -DatabaseName $databaseName -ServerName $serverName -StorageKeyType ManagedIdentity -StorageKey $managedIdentityStorageResourceId -StorageUri $storageUri -AuthenticationType ManagedIdentity -AdministratorLogin $managedIdentityServerResourceId&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 4: PowerShell — Import to a new server using two UAMIs:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;New-AzSqlDatabaseImport -ResourceGroupName $resourceGroupName -DatabaseName $databaseName -ServerName $serverName -DatabaseMaxSizeBytes $databaseSizeInBytes -StorageKeyType "ManagedIdentity" -StorageKey $managedIdentityStorageResourceId -StorageUri $storageUri -Edition $edition -ServiceObjectiveName $serviceObjectiveName -AdministratorLogin $managedIdentityServerResourceId -AuthenticationType ManagedIdentity&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 5: Azure CLI — Export using two UAMIs:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;az sql db export -s $serverName -n $databaseName -g $resourceGroupName --auth-type ManagedIdentity -u $managedIdentityServerResourceId --storage-key $managedIdentityStorageResourceId --storage-key-type ManagedIdentity --storage-uri $storageUri&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 3"&gt;Sample 6: Azure CLI — Import to a new server using two UAMIs:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;az sql db import -s $serverName -n $databaseName -g $resourceGroupName --auth-type ManagedIdentity -u $managedIdentityServerResourceId --storage-key $managedIdentityStorageResourceId --storage-key-type ManagedIdentity --storage-uri $storageUrib&lt;/LI-CODE&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;For more information and samples, please check &lt;/SPAN&gt;&lt;A href="https://aka.ms/importMIpupr" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Tutorial: Use managed identity with Azure SQL import and export (preview)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 18:05:24 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/managed-identity-support-for-azure-sql-database-import-export/ba-p/4498732</guid>
      <dc:creator>HugoQueiroz_MSFT</dc:creator>
      <dc:date>2026-03-03T18:05:24Z</dc:date>
    </item>
    <item>
      <title>GA of update policy SQL Server 2025 for Azure SQL Managed Instance</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/ga-of-update-policy-sql-server-2025-for-azure-sql-managed/ba-p/4498802</link>
      <description>&lt;P&gt;We’re happy to announce that the update policy&amp;nbsp;&lt;EM&gt;SQL Server 2025&lt;/EM&gt;&amp;nbsp;for Azure SQL Managed Instance is now generally available (GA). &lt;EM&gt;SQL Server 2025&lt;/EM&gt;&amp;nbsp;update policy contains all the latest SQL engine innovation while retaining database portability to the recent major release of SQL Server.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aka.ms/sqlmiupdatepolicydocs" target="_blank" rel="noopener"&gt;Update policy&lt;/A&gt;&amp;nbsp;is an instance configuration option that provides flexibility and allows you to choose between instant access to the latest SQL engine features and fixed SQL engine feature set corresponding to 2022 and 2025 major releases of SQL Server. Regardless of the update policy chosen, you continue to benefit from Azure SQL platform innovation. New features and capabilities not related to the SQL engine – everything that makes Azure SQL Managed Instance a true PaaS service – are successively delivered to your Azure SQL Managed Instance resources.&lt;/P&gt;
&lt;H2&gt;What’s new in SQL Server 2025 update policy&lt;/H2&gt;
&lt;P&gt;In short, instances with update policy&amp;nbsp;&lt;EM&gt;SQL Server 2025&lt;/EM&gt;&amp;nbsp;benefit from all the SQL engine features that were gradually added to the&amp;nbsp;&lt;EM&gt;Always-up-to-date&lt;/EM&gt;&amp;nbsp;policy over the past few years and are not available in the&amp;nbsp;&lt;EM&gt;SQL Server 2022&lt;/EM&gt;&amp;nbsp;update policy. Let’s name few most notable features, with complete list available in the&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/update-policy?view=azuresql&amp;amp;tabs=azure-portal#feature-comparison" target="_blank" rel="noopener"&gt;update policy documentation&lt;/A&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/performance/optimized-locking" target="_blank" rel="noopener"&gt;Optimized locking&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/mirroring/azure-sql-managed-instance" target="_blank" rel="noopener"&gt;Mirroring in Fabric&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/regular-expressions/overview" target="_blank" rel="noopener"&gt;Regular expression functions&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/data-types/vector-data-type" target="_blank" rel="noopener"&gt;Vector data type&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/functions/vector-functions-transact-sql" target="_blank" rel="noopener"&gt;functions&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/data-types/json-data-type" target="_blank" rel="noopener"&gt;JSON data type&lt;/A&gt;&amp;nbsp;and&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/functions/json-arrayagg-transact-sql" target="_blank" rel="noopener"&gt;aggregate functions&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-invoke-external-rest-endpoint-transact-sql" target="_blank" rel="noopener"&gt;Invoking HTTP REST endpoints&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/backup-restore/copy-only-backups-sql-server" target="_blank" rel="noopener"&gt;Manual (copy-only) backup to immutable Azure Blob Storage&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/azuresqlblog/stream-data-in-near-real-time-from-sql-to-azure-event-hubs---public-preview/4470724" target="_blank" rel="noopener" data-lia-auto-title="Change Event Streaming (private preview)" data-lia-auto-title-active="0"&gt;Change Event Streaming (private preview)&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Update policy for each modernization strategy&lt;/H2&gt;
&lt;P&gt;&lt;EM&gt;Always-up-to-date&lt;/EM&gt;&amp;nbsp;is a “perpetual” update policy. It has no end of lifetime and brings new SQL engine features to instances as soon as they are available in Azure. It enables you to always be at the forefront - to quickly adopt new yet production-ready SQL engine features, benefit from them in everyday operations and keep a competitive edge without waiting for the next major release of SQL Server.&lt;/P&gt;
&lt;P&gt;In contrast, update policies&amp;nbsp;&lt;EM&gt;SQL Server 2025&lt;/EM&gt;&amp;nbsp;and&amp;nbsp;&lt;EM&gt;SQL Server 2022&lt;/EM&gt;&amp;nbsp;contain fixed sets of SQL engine features corresponding to the respective releases of SQL Server. They’re optimized to fulfill regulatory compliance, contractual, or other requirements for database/workload portability from managed instance to SQL Server. Over time, they get security patches, fixes, and incremental functional improvements in form of Cumulative Updates, but not new SQL engine features. They also have limited lifetime, aligned with the period of mainstream support of SQL Server releases. As the end of mainstream support for the update policy approaches, you should upgrade instances to a newer policy. Instances will be &lt;STRONG&gt;automatically upgraded&lt;/STRONG&gt; to the next more recent update policy at the end of mainstream support of their existing update policy.&lt;/P&gt;
&lt;H2&gt;Best practices with the Update policy feature&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;Plan for the&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/lifecycle/products/azure-sql-managed-instance" target="_blank" rel="noopener"&gt;end of lifetime&lt;/A&gt;&amp;nbsp;of&amp;nbsp;&lt;EM&gt;SQL Server 2022&lt;/EM&gt;&amp;nbsp;update policy if you’re using it today, and upgrade to a newer policy on your terms before automatic upgrade kicks in. Choose between &lt;EM&gt;Always-up-to-date&lt;/EM&gt; and SQL Server 2025&amp;nbsp;update policy.&lt;/LI&gt;
&lt;LI&gt;Make sure to add update policy configuration to your&amp;nbsp;&lt;STRONG&gt;deployment templates and scripts&lt;/STRONG&gt;, so that you don’t rely on service defaults that may change in the future.&lt;/LI&gt;
&lt;LI&gt;Be aware that using some of the newly introduced features may require changing the&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/databases/view-or-change-the-compatibility-level-of-a-database" target="_blank" rel="noopener"&gt;database compatibility level&lt;/A&gt;. Consult feature documentation for details.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;What’s coming next&lt;/H2&gt;
&lt;P&gt;&lt;EM&gt;SQL Server 2025&lt;/EM&gt; will become the default update policy in Azure portal during March 2026.&lt;/P&gt;
&lt;P&gt;Future versions of REST API, PowerShell and CLI will also have the default value changed to &lt;EM&gt;SQL Server 2025 &lt;/EM&gt;for the „database format“ parameter which corresponds to the instance’s update policy.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;SQL Server 2022 &lt;/EM&gt;policy will reach end of lifetime on January 11, 2028 when the &lt;A href="https://learn.microsoft.com/en-us/lifecycle/products/sql-server-2022" target="_blank" rel="noopener"&gt;mainstream support for SQL Server 2022&lt;/A&gt; ends. Plan timely and change the update policy of your instances before that date.&lt;/P&gt;
&lt;img&gt;Update policy transitions&lt;/img&gt;
&lt;H2&gt;Summary&lt;/H2&gt;
&lt;P&gt;Update policy&amp;nbsp;&lt;EM&gt;SQL Server 2025 &lt;/EM&gt;for Azure SQL Managed Instance is now&lt;EM&gt; &lt;/EM&gt;&lt;STRONG&gt;generally available&lt;/STRONG&gt;. It brings the same set of SQL engine features that exist in the new SQL Server 2025. Consider it if you have regulatory compliance, contractual, or other reasons for database/workload portability from Azure SQL Managed Instance to SQL Server 2025. Otherwise, use the &lt;EM&gt;Always-up-to-date&lt;/EM&gt; policy which always provides the latest features and benefits available to Azure SQL Managed Instance.&lt;/P&gt;
&lt;P&gt;If your instances are currently configured with &lt;EM&gt;SQL Server 2022&lt;/EM&gt; update policy, &lt;STRONG&gt;update them to a newer policy&lt;/STRONG&gt; before the end of mainstream support.&lt;/P&gt;
&lt;P&gt;For more details visit&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/update-policy?view=azuresql&amp;amp;tabs=azure-portal" target="_blank" rel="noopener"&gt;Update policy documentation&lt;/A&gt;. To stay up to date with the latest feature additions to Azure SQL Managed Instance, subscribe to the&amp;nbsp;&lt;A href="https://www.youtube.com/@AzureSQL" target="_blank" rel="noopener"&gt;Azure SQL video channel&lt;/A&gt;, subscribe to the&amp;nbsp;&lt;A href="https://techcommunity.microsoft.com/t5/azure-sql-blog/bg-p/AzureSQLBlog" target="_blank" rel="noopener"&gt;Azure SQL Blog&lt;/A&gt;&amp;nbsp;feed, or bookmark&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/doc-changes-updates-release-notes-whats-new" target="_blank" rel="noopener"&gt;What’s new in Azure SQL Managed Instance&lt;/A&gt; article with regular updates.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Mar 2026 00:22:29 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/ga-of-update-policy-sql-server-2025-for-azure-sql-managed/ba-p/4498802</guid>
      <dc:creator>Mladen_Andzic</dc:creator>
      <dc:date>2026-03-03T00:22:29Z</dc:date>
    </item>
    <item>
      <title>Why Developers and DBAs love SQL’s Dynamic Data Masking (Series-Part 1)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/why-developers-and-dbas-love-sql-s-dynamic-data-masking-series/ba-p/4498450</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Dynamic Data Masking (DDM) is one of those SQL features (available in SQL Server, Azure SQL DB, Azure SQL MI, SQL Database in Microsoft Fabric) that both developers and DBAs can rally behind. Why? Because it delivers a simple, built-in way to protect sensitive data—like phone numbers, emails, or IDs—without rewriting application logic or duplicating security rules across layers. With just a single line of T-SQL, you can configure masking directly at the column level, ensuring that non-privileged users see only obfuscated values while privileged users retain full access. This not only streamlines development but also supports compliance with data privacy regulations like GDPR and HIPAA, etc. by minimizing exposure to personally identifiable information (PII).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In this first post of our DDM series, we’ll walk through a real-world scenario using the default masking function to show how easy it is to implement and how much development effort it can save.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Scenario: Hiding customer phone numbers from support queries&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Imagine you have a support application where agents can look up customer profiles. They need to&amp;nbsp;know if&amp;nbsp;a phone number exists for the&amp;nbsp;customer but&amp;nbsp;shouldn’t&amp;nbsp;see the actual digits for privacy. In a traditional approach, a developer might implement custom logic in the app (or a SQL view) to replace phone numbers with placeholders like “XXXX” for non-privileged users. This adds complexity and duplicate logic across the app.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With DDM’s default masking, the database can handle this automatically.&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;By applying a mask to the phone number column, any query by a non-privileged user will return a generic masked value (e.g.&amp;nbsp;“XXXX”) instead of the real number. The support agent gets the information they need (that a number is on file) without revealing the actual phone number, and the developer writes&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;zero&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;masking code in the app.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;This not only simplifies the application codebase but also ensures consistent data protection across all query access paths. As Microsoft’s documentation puts it, DDM lets you control how much sensitive data to reveal&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;“with minimal effect on the application layer”&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;– exactly what our scenario achieves.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Using the ‘Default’ Mask in T-SQL :&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The ‘Default’ masking function is the simplest mask: it fully replaces the actual value with a fixed default based on data type. For text data, that default is XXXX.&amp;nbsp;Let’s&amp;nbsp;apply this to our phone&amp;nbsp;number&amp;nbsp;example. The&amp;nbsp;following T-SQL snippet&amp;nbsp;works in Azure SQL Database, Azure SQL&amp;nbsp;MI&amp;nbsp;and SQL Server:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;SQL&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;-- Step 1: Create the table with a default mask on the Phone column&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;CREATE TABLE&amp;nbsp;SupportCustomers&amp;nbsp;(&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;   &amp;nbsp;CustomerID   INT PRIMARY KEY,&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;    Name        &amp;nbsp;NVARCHAR(100),&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;    Phone       &amp;nbsp;NVARCHAR(15) MASKED WITH (FUNCTION = 'default()')  --&amp;nbsp;Apply default masking&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;);&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;GO&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;-- Step 2: Insert sample data&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;INSERT INTO&amp;nbsp;SupportCustomers&amp;nbsp;(CustomerID, Name, Phone)&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;VALUES (1, 'Alice Johnson', '222-555-1234');&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;GO&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;-- Step 3: Create a non-privileged user (no login for simplicity)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;CREATE USER&amp;nbsp;SupportAgent&amp;nbsp;WITHOUT LOGIN;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;GO&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;-- Step 4: Grant SELECT permission on the table to the user&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;GRANT SELECT ON&amp;nbsp;SupportCustomers&amp;nbsp;TO&amp;nbsp;SupportAgent;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;GO&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;-- Step 5: Execute a SELECT as the non-privileged user&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;EXECUTE AS USER = 'SupportAgent';&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;SPAN data-contrast="auto"&gt;SELECT Name, Phone FROM&amp;nbsp;SupportCustomers&amp;nbsp;WHERE&amp;nbsp;CustomerID&amp;nbsp;= 1&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Alternatively, you can use Azure Portal to configure masking as shown in the following screenshot:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Expected result:&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;The query above would return Alice’s name and a masked phone number. Instead of seeing&amp;nbsp;222-555-1234, the Phone column would show XXXX. Alice’s actual number&amp;nbsp;remains&amp;nbsp;safely stored in the database, but&amp;nbsp;it’s&amp;nbsp;dynamically obscured for the support agent’s query.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Meanwhile, privileged users such as administrator or db_owner which has CONTROL permission on the database or user with proper UNMASK permission would see the real phone number when running the same query.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;How this helps Developers :&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;By pushing the masking logic down to the database, developers and DBAs avoid writing repetitive masking code in every app or report that touches this data. In our scenario, without DDM you might implement a check in the application like:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;If&amp;nbsp;user_role&amp;nbsp;== “Support”,&amp;nbsp;then show “XXXX” for phone number, else show full phone.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With DDM, such conditional code&amp;nbsp;isn’t&amp;nbsp;needed – the database takes care of it. This means:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Less application code&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to write and&amp;nbsp;maintain&amp;nbsp;for masking&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Consistent masking&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;everywhere (whether data is accessed via app, report, or ad-hoc query).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Quick changes&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;to masking rules in one place if requirements change, without hunting through application code.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;From a security standpoint, DDM reduces the risk of accidental data exposure and helps in compliance scenarios where personal data must be protected in lower environments or by certain roles, while reducing the developer effort drastically.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;In the next posts of this series, we’ll explore other masking functions (like Email, Partial, and Random etc) with different scenarios. By the end, you’ll see how each built-in mask can be applied to make data security and compliance more developer-friendly!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Reference Links :&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/security/dynamic-data-masking?view=sql-server-ver17" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Dynamic Data Masking - SQL Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/dynamic-data-masking-overview?view=azuresql" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Dynamic Data Masking - Azure SQL Database &amp;amp; Azure SQL Managed Instance &amp;amp; Azure Synapse Analytics | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Mar 2026 10:17:08 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/why-developers-and-dbas-love-sql-s-dynamic-data-masking-series/ba-p/4498450</guid>
      <dc:creator>MadhumitaTripathyMSFT</dc:creator>
      <dc:date>2026-03-02T10:17:08Z</dc:date>
    </item>
    <item>
      <title>Multiple secondaries for failover groups is now in public preview</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/multiple-secondaries-for-failover-groups-is-now-in-public/ba-p/4489005</link>
      <description>&lt;P&gt;Failover groups for Azure SQL Database is a business continuity solution that lets you manage the replication and failover of databases to another Azure SQL logical server.&amp;nbsp; With failover groups, you get automatic endpoint redirection, so you don't have to change the connection string for your application after a geo-failover—connections are automatically routed to the current primary.&amp;nbsp; Until now, Azure SQL failover groups have only supported one secondary.&lt;/P&gt;
&lt;P&gt;We're excited to announce that Azure SQL Database failover groups support for up to &lt;STRONG&gt;four secondaries&lt;/STRONG&gt;&amp;nbsp;is now available in public preview. This enhancement gives you greater flexibility for disaster recovery, regional read scale-out, and complex high-availability scenarios.&lt;/P&gt;
&lt;H4&gt;What's New?&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Create up to&amp;nbsp;&lt;STRONG&gt;four secondaries&lt;/STRONG&gt;&amp;nbsp;for each failover group, deployed across the same or different Azure regions.&lt;/LI&gt;
&lt;LI&gt;Use the additional secondaries to add&amp;nbsp;&lt;STRONG&gt;read scale-out capabilities&lt;/STRONG&gt; to additional regions, adding flexibility for read-only workloads.&lt;/LI&gt;
&lt;LI&gt;Greater flexibility for&amp;nbsp;&lt;STRONG&gt;disaster recovery planning&lt;/STRONG&gt;&amp;nbsp;with multiple failover targets.&lt;/LI&gt;
&lt;LI&gt;Improved &lt;STRONG&gt;resilience&lt;/STRONG&gt;&amp;nbsp;by distributing secondaries across multiple geographic regions.&lt;/LI&gt;
&lt;LI&gt;Facilitate &lt;STRONG&gt;migration&lt;/STRONG&gt; to another region without sacrificing existing disaster recovery protection.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;How to Get Started&lt;/H4&gt;
&lt;P&gt;Getting started with multiple secondaries in Azure SQL failover groups is straightforward.&lt;/P&gt;
&lt;P&gt;In the Azure Portal, the process to create a failover group remains the same.&amp;nbsp; You can add additional secondaries using the process below.&lt;/P&gt;
&lt;H5&gt;Adding Additional Secondary Servers to a Failover Group in the Portal&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;Go to your Azure SQL Database logical server in the Azure portal.&lt;/LI&gt;
&lt;LI&gt;Open the&amp;nbsp;&lt;STRONG&gt;"Failover groups"&lt;/STRONG&gt; blade under&amp;nbsp;&lt;STRONG&gt;"Data management"&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Select an existing failover group.&lt;/LI&gt;
&lt;LI&gt;Click the&amp;nbsp;&lt;STRONG&gt;"Add server"&lt;/STRONG&gt;&amp;nbsp;menu item to add additional secondary servers.&lt;/LI&gt;
&lt;LI&gt;A side panel opens displaying the list of secondary servers and a dropdown to select which server should operate as the&amp;nbsp;&lt;STRONG&gt;read-only listener endpoint target&lt;/STRONG&gt;.&amp;nbsp; The additional secondary server can be in the same or different Azure region as the primary.&lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;NOTE&lt;/STRONG&gt;: The read-only listener endpoint dropdown lists all existing secondary servers as well as the secondary server being added. This allows you to designate which secondary server should receive read-only traffic routed through the `&amp;lt;fog-name&amp;gt;.secondary.database.windows.net` endpoint. However, the server selected as the read-only listener endpoint target&amp;nbsp;&lt;STRONG&gt;should not be in the same region as the primary server&lt;/STRONG&gt;&amp;nbsp;if you intend to serve read workloads with that endpoint.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img&gt;Adding an additional secondary to your failover group and specifying the read-only listener endpoint target&lt;/img&gt;
&lt;OL start="6"&gt;
&lt;LI&gt;After selecting the additional secondary and specifying your read-only listener endpoint target, click "Select" on the side panel and click "Save" in the main menu to apply your failover group configuration.&amp;nbsp; The additional secondary will be added and seeding of databases in the failover group will begin to that additional secondary.&amp;nbsp; You can modify your read-only listener endpoint target with the "Edit configuration" menu option.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img&gt;Save the configuration for the failover group with the newly added secondary&lt;/img&gt;&lt;img&gt;Databases in the failover group will begin seeding to the newly added secondary&lt;/img&gt;
&lt;P&gt;&lt;STRONG&gt;TIP&lt;/STRONG&gt;: If you want zone redundancy enabled for the secondary databases, ensure that the secondary servers are in regions that support availability zones and configure the zone redundancy setting appropriately.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Using PowerShell&lt;/H4&gt;
&lt;P&gt;Creating a failover group with multiple secondaries can also be done with PowerShell.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example - Create a failover group with multiple secondaries:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;New-AzSqlDatabaseFailoverGroup `
   -ResourceGroupName "myrg" `
   -ServerName "primaryserver" `
   -PartnerServerName "secondaryserver1" `
   -FailoverGroupName "myfailovergroup" `
   -FailoverPolicy "Manual" `
   -PartnerServerList @("secondary_uri_1", "secondary_uri_2", "secondary_uri_3", "secondary_uri_4") `
   -ReadOnlyEndpointTargetServer "secondary_uri_1"

where "secondary_uri_n" is in the form below and secondaryserver1 is also included in the list
"/subscriptions/your_sub_guid/resourceGroups/your_resource_group/providers/Microsoft.Sql/servers/your_server_name"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example - Add additional secondary servers to an existing failover group:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Set-AzSqlDatabaseFailoverGroup `
   -ResourceGroupName "myrg" `
   -ServerName "primaryserver" `
   -FailoverGroupName "myfailovergroup" `
   -FailoverPolicy "Manual" `
   -PartnerServerList @("secondary_uri_1", "secondary_uri_2", "secondary_uri_3", "secondary_uri_4") `
   -ReadOnlyEndpointTargetServer "secondary_uri_1"

where "secondary_uri_n" is in the form below and secondaryserver1 is also included in the list
"/subscriptions/your_sub_guid/resourceGroups/your_resource_group/providers/Microsoft.Sql/servers/your_server_name"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;Performing a Failover&lt;/H4&gt;
&lt;P&gt;With multiple secondaries, you can choose which secondary to promote to primary during a failover.&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;Using the Portal&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;Navigate to your SQL server's&amp;nbsp;&lt;STRONG&gt;Failover groups&lt;/STRONG&gt;&amp;nbsp;blade.&lt;/LI&gt;
&lt;LI&gt;Select the failover group you want to fail over.&lt;/LI&gt;
&lt;LI&gt;In the servers list, locate the secondary server you want to promote.&lt;/LI&gt;
&lt;LI&gt;Click the&amp;nbsp;&lt;STRONG&gt;ellipsis menu (...)&lt;/STRONG&gt;&amp;nbsp;next to the server.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img&gt;Use the ellipsis menu for failover options and to remove a server from the failover group&lt;/img&gt;
&lt;OL start="5"&gt;
&lt;LI&gt;Select&amp;nbsp;&lt;STRONG&gt;Failover&lt;/STRONG&gt; for a planned failover (with full data synchronization) or&amp;nbsp;&lt;STRONG&gt;Forced failover&lt;/STRONG&gt;&amp;nbsp;for an unplanned failover (potential data loss).&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;TIP&lt;/STRONG&gt;: The ellipsis menu also includes a&amp;nbsp;&lt;STRONG&gt;Remove server&lt;/STRONG&gt; option, allowing you to remove a secondary server from the failover group.&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;Using PowerShell&lt;/H5&gt;
&lt;P&gt;For PowerShell, use the `Switch-AzSqlDatabaseFailoverGroup` cmdlet to perform a failover.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Switch-AzSqlDatabaseFailoverGroup `
   -ResourceGroupName "myrg" `
   -ServerName "secondaryserver1" `
   -FailoverGroupName "myfailovergroup"&lt;/LI-CODE&gt;
&lt;H4&gt;Key Benefits&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Enhanced Disaster Recovery&lt;/STRONG&gt; - Multiple geo-secondaries provide additional failover targets, reducing the risk of total service disruption.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Regional Read Scale-Out&amp;nbsp;&lt;/STRONG&gt;- Distribute read-only workloads across multiple regions.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Flexible HA/DR Architecture&amp;nbsp;&lt;/STRONG&gt;- Design your high-availability architecture based on your specific business requirements.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Ease migrations to another region&lt;/STRONG&gt; - Leverage the additional secondary to migrate to a different Azure region while maintaining DR protection.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Limitations &amp;amp; Notes&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;You can create up to &lt;STRONG&gt;four secondaries&lt;/STRONG&gt;&amp;nbsp;per failover group.&lt;/LI&gt;
&lt;LI&gt;Each secondary must be hosted on a &lt;STRONG&gt;different logical server&lt;/STRONG&gt; from the primary.&lt;/LI&gt;
&lt;LI&gt;Secondary servers can be in the same region as the primary or in different regions.&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;read-only listener endpoint target&lt;/STRONG&gt; must be in a different region from the primary if you want to make use of the read-only listener for read workloads.&lt;/LI&gt;
&lt;LI&gt;The failover group name must be globally unique&amp;nbsp;within the `.database.windows.net` domain.&lt;/LI&gt;
&lt;LI&gt;Chaining (creating a geo-replica of a geo-replica) is not supported.&lt;/LI&gt;
&lt;LI&gt;Secondary databases in a failover group inherit the backup storage redundancy and zone redundancy configuration from the primary, depending on the service tier.&lt;/LI&gt;
&lt;LI&gt;For non-Hyperscale databases: Secondary databases will not have high availability (zone redundancy) enabled by default. Enable it after the failover group is created.&lt;/LI&gt;
&lt;LI&gt;For Hyperscale databases: Secondary databases inherit the high availability settings from their respective primary databases.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;Best Practices&lt;/H4&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Use paired regions&lt;/STRONG&gt;&amp;nbsp;when possible—failover groups in paired regions have better performance compared to unpaired regions.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Test your failover procedures&lt;/STRONG&gt;&amp;nbsp;regularly using planned failovers to ensure your disaster recovery plan works as expected.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Monitor replication lag&lt;/STRONG&gt; using `sys.dm_geo_replication_link_status` or the Replication Lag metric in Azure Monitor to ensure your secondaries are synchronized.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Consider your RTO and RPO requirements&lt;/STRONG&gt;&amp;nbsp;when designing your failover group architecture.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Use the read-write listener&lt;/STRONG&gt; (`&amp;lt;fog-name&amp;gt;.database.windows.net`) for write workloads and the &lt;STRONG&gt;read-only listener&lt;/STRONG&gt; (`&amp;lt;fog-name&amp;gt;.secondary.database.windows.net`) for read workloads to take advantage of the automatic endpoint redirection after failovers.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Use customer-managed failover group policy&lt;/STRONG&gt; to ensure your RTO and RPO are in your control.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H4&gt;Frequently Asked Questions&lt;/H4&gt;
&lt;OL&gt;
&lt;LI&gt;What services tiers are supported for multiple secondaries in failover group?&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;The following service tiers are supported:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Standard&lt;/LI&gt;
&lt;LI&gt;General Purpose&lt;/LI&gt;
&lt;LI&gt;Premium&lt;/LI&gt;
&lt;LI&gt;Business Critical&lt;/LI&gt;
&lt;LI&gt;Hyperscale&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;When there is more than one secondary, how does read only endpoint work?&lt;/P&gt;
&lt;P&gt;While creating a failover group with more than one secondary you must designate one of the secondaries as the read only endpoint target.&amp;nbsp; All read only connections will be routed to the designated secondary.&lt;/P&gt;
&lt;P&gt;If a failover group is created with just one secondary, then the read only endpoint will default to the only available secondary.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If I have created multiple secondaries for failover group, can I update the read only endpoint at any time?&lt;BR /&gt;&lt;BR /&gt;Yes, you can "Edit configuration" in the portal or use PowerShell to change the read-only listener endpoint target.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;How does Auto DR work when multiple secondaries exist for a failover group?&lt;/P&gt;
&lt;P&gt;The primary server (read write endpoint) and secondary server (designated as read only endpoint) will be used as a pair for Auto DR failover and endpoints will be swapped upon failover.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H4&gt;Learn More&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/failover-group-sql-db?view=azuresql" target="_blank" rel="noopener"&gt;Failover groups overview &amp;amp; best practices - Azure SQL Database | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/failover-group-configure-sql-db?view=azuresql&amp;amp;tabs=azure-portal%2Cazure-powershell-manage&amp;amp;pivots=azure-sql-single-db" target="_blank" rel="noopener"&gt;Configure a failover group for Azure SQL Database | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/active-geo-replication-overview?view=azuresql" target="_blank" rel="noopener"&gt;Active Geo-Replication - Azure SQL Database | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/database/business-continuity-high-availability-disaster-recover-hadr-overview?view=azuresql" target="_blank" rel="noopener"&gt;Business continuity overview - Azure SQL Database | Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="http://learn.microsoft.com/en-us/powershell/module/az.sql/new-azsqldatabasefailovergroup?view=azps-15.2.0" target="_blank" rel="noopener"&gt;PowerShell - New Failover Group&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="http://learn.microsoft.com/en-us/powershell/module/az.sql/set-azsqldatabasefailovergroup?view=azps-15.2.0" target="_blank" rel="noopener"&gt;PowerShell - Modify Failover Group&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-external-url" href="http://learn.microsoft.com/en-us/powershell/module/az.sql/switch-azsqldatabasefailovergroup?view=azps-15.2.0" target="_blank" rel="noopener"&gt;PowerShell - Perform a failover&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jan 2026 16:52:54 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/multiple-secondaries-for-failover-groups-is-now-in-public/ba-p/4489005</guid>
      <dc:creator>mhyon</dc:creator>
      <dc:date>2026-01-30T16:52:54Z</dc:date>
    </item>
    <item>
      <title>Why ledger verification is non-negotiable</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/why-ledger-verification-is-non-negotiable/ba-p/4485290</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Data integrity isn’t just a buzzword, it’s the backbone of trust in any database system. With&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/relational-databases/security/ledger/ledger-overview?view=sql-server-ver16&amp;amp;preserve-view=true" target="_blank" rel="noopener"&gt;the&amp;nbsp;ledger functionality&amp;nbsp;in Azure SQL and SQL Server&lt;/A&gt;, organizations have a powerful way to ensure their data hasn’t been tampered with. But here’s the catch: &lt;STRONG&gt;&lt;U&gt;many customers implement ledger tables yet skip the critical step of running the ledger verification procedure&lt;/U&gt;&lt;/STRONG&gt;. This oversight can leave your data vulnerable and your compliance posture shaky.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-ccp-props="{}"&gt;What is a database digest?&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;Ledger is a feature that allows SQL Server, Azure SQL Database or Azure SQL Managed Instance to cryptographically link transactions in a tamper-evident manner. Think of it as a blockchain-like mechanism inside your database: every transaction is hashed and chained, creating a block. The hash of the latest block in the database ledger is called &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/relational-databases/security/ledger/ledger-digest-management?view=sql-server-ver16&amp;amp;preserve-view=true" target="_blank" rel="noopener"&gt;the database digest&lt;/A&gt;. It represents the state of all ledger tables in the database at the time when the block was generated. These digests can be stored externally, such as in &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/storage/blobs/immutable-storage-overview" target="_blank"&gt;immutable storage&lt;/A&gt; or &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/confidential-ledger/overview" target="_blank"&gt;Azure Confidential Ledger&lt;/A&gt;, to prevent tampering, providing an independent proof of integrity.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;H2&gt;&lt;SPAN data-ccp-props="{}"&gt;How does ledger verification work?&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;The &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/relational-databases/security/ledger/ledger-database-verification?view=sql-server-ver16" target="_blank" rel="noopener"&gt;ledger verification&lt;/A&gt; procedure compares the current state of your ledger tables against the stored digests. It recalculates hashes and validates the chain to confirm that no unauthorized changes have occurred. Without this step, you’re essentially trusting the ledger without verifying it, a dangerous assumption in environments where compliance and security matter.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can launch the verification by running the following stored procedure:&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;DECLARE @digest_locations NVARCHAR(MAX) = (SELECT * FROM sys.database_ledger_digest_locations FOR JSON AUTO, INCLUDE_NULL_VALUES); 
SELECT @digest_locations as digest_locations; 
BEGIN TRY 
        EXEC sys.sp_verify_database_ledger_from_digest_storage @digest_locations; 
        SELECT 'Ledger verification succeeded.' AS Result; 
END TRY 
BEGIN CATCH 
        THROW; 
END CATCH&lt;/LI-CODE&gt;
&lt;H2&gt;Why skipping verification is risky&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Many organizations assume that enabling ledger tables is enough. It’s not. If you don’t run verification:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;Tampering&amp;nbsp;goes&amp;nbsp;undetected:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;A malicious actor could alter historical data without triggering alarms.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Compliance&amp;nbsp;gaps:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;Regulatory frameworks often require proof of integrity, not just theoretical guarantees.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;False&amp;nbsp;sense of&amp;nbsp;security:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; Ledger without verification is like encryption without key management, half a solution.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;&lt;SPAN data-ccp-props="{}"&gt;Benefits of regular verification&lt;/SPAN&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Assurance of data integrity:&lt;/STRONG&gt; Confirms that your ledger is intact and trustworthy.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Audit readiness:&lt;/STRONG&gt; Provides verifiable evidence for compliance audits.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Early detection:&lt;/STRONG&gt; Identifies anomalies before they become catastrophic breaches.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Call to action&lt;/H2&gt;
&lt;P&gt;If you’re using ledger tables in SQL Server or Azure SQL, &lt;U&gt;&lt;STRONG&gt;make verification part of your operational routine&lt;/STRONG&gt;&lt;/U&gt;. Schedule it. Automate it. Treat it as essential, not optional. Your data, your compliance, and your reputation depend on it.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Jan 2026 10:28:01 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/why-ledger-verification-is-non-negotiable/ba-p/4485290</guid>
      <dc:creator>PieterVanhove</dc:creator>
      <dc:date>2026-01-13T10:28:01Z</dc:date>
    </item>
    <item>
      <title>2025 Year in Review: What’s new across SQL Server, Azure SQL and SQL database in Fabric</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/2025-year-in-review-what-s-new-across-sql-server-azure-sql-and/ba-p/4477514</link>
      <description>&lt;P&gt;What a year 2025 has been for SQL! ICYMI and are looking for some hype, might I recommend you start with this blog from Priya Sathy, the product leader for all of SQL at Microsoft:&amp;nbsp;&lt;A href="https://www.microsoft.com/en-us/sql-server/blog/2025/11/18/one-consistent-sql-the-launchpad-from-legacy-to-innovation/" target="_blank" rel="noopener"&gt;One consistent SQL: The launchpad from legacy to innovation&lt;/A&gt;. In this blog post, Priya explains how we have developed and continue to develop one consistent SQL which “unifies your data estate, bringing platform consistency, performance at scale, advanced security, and AI-ready tools together in one seamless experience and creates one home for your SQL workloads in the era of AI.”&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For the FIFTH(!!) year in a row (my heart is warm with the number, I love SQL and #SQLfamily, and time is flying), I am sharing my annual Year in Review blog with all the SQL Server, Azure SQL and SQL database in Fabric news this year. Of course, you can catch weekly episodes related to what’s new and diving deeper on the Azure SQL YouTube channel at&amp;nbsp;&lt;A href="https://aka.ms/AzureSQLYT" target="_blank" rel="noopener"&gt;aka.ms/AzureSQLYT&lt;/A&gt;. This year, in addition to Data Exposed (52 new episodes and over 70K views!). We saw many new series related to areas like GitHub Copilot, SSMS, VS Code, and Azure SQL Managed Instance land in the channel, in addition to Data Exposed.&lt;/P&gt;
&lt;H2&gt;Microsoft Ignite announcements&lt;/H2&gt;
&lt;P&gt;Of course, if you’re looking for the latest announcements from Microsoft Ignite, Bob Ward and I compiled this slide of highlights.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Comprehensive list of 2025 updates&lt;/H2&gt;
&lt;P&gt;You can read this blog (or use AI to reference it later) to get all the updates and references from the year (so much happened at Ignite but before it too!). Here’s all the updates from the year:&lt;/P&gt;
&lt;H3&gt;SQL Server, Arc-enabled SQL Server, and SQL Server on Azure VMs&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/sql-server-2025-is-now-generally-available/4470570" target="_blank" rel="noopener"&gt;SQL Server 2025 is Now Generally Available&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/general-availability-announcement-of-backuprestore-capabilities-in-sql-server-20/4467065" target="_blank" rel="noopener"&gt;Backup/Restore capabilities in SQL Server 2025&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/sql-server-2025-deeply-integrated-and-feature-rich-on-linux/4471068" target="_blank" rel="noopener"&gt;SQL Server 2025: Deeply Integrated and Feature-rich on Linux&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/resource-governor---a-new-beginning/4470025" target="_blank" rel="noopener"&gt;Resource Governor for Standard Edition&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/reimagining-data-excellence-sql-server-2025-accelerated-by-pure-storage/4470810" target="_blank" rel="noopener"&gt;Reimagining Data Excellence: SQL Server 2025 Accelerated by Pure Storage&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/security-update-for-sql-server-2022-rtm-cu21/4469060" target="_blank" rel="noopener"&gt;Security Update for SQL Server 2022 RTM CU21&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/cumulative-update-22-for-sql-server-2022-rtm/4469670" target="_blank" rel="noopener"&gt;Cumulative Update #22 for SQL Server 2022 RTM&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/whats-new-in-the-backuprestore-area-in-sql-server-2025/4474613" target="_blank" rel="noopener"&gt;Backup/Restore enhancements in SQL Server 2025&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/unified-configuration-and-governance-for-azure-windows-server-and-linux-server/4469769" target="_blank" rel="noopener"&gt;Unified configuration and governance&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/expanding-azure-arc-for-hybrid-and-multicloud-management/4470656" target="_blank" rel="noopener"&gt;Expanding Azure Arc for Hybrid and Multicloud Management&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/sql-server-enabled-by-azure-arc-is-now-generally-available-in-the-us-government-/4443077" target="_blank" rel="noopener"&gt;US Government Virginia region support&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/azure/azure-sql/virtual-machines/windows/storage-performance-analysis?view=azuresql" target="_blank" rel="noopener"&gt;I/O Analysis for SQL Server on Azure VMs&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/unlocking-enterprise-ai-sql-server-2025-and-nvidia-nemotron-rag-accelerate-ai/4470790" target="_blank" rel="noopener"&gt;NVIDIA Nemotron RAG Integration&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/accelerate-your-cloud-migration-journey-with-azure-arc-resource-discovery-in-azu/4469975" target="_blank" rel="noopener"&gt;Azure Arc resource discovery in Azure Migrate&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/public-preview-multicloud-connector-support-for-google-cloud/4470700" target="_blank" rel="noopener"&gt;Multicloud connector support for Google Cloud&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Migrations&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/sql-server-migration-in-azure-arc-%E2%80%93-generally-available/4471020" target="_blank" rel="noopener"&gt;SQL Server migration in Azure Arc&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/announcing-the-azure-database-migration-service-hub-experience/4454900" target="_blank" rel="noopener"&gt;Azure Database Migration Service Hub Experience&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/release-announcement-of-sql-server-migration-assistant-ssma-v10-3/4454953" target="_blank" rel="noopener"&gt;SQL Server Migration Assistant (SSMA) v10.3, including Db2 SKU recommendation (preview)&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/general-availability---dmss-powershell-azure-cli-and-python-sdk/4461650" target="_blank" rel="noopener"&gt;Database Migration Service: PowerShell, Azure CLI, and Python SDK&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/release-announcement-of-sql-server-migration-assistant-ssma-v10-4/4469378" target="_blank" rel="noopener"&gt;SQL Server Migration Assistant (SSMA) v10.4, including SQL Server 2025 support, Oracle conversion Copilot&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/microsoftdatamigration/general-availability---schema-migration-support-in-azure-database-migration-serv/4439569" target="_blank" rel="noopener"&gt;Schema migration support in Azure Database Migration Service&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azurearcblog/accelerate-your-cloud-migration-journey-with-azure-arc-resource-discovery-in-azu/4469975" target="_blank" rel="noopener"&gt;Azure Arc resource discovery in Azure Migrate&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&amp;nbsp;&lt;/H3&gt;
&lt;H3&gt;Azure SQL Managed Instance&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/generally-available-azure-sql-managed-instance-next-gen-general-purpose/4470970" target="_blank" rel="noopener"&gt;Next-gen General Purpose Service Tier&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/improved-connectivity-types-in-azure-sql-managed-instance/4462629" target="_blank" rel="noopener"&gt;Improved connectivity types in Azure SQL Managed Instance&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqlmi-zr-ga" target="_blank" rel="noopener"&gt;Improved resiliency with zone redundancy for general purpose, improved log rate for business critical&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/ri-pricing-bc-zr" target="_blank" rel="noopener"&gt;Apply reservation discount for zone redundant Business Critical databases&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqlmi-free" target="_blank" rel="noopener"&gt;Free offer&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/WindowsNativePrincipalsGA" target="_blank" rel="noopener"&gt;Windows principals use to simplify migrations&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqlmi-sep-docs" target="_blank" rel="noopener"&gt;Data exfiltration improvements&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/windows-authentication-for-cloud-native-identities-modernizing-azure-sql-managed/4475784" target="_blank" rel="noopener"&gt;Windows Authentication for Cloud-Native Identities&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/introducing-new-update-policy-for-azure-sql-managed-instance/4470231" target="_blank" rel="noopener"&gt;New update policy for Azure SQL Managed Instance&lt;/A&gt; &lt;STRONG style="color: rgb(30, 30, 30);"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Azure SQL Database&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/azure-sql-database-ltr-backup-immutability-is-now-generally-available/4471457" target="_blank" rel="noopener"&gt;LTR Backup Immutability&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/how-to-get-a-free-azure-sql-database-or-managed-instance/4471390" target="_blank" rel="noopener"&gt;Free Azure SQL Database Offer updates&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/hs-conversion-geodr-ga" target="_blank" rel="noopener"&gt;Move to Hyperscale while preserving existing geo-replication or failover group settings&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqlmi-redirect-default" target="_blank" rel="noopener"&gt;Improve redirect connection type to require only port 1433 and promote to default&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/functions/dateadd-transact-sql?view=sql-server-ver17" target="_blank" rel="noopener"&gt;Bigint support in DATEADD for extended range calculations&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqlrestart" target="_blank" rel="noopener"&gt;Restart your database from the Azure portal&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqldbreplicationlagmetric" target="_blank" rel="noopener"&gt;Replication lag metric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/ServerAuditRedesign" target="_blank" rel="noopener"&gt;Enhanced server audit and server audit action groups&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/geo-zone-redundant-storage-gzrs-is-now-available-for-additional-azure-sql-databa/4292187" target="_blank" rel="noopener"&gt;Read-access geo-zone redundant storage (RA-GZRS) as a backup storage type for non-Hyperscale&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/hs-conversion-v2-ga" target="_blank" rel="noopener"&gt;Improved cutover experience to Hyperscale&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/sqldbavailmetric" target="_blank" rel="noopener"&gt;SLA-compliant availability metric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/hs-shrink-ga" target="_blank" rel="noopener"&gt;Use database shrink to reduced allocated space for Hyperscale databases&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A class="lia-internal-link lia-internal-url lia-internal-url-content-type-blog" href="https://techcommunity.microsoft.com/blog/AzureSQLBlog/identify-causes-of-auto-resuming-serverless-workloads-in-azure-sql-database/4452741" target="_blank" rel="noopener" data-lia-auto-title="Identify causes of auto-resuming serverless workloads" data-lia-auto-title-active="0"&gt;Identify causes of auto-resuming serverless workloads&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/multiple-geo-replicas-for-azure-sql-hyperscale-is-now-in-public-preview/4462632" target="_blank" rel="noopener"&gt;Multiple geo-replicas for Azure SQL Hyperscale&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/public-preview-backup-immutability-for-azure-sql-database-ltr-backups/4461478" target="_blank" rel="noopener"&gt;Backup immutability for Azure SQL Database LTR backups&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Updates across SQL Server, Azure SQL and Fabric SQL database&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/general-availability-announcement-regex-support-in-sql-server-2025--azure-sql/4470684" target="_blank" rel="noopener"&gt;Regex Support and fuzzy-string matching&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/geo-replication-and-transparent-data-encryption-key-management/4461808" target="_blank" rel="noopener"&gt;Geo-replication and Transparent Data Encryption key management&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/introducing-optimized-locking-v2/4468745" target="_blank" rel="noopener"&gt;Optimized locking v2&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/azuresqlhubblog" target="_blank" rel="noopener"&gt;Azure SQL hub in the Azure portal&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/unistr-strconcat-blog" target="_blank" rel="noopener"&gt;UNISTR intrinsic function and ANSI SQL concatenation operator (||)&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/azuresql-vector-ga" target="_blank" rel="noopener"&gt;New vector data type&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/json-index" target="_blank" rel="noopener"&gt;JSON index&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/data-types/json-data-type?view=azuresqldb-current" target="_blank" rel="noopener"&gt;JSON data type and aggregates&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/stream-data-in-near-real-time-from-sql-to-azure-event-hubs---public-preview/4470724" target="_blank" rel="noopener"&gt;Stream data to Azure Event Hubs with Change Event Streaming&lt;/A&gt;&amp;nbsp;(Azure SQL DB Public Preview/Fabric SQL Private Preview)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/announcing-public-preview-of-diskann-in-sql-server-2025/4414683" target="_blank" rel="noopener"&gt;DiskANN vector indexing&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;SQL database in Microsoft Fabric and Mirroring&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Generally Available&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/fabric-databases-a-unified-saas-native-experience-for-modern-data-workloads-generally-available?ft=Databases:category" target="_blank" rel="noopener"&gt;Fabric Databases&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/announcing-sql-database-in-fabric-is-now-generally-available-ga?ft=Databases:category" target="_blank" rel="noopener"&gt;SQL database in Fabric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/unlocking-enterprise-ready-sql-database-in-microsoft-fabric-auditing-backup-copilot-more?ft=Databases:category" target="_blank" rel="noopener"&gt;Unlocking Enterprise ready SQL database in Microsoft Fabric: ALM improvements, Backup customizations and retention, Copilot enhancements &amp;amp; more update details&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/mirroring-for-sql-server-in-microsoft-fabric-generally-available?ft=Databases:category" target="_blank" rel="noopener"&gt;Mirroring for SQL Server&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/announcing-the-general-availability-ga-of-mirroring-for-azure-sql-managed-instance-in-microsoft-fabric?ft=Databases:category" target="_blank" rel="noopener"&gt;Mirroring for Azure SQL Managed Instance in Microsoft Fabric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/connect-to-your-sql-database-in-fabric-using-python-notebook?ft=Databases:category" target="_blank" rel="noopener"&gt;Connect to your SQL database in Fabric using Python Notebook&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/updates-to-database-development-tools-for-sql-database-in-fabric?ft=Databases:category" target="_blank" rel="noopener"&gt;Updates to database development tools for SQL database in Fabric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/accelerating-data-movement-by-using-fast-copy-to-unlock-performance-and-efficiency-during-data-ingestion-from-sql-database-in-fabric?ft=Databases:category" target="_blank" rel="noopener"&gt;Using Fast Copy for data ingestion&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/announcing-copilot-for-sql-analytics-endpoint-in-microsoft-fabric?ft=Databases:category" target="_blank" rel="noopener"&gt;Copilot for SQL analytics endpoint&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog" target="_blank" rel="noopener"&gt;Any updates across Microsoft Fabric that apply to the SQL analytics endpoint are generally supported in mirrored databases and Fabric SQL databases via the SQL analytics endpoint. This includes many exciting areas, like Data Agents. See the Fabric blog to get inspired&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Preview&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/database/sql/data-virtualization" target="_blank" rel="noopener"&gt;Data virtualization support&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/security/security-workspace-level-private-links-set-up?tabs=fabric-portal" target="_blank" rel="noopener"&gt;Workspace level Private Link support&lt;/A&gt;&amp;nbsp;(Private Preview)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/announcing-public-preview-customer-managed-keys-in-fabric-sql-database?ft=Databases:category" target="_blank" rel="noopener"&gt;Customer-managed keys in Fabric SQL Database&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/announcing-public-preview-auditing-for-fabric-sql-database/4466803" target="_blank" rel="noopener"&gt;Auditing for Fabric SQL Database&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/how-to-create-a-sql-database-in-fabric-using-fabric-cli?ft=Databases:category" target="_blank" rel="noopener"&gt;Fabric CLI: Create a SQL database in Fabric&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/creating-sql-database-workload-in-fabric-with-terraform-a-step-by-step-guide?ft=Databases:category" target="_blank" rel="noopener"&gt;SQL database workload in Fabric with Terraform&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/en-us/blog/spark-connector-for-sql-databases-preview?ft=Databases:category" target="_blank" rel="noopener"&gt;Spark Connector for SQL databases&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Tools and developer&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://www.microsoft.com/en-us/sql-server/blog/2025/12/05/how-the-microsoft-sql-team-is-investing-in-sql-tools-and-experiences/" target="_blank" rel="noopener"&gt;Blog to Read: How the Microsoft SQL team is investing in SQL tools and experiences&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/announcing-the-release-of-sql-server-management-studio-22-1/4476621" target="_blank" rel="noopener"&gt;SQL Server Management Studio (SSMS) 22.1&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;GitHub Copilot Walkthrough (Preview): Guided onboarding from the Copilot badge.&lt;/LI&gt;
&lt;LI&gt;Copilot right-click actions (Preview): Document, Explain, Fix, and Optimize.&lt;/LI&gt;
&lt;LI&gt;Bring your own model (BYOM) support in Copilot (Preview).&lt;/LI&gt;
&lt;LI&gt;Copilot performance: improved response time after the first prompt in a thread.&lt;/LI&gt;
&lt;LI&gt;Fixes: addressed Copilot “Run ValidateGeneratedTSQL” loop and other stability issues.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/announcing-the-release-of-sql-server-management-studio-22/4468220" target="_blank" rel="noopener"&gt;SQL Server Management Studio (SSMS) 22&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Support for SQL Server 2025&lt;/LI&gt;
&lt;LI&gt;Modern connection dialog as default + Fabric browsing on the Browse tab.&lt;/LI&gt;
&lt;LI&gt;Windows Arm64 support (initial) for core scenarios (connect + query).&lt;/LI&gt;
&lt;LI&gt;GitHub Copilot in SSMS (Preview)&amp;nbsp;is available via the AI Assistance workload in the VS Installer.&lt;/LI&gt;
&lt;LI&gt;T-SQL/UX improvements: open execution plan in new tab, JSON viewer, results grid zooms.&lt;/LI&gt;
&lt;LI&gt;New index support: create JSON and Vector indexes from Object Explorer&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/sql-server-management-studio-ssms-21-is-now-generally-available-ga/4415230" target="_blank" rel="noopener"&gt;SQL Server Management Studio (SSMS) 21&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Installation and automatic updates via Visual Studio Installer.&lt;/LI&gt;
&lt;LI&gt;Workloads/components model: smaller footprint + customizable install.&lt;/LI&gt;
&lt;LI&gt;Git integration is available via the Code tools workload.&lt;/LI&gt;
&lt;LI&gt;Modern connection dialog experience (Preview).&lt;/LI&gt;
&lt;LI&gt;New customization options (e.g., vertical tabs, tab coloring, results in grid NULL styling).&lt;/LI&gt;
&lt;LI&gt;Always Encrypted Assessment in the Always Encrypted Wizard.&lt;/LI&gt;
&lt;LI&gt;Migration assistance via the Hybrid and Migration workload.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/announcing-general-availability-of-the-mssql-python-driver/4470788" target="_blank" rel="noopener"&gt;mssql-python Driver&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;ODBC:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver17" target="_blank" rel="noopener"&gt;Microsoft ODBC Driver 18.5.2.1 for SQL Server&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;OLE DB:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/connect/oledb/release-notes-for-oledb-driver-for-sql-server?view=sql-server-ver17#1941" target="_blank" rel="noopener"&gt;Microsoft OLE DB Driver 19.4.1 for SQL Server&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;JDBC (latest train):&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver17#1321" target="_blank" rel="noopener"&gt;Microsoft JDBC Driver for SQL Server 13.2.1&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Also updated in 2025: supported JDBC branches received multiple servicing updates (including Oct 13, 2025, security fixes). See the same&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/connect/jdbc/release-notes-for-the-jdbc-driver?view=sql-server-ver17" target="_blank" rel="noopener"&gt;JDBC release notes&lt;/A&gt;&amp;nbsp;for the full list.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;.NET:&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/releases/tag/v6.0.2" target="_blank" rel="noopener"&gt;Microsoft.Data.SqlClient 6.0.2&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Related - some notes on drivers released/updated in 2025 (recap):&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/vscode-mssql-november2025" target="_blank" rel="noopener"&gt;MSSQL extension for VS Code 1.37.0&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;GitHub Copilot integration : Ask/Agent modes, slash commands, onboarding.&lt;/LI&gt;
&lt;LI&gt;Edit Data : interactive grid for editing table data (requires&amp;nbsp;mssql.enableExperimentalFeatures: true).&lt;/LI&gt;
&lt;LI&gt;Data-tier Application dialog : deploy/extract&amp;nbsp;.dacpac&amp;nbsp;and import/export&amp;nbsp;.bacpac&amp;nbsp;(requires&amp;nbsp;mssql.enableExperimentalFeatures: true).&lt;/LI&gt;
&lt;LI&gt;Publish SQL Project dialog : deploy&amp;nbsp;.sqlproj&amp;nbsp;to an existing DB or a local SQL dev container.&lt;/LI&gt;
&lt;LI&gt;Added “What’s New” panel + improved query results grid stability/accessibility.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/vscode-mssql-september2025" target="_blank" rel="noopener"&gt;MSSQL extension for VS Code&amp;nbsp;1.36.0&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Fabric connectivity : browse Fabric workspaces and connect to SQL DBs / SQL analytics endpoints.&lt;/LI&gt;
&lt;LI&gt;SQL database in Fabric provisioning : create Fabric SQL databases from Deployments.&lt;/LI&gt;
&lt;LI&gt;GitHub Copilot slash commands : connection, schema exploration, query tasks.&lt;/LI&gt;
&lt;LI&gt;Schema Compare extensibility: new run command for external extensions/SQL Projects (incl. Update Project from Database support).&lt;/LI&gt;
&lt;LI&gt;Query results in performance/reliability improvements (incremental streaming, fewer freezes, better settings handling).&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/tools/sqlpackage/release-notes-sqlpackage?view=sql-server-ver17#170094-sqlpackage" target="_blank" rel="noopener"&gt;SqlPackage 170.0.94 release notes (April 2025)&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Vector: support for&amp;nbsp;vector&amp;nbsp;data type in Azure SQL Database target platform (import/export/extract/deploy/build).&lt;/LI&gt;
&lt;LI&gt;SQL projects: default compatibility level for Azure SQL Database and SQL database in Fabric set to 170.&lt;/LI&gt;
&lt;LI&gt;Parquet: expanded supported types (including&amp;nbsp;json,&amp;nbsp;xml, and&amp;nbsp;vector) + bcp fallback for unsupported types.&lt;/LI&gt;
&lt;LI&gt;Extract: unpack a&amp;nbsp;.dacpac&amp;nbsp;to a folder via&amp;nbsp;/Action:Extract.&lt;/LI&gt;
&lt;LI&gt;Platform: Remove .NET 6 support; .NET Framework build updated to 4.7.2.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/tools/sqlpackage/release-notes-sqlpackage?view=sql-server-ver17#170161-sqlpackage" target="_blank" rel="noopener"&gt;SqlPackage 170.1.61 release notes (July 2025)&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Data virtualization (Azure SQL DB): added support for data virtualization objects in import/export/extract/publish.&lt;/LI&gt;
&lt;LI&gt;Deployment: new publishing properties&amp;nbsp;/p:IgnorePreDeployScript&amp;nbsp;and&amp;nbsp;/p:IgnorePostDeployScript.&lt;/LI&gt;
&lt;LI&gt;Permissions: support for&amp;nbsp;ALTER ANY EXTERNAL MIRROR&amp;nbsp;(Azure SQL DB + SQL database in Fabric) for exporting mirrored tables.&lt;/LI&gt;
&lt;LI&gt;SQL Server 2025 permissions: support for&amp;nbsp;CREATE ANY EXTERNAL MODEL,&amp;nbsp;ALTER ANY EXTERNAL MODEL, and&amp;nbsp;ALTER ANY INFORMATION PROTECTION.&lt;/LI&gt;
&lt;LI&gt;Fixes: improved Fabric compatibility (e.g., avoid deploying unsupported server objects; fixes for Fabric extraction scripting).&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/tools/sqlpackage/release-notes-sqlpackage?view=sql-server-ver17#170270-sqlpackage" target="_blank" rel="noopener"&gt;SqlPackage 170.2.70 release notes (October 2025)&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;External models: support for external models in Azure SQL Database and SQL Server 2025.&lt;/LI&gt;
&lt;LI&gt;AI functions: support for&amp;nbsp;AI_GENERATE_CHUNKS&amp;nbsp;and&amp;nbsp;AI_GENERATE_EMBEDDINGS.&lt;/LI&gt;
&lt;LI&gt;JSON: support for JSON indexes + functions&amp;nbsp;JSON_ARRAYAGG,&amp;nbsp;JSON_OBJECTAGG,&amp;nbsp;JSON_QUERY.&lt;/LI&gt;
&lt;LI&gt;Vector: vector indexes +&amp;nbsp;VECTOR_SEARCH and expanded&amp;nbsp;vector&amp;nbsp;support for SQL Server 2025.&lt;/LI&gt;
&lt;LI&gt;Regex: support for&amp;nbsp;REGEXP_LIKE.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://github.com/microsoft/DacFx/releases/tag/sdk-1.0.0" target="_blank" rel="noopener"&gt;Microsoft.Build.Sql 1.0.0 (SQL database projects SDK)&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Breaking: .NET 8 SDK required for&amp;nbsp;dotnet build&amp;nbsp;(Visual Studio build unchanged).&lt;/LI&gt;
&lt;LI&gt;Globalization support.&lt;/LI&gt;
&lt;LI&gt;Improved SDK/Templates docs (more detailed README + release notes links).&lt;/LI&gt;
&lt;LI&gt;Code analyzer template defaults&amp;nbsp;DevelopmentDependency.&lt;/LI&gt;
&lt;LI&gt;Build validation: check for duplicate build items.&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://github.com/microsoft/DacFx/releases/tag/sdk-2.0.0" target="_blank" rel="noopener"&gt;Microsoft.Build.Sql 2.0.0 (SQL database projects SDK)&lt;/A&gt;&amp;nbsp;
&lt;UL&gt;
&lt;LI&gt;Added SQL Server 2025 target platform (Sql170DatabaseSchemaProvider).&lt;/LI&gt;
&lt;LI&gt;Updated DacFx version to 170.2.70.&lt;/LI&gt;
&lt;LI&gt;.NET SDK targets imported by default (includes newer .NET build features/fixes; avoids full rebuilds with no changes&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure-data-studio/whats-happening-azure-data-studio?tabs=dev" target="_blank" rel="noopener"&gt;Azure Data Studio retirement announcement (retirement February 28, 2026)&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Anna’s Pick of the &lt;S&gt;&lt;STRONG&gt;Month&lt;/STRONG&gt;&lt;/S&gt;&lt;STRONG&gt; Year&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;It’s hard to pick a highlight representative of the whole year, so I’ll take the cheesy way out: people. I get to work with great people working on a great set of products for great people (like you) solving real world problems for people. So, thank YOU and you’re my pick of the year 🧀&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Until next &lt;STRONG&gt;time… &lt;/STRONG&gt;&lt;/H2&gt;
&lt;P&gt;That’s it for now! We release new episodes on Thursdays and new #MVPTuesday episodes on the last Tuesday of every month at &lt;A href="https://aka.ms/azuresqlyt" target="_blank" rel="noopener"&gt;aka.ms/azuresqlyt&lt;/A&gt;. The team has been producing a lot more video content outside of Data Exposed, which you can find at that link too!&lt;/P&gt;
&lt;P&gt;Having trouble keeping up? Be sure to follow us on twitter to get the latest updates on everything, &lt;A href="https://twitter.com/AzureSQL" target="_blank" rel="noopener"&gt;@AzureSQL&lt;/A&gt;. And if you lose this blog, just remember &lt;A href="https://aka.ms/newsupdate2025" target="_blank" rel="noopener"&gt;aka.ms/newsupdate2025&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We hope to see you next YEAR, on Data Exposed!&lt;/P&gt;
&lt;P&gt;--Anna and Marisa&lt;/P&gt;</description>
      <pubDate>Thu, 18 Dec 2025 17:08:23 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/2025-year-in-review-what-s-new-across-sql-server-azure-sql-and/ba-p/4477514</guid>
      <dc:creator>Anna Hoffman</dc:creator>
      <dc:date>2025-12-18T17:08:23Z</dc:date>
    </item>
    <item>
      <title>Identify causes of auto-resuming serverless workloads in Azure SQL Database</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/identify-causes-of-auto-resuming-serverless-workloads-in-azure/ba-p/4452741</link>
      <description>&lt;P&gt;&lt;STRONG&gt;We are pleased to announce that telemetry is now available in Azure Monitor activity log to identify the causes of auto-resuming serverless workloads in Azure SQL Database.&amp;nbsp; &lt;/STRONG&gt;Prior to exposing this telemetry, the correlation of specific auto-resume causes with database activity could be time consuming and imperfect with no programmatic solution.&lt;/P&gt;
&lt;H3&gt;Serverless auto-pausing and auto-resuming&lt;/H3&gt;
&lt;P&gt;Serverless in SQL Database automatically scales compute based on workload demand and bills for compute used per second.&amp;nbsp; In the General Purpose tier, serverless also provides an option to automatically pause the database during idle usage periods when only storage related costs are billed.&amp;nbsp; The more a database is idle, the more auto-pausing can help reduce compute costs.&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Automatic resuming occurs when database activity returns or certain management related or system operations are performed.&amp;nbsp; Some examples of auto-resume triggers include logins, vulnerability assessment, modification to security settings like data masking rules, and service updates.&amp;nbsp; A comprehensive description of auto-resume triggers is documented in the &lt;A href="https://learn.microsoft.com/azure/azure-sql/database/serverless-tier-overview?view=azuresql&amp;amp;tabs=general-purpose#auto-resume" target="_blank" rel="noopener"&gt;learning reference for serverless&lt;/A&gt;.&lt;/P&gt;
&lt;H3&gt;Activity log for auto-pause and auto-resume events&lt;/H3&gt;
&lt;P&gt;The Azure Monitor activity log keeps a record of all auto-pause and auto-resume events for serverless databases.&amp;nbsp; Auto-resume causes are reported in activity log for "Resume Databases" operations under the “Caller” property of the "Succeeded" event, and latencies for each event are reported under “EventProperties”.&amp;nbsp; This event can be monitored to quickly and deterministically identify auto-resume causes without resorting to inefficient guesswork.&amp;nbsp;&lt;/P&gt;
&lt;P class=""&gt;&lt;STRONG&gt;&lt;EM class="lia-align-left"&gt;Example of Activity log in Azure portal showing an auto-resume event including the cause and latency&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;In this example, the serverless database is auto-resumed in around 38 seconds in order to perform a security related vulnerability assessment.&lt;/P&gt;
&lt;P&gt;Understanding the causes of auto-resuming can help in optimizing database access patterns to minimize auto-resume occurrences, keep the database paused for longer, and reduce compute costs even further.&lt;/P&gt;
&lt;H3&gt;Learn more&lt;/H3&gt;
&lt;P&gt;For more information, please see &lt;A href="https://learn.microsoft.com/azure/azure-sql/database/serverless-tier-overview?view=azuresql&amp;amp;tabs=general-purpose" target="_blank" rel="noopener"&gt;Azure SQL Database serverless&lt;/A&gt; and &lt;A href="https://learn.microsoft.com/azure/azure-monitor/platform/activity-log?tabs=log-analytics" target="_blank" rel="noopener"&gt;Azure Monitor activity log&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Dec 2025 21:41:52 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/identify-causes-of-auto-resuming-serverless-workloads-in-azure/ba-p/4452741</guid>
      <dc:creator>Morgan_Oslake</dc:creator>
      <dc:date>2025-12-16T21:41:52Z</dc:date>
    </item>
    <item>
      <title>Windows Authentication for Cloud-Native Identities: Modernizing Azure SQL Managed Instance (Preview)</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/windows-authentication-for-cloud-native-identities-modernizing/ba-p/4475784</link>
      <description>&lt;P&gt;Organizations moving to the cloud often face a critical challenge: maintaining seamless authentication for legacy applications without compromising security or user experience. Today, we’re excited to announce &lt;STRONG&gt;support for Windows Authentication for Microsoft Entra principals on Azure SQL Managed Instance&lt;/STRONG&gt;, enabling &lt;STRONG&gt;cloud-native identities&lt;/STRONG&gt; to authenticate using familiar Windows credentials.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why This Matters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Traditionally, Windows Authentication relied on on-premises Active Directory, making it difficult for businesses adopting a &lt;STRONG&gt;cloud-only strategy&lt;/STRONG&gt; to preserve existing authentication models. With this new capability:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Hybrid Identity Support:&lt;/STRONG&gt; Users synchronized between on-premises AD DS and Microsoft Entra ID can continue using a single set of credentials for both environments.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Cloud-Only Identity (Preview):&lt;/STRONG&gt; Identities that exist only in Microsoft Entra ID can now leverage Kerberos-based Windows Authentication for workloads like Azure SQL Managed Instance—without requiring domain controllers.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This means organizations can &lt;STRONG&gt;modernize infrastructure while maintaining compatibility with legacy apps&lt;/STRONG&gt;, reducing friction during migration.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Key Benefits&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Seamless Migration:&lt;/STRONG&gt; Move legacy applications to Azure SQL Managed Instance without rewriting authentication logic.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Passwordless Security:&lt;/STRONG&gt; Combine Windows Authentication with modern credentials like &lt;STRONG&gt;Windows Hello for Business&lt;/STRONG&gt; or &lt;STRONG&gt;FIDO2 keys&lt;/STRONG&gt;, enabling MFA and reducing password-related risks.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Cloud-Native Integration:&lt;/STRONG&gt; Microsoft Entra Kerberos acts as a cloud-based Key Distribution Center (KDC), issuing Kerberos tickets for cloud resources such as Azure SQL Managed Instance and Azure Files&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Breaking Barriers to Cloud Migration&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Many enterprises hesitate to migrate legacy apps because they depend on Windows Authentication. By extending this capability to&amp;nbsp;&lt;STRONG&gt;cloud-native identities&lt;/STRONG&gt;, we remove a major barrier—allowing customers to &lt;STRONG&gt;modernize at their own pace&lt;/STRONG&gt; while leveraging familiar authentication models.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Learn More&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/winauth-azuread-overview?view=azuresql" target="_blank"&gt;https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/winauth-azuread-overview?view=azuresql&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/entra/identity/authentication/kerberos#group-sid-limit-in-entra-kerberos-preview" target="_blank"&gt;Microsoft Entra Kerberos Overview&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Sun, 07 Dec 2025 07:26:57 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/windows-authentication-for-cloud-native-identities-modernizing/ba-p/4475784</guid>
      <dc:creator>sravani-saluru</dc:creator>
      <dc:date>2025-12-07T07:26:57Z</dc:date>
    </item>
    <item>
      <title>Whats new in the Backup/Restore area in SQL Server 2025</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/whats-new-in-the-backup-restore-area-in-sql-server-2025/ba-p/4474613</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Over the past several months,&amp;nbsp;we’ve&amp;nbsp;heard from countless customers who are eager for more robust options to protect, compress, and safeguard their SQL Server data. Since introducing these features in public preview, organizations of all sizes have&amp;nbsp;validated&amp;nbsp;their value in real-world workloads and provided invaluable feedback.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Following are &lt;STRONG&gt;three &lt;/STRONG&gt;“hidden gems” (as one of our customers called &amp;nbsp;them), in the Backup/Restore area we announced with SQL Server 2025. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:0,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:278}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Backups on Secondary for Always&amp;nbsp;On&amp;nbsp;Availability Groups&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;ZSTD Compression&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, and &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Immutable Backups for Ransomware Protection&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;. These advancements are now ready for production use, built around the needs and requests of the SQL Server&amp;nbsp;customers.&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG style="color: rgb(30, 30, 30); font-size: 24px;"&gt;&lt;SPAN data-contrast="auto"&gt;1. Backups on Secondary for SQL Server Always On Availability Groups&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Previously in preview, this feature now reaches GA, allowing you to&amp;nbsp;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;offload backup operations to secondary replicas&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;&amp;nbsp;in Always&amp;nbsp;On&amp;nbsp;Availability Groups. This enhancement&amp;nbsp;optimizes&amp;nbsp;resource&amp;nbsp;utilization&amp;nbsp;and minimizes overhead on primary replicas, ensuring better performance for mission-critical workloads.&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What’s New in GA:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Improved reliability and support for production environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Comprehensive support: Full, differential, and transaction log backups are now fully supported on secondary replicas—not just COPY_ONLY and transaction logs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Reduced impact on primary replica performance.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Simplified high-availability strategies.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Learn more from the original announcement:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/introducing-backups-on-secondary-for-sql-server-always-on-availability-groups-wi/4422167" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Introducing Backups on Secondary for SQL Server Always On Availability Groups&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt; &lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;2. ZSTD Compression in SQL Server 2025&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The GA of ZSTD compression brings modern, efficient data compression to SQL Server.&amp;nbsp;ZSTD compression introduces industry-leading performance and efficiency, letting you save storage and speed up workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What’s New in GA:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Full production support for ZSTD across key workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Faster compression and decompression compared to legacy algorithms.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Lower storage footprint without sacrificing performance.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Choose your algorithm: ZSTD is now a standard option right alongside MS_XPRESS for row, page, and backup compression.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Tunable compression levels: Administrators can select from LOW, MEDIUM, or HIGH to balance resource use and savings.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Ideal for large-scale data environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Explore the preview details:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/zstd-compression-in-sql-server-2025/4415418" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;ZSTD Compression in SQL Server 2025&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;3. Backups to immutable storage: A Powerful Shield Against Ransomware&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Your backups are now safer than ever. Thanks to native support for &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;immutability with Azure Blob Storage&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, backup files can be&amp;nbsp;rendered&amp;nbsp;tamper-proof—protecting them from ransomware or even accidental deletion.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Strong defense against ransomware and malicious tampering.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Compliance with regulatory requirements for data integrity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Peace of mind for critical backup strategies.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Read the detailed use-case and how-to: &lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/immutability-a-powerful-shield-against-ransomware-in-sql-environments/4427180" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Immutability: A Powerful Shield Against Ransomware in SQL Environments&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These features collectively empower organizations to:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Optimize&amp;nbsp;performance and resource&amp;nbsp;utilization.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Reduce operational costs through efficient compression.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Strengthen security posture against evolving threats.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Get Started&amp;nbsp;Today&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These features are available to all SQL Server 2025 customers. Ready to elevate your data protection, efficiency, and compliance posture?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Access the official SQL Server 2025 documentation for step-by-step guides&amp;nbsp;via&amp;nbsp;visit&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/sql" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Review upgrade guidance and best practices.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Explore real-world configurations and FAQs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Upgrade now and unlock the next level of resilience, efficiency, and security for your SQL Server workloads!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2025 17:39:38 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/whats-new-in-the-backup-restore-area-in-sql-server-2025/ba-p/4474613</guid>
      <dc:creator>Dinakar-Nethi</dc:creator>
      <dc:date>2025-12-02T17:39:38Z</dc:date>
    </item>
    <item>
      <title>Step-by-Step Guide: Route Azure SQL Audit Logs to Multiple Log Analytics Workspaces</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/step-by-step-guide-route-azure-sql-audit-logs-to-multiple-log/ba-p/4473665</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Scenario:&lt;/STRONG&gt;&lt;BR /&gt;Many organizations need to route audit logs from Azure SQL Database to more than one Log Analytics workspace. For example, your security team may use Microsoft Sentinel in one workspace, while your application team analyzes logs in another. Azure now makes this possible—here’s how to set it up, and what to watch out for.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why Send Audit Logs to Multiple Workspaces?&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Separation of Duties: Security and application teams can access the logs they need, independently.&lt;/LI&gt;
&lt;LI&gt;Integration with Different Tools: Sentinel may use one workspace for SIEM, while app teams use another for analytics.&lt;/LI&gt;
&lt;LI&gt;Compliance and Regional Needs&lt;STRONG&gt;:&lt;/STRONG&gt; Some organizations must store logs in different regions or workspaces for regulatory reasons.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Step-by-Step Guide&lt;/STRONG&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt; Enable Auditing to Log Analytics Workspace&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI&gt;Go to your Azure SQL Server in the Azure Portal.&lt;/LI&gt;
&lt;LI&gt;Under Security, select Auditing.&lt;/LI&gt;
&lt;LI&gt;Set the audit destination to your primary&amp;nbsp;Log Analytics workspace, Click Save.&lt;img /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Tip:&lt;/STRONG&gt; Enabling auditing here automatically creates a diagnostic setting for the selected workspace.&lt;/P&gt;
&lt;OL start="2"&gt;
&lt;LI&gt;&lt;STRONG&gt; Add Diagnostic Settings for Additional Workspaces&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;UL&gt;
&lt;LI&gt;In azure portal search for Diagnostic settings.&lt;/LI&gt;
&lt;LI&gt;Search for your subscription and master database of SQL Server to create diagnostics setting at server level&lt;/LI&gt;
&lt;LI&gt;Click + Add diagnostic setting.&lt;/LI&gt;
&lt;LI&gt;Name your setting (e.g., “AuditToAppWorkspace”).&lt;/LI&gt;
&lt;LI&gt;Under Log, select audit, select SQLSecurityAuditEvents (uncheck “DevOpsAudit” if not needed).&lt;/LI&gt;
&lt;LI&gt;Choose an additional Log Analytics workspace as the destination.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Click Save&lt;/STRONG&gt;.&lt;img /&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;create new setting&amp;nbsp;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; You can repeat this step to send audit logs to as many workspaces as needed.&lt;/P&gt;
&lt;P&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Example Use Case&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A customer uses:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Workspace A for Microsoft Sentinel (security monitoring)&lt;/LI&gt;
&lt;LI&gt;Workspace B for application analytics&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;By configuring multiple diagnostic settings, both teams receive the audit data they need—no manual exports required.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Summary&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Configuring multiple diagnostic settings allows you to send Azure SQL Database audit logs to several Log Analytics workspaces. This is essential for organizations with different teams or compliance needs. Remember:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Enable auditing first&lt;/LI&gt;
&lt;LI&gt;Add diagnostic settings for each workspace&lt;/LI&gt;
&lt;LI&gt;Monitor for cost and avoid duplicate logs&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;References:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/database/auditing" target="_blank"&gt;https://learn.microsoft.com/en-us/azure/azure-sql/database/auditing&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings" target="_blank"&gt;https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/diagnostic-settings&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Nov 2025 06:55:57 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/step-by-step-guide-route-azure-sql-audit-logs-to-multiple-log/ba-p/4473665</guid>
      <dc:creator>sravani-saluru</dc:creator>
      <dc:date>2025-11-28T06:55:57Z</dc:date>
    </item>
    <item>
      <title>Azure SQL Database LTR Backup Immutability is now Generally Available</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/azure-sql-database-ltr-backup-immutability-is-now-generally/ba-p/4471457</link>
      <description>&lt;P&gt;Azure SQL Database is a fully managed, always‑up‑to‑date relational database service built for mission‑critical apps. It delivers built‑in high availability, automated backups, and elastic scale, with strong security and compliance capabilities.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Today, I am very excited to announce the &lt;STRONG&gt;General Availability of immutability for Azure SQL DB LTR backups!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Azure SQL Database now supports &lt;STRONG&gt;immutable&lt;/STRONG&gt; long‑term retention (LTR) backups, stored in &lt;STRONG&gt;write‑once, read‑many (WORM)&lt;/STRONG&gt; state for a fixed (customer configured) period. That means your LTR backups cannot be modified or deleted during the lock window—even by highly privileged identities—helping you preserve clean restore points after a cyberattack and strengthen your compliance posture.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Why this matters: ransomware targets backups&lt;/H2&gt;
&lt;P&gt;Modern ransomware playbooks don’t stop at encrypting production data—they also attempt to &lt;STRONG&gt;alter or delete backups&lt;/STRONG&gt; to block recovery. With &lt;STRONG&gt;backup immutability&lt;/STRONG&gt;, Azure SQL Database LTR backups are written to &lt;STRONG&gt;immutable storage&lt;/STRONG&gt; and locked for the duration you specify, providing a resilient, tamper‑proof recovery layer so you can restore from a known‑good copy when it matters most.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;What we’re announcing&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;General Availability&lt;/STRONG&gt; of &lt;STRONG&gt;Backup Immutability for Long‑Term Retention (LTR) backups&lt;/STRONG&gt; in &lt;STRONG&gt;Azure SQL Database&lt;/STRONG&gt;. This GA applies to &lt;STRONG&gt;Azure SQL database LTR backups&lt;/STRONG&gt;.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;What immutability does (and doesn’t) do&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Prevents changes and deletion&lt;/STRONG&gt; of LTR backup artifacts for a defined, locked period (WORM). This protection applies even to highly privileged identities, reducing the risk from compromised admin accounts or insider misuse.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Helps address regulatory WORM expectations&lt;/STRONG&gt;, supporting customers who must retain non‑erasable, non‑rewritable records (for example, requirements under &lt;STRONG&gt;SEC Rule 17a‑4(f)&lt;/STRONG&gt;, &lt;STRONG&gt;FINRA Rule 4511(c)&lt;/STRONG&gt;, and &lt;STRONG&gt;CFTC Rule 1.31(c)–(d)&lt;/STRONG&gt;). Always consult your legal/compliance team for your specific obligations.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Complements a defense‑in‑depth strategy&lt;/STRONG&gt;—it’s not a replacement for identity hygiene, network controls, threat detection, and recovery drills. See Microsoft’s broader &lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/security/fundamentals/ransomware-protection" target="_blank"&gt;ransomware guidance for Azure&lt;/A&gt;.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;How it works (at a glance)&lt;/H2&gt;
&lt;P&gt;When you enable immutability on an LTR policy, Azure SQL Database stores those LTR backups on &lt;STRONG&gt;Azure immutable storage&lt;/STRONG&gt; in a &lt;STRONG&gt;WORM&lt;/STRONG&gt; state. During the lock window, the backup cannot be modified or deleted; after the lock expires, normal retention/deletion applies per your policy.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Key benefits&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Ransomware‑resilient recovery:&lt;/STRONG&gt; Preserve clean restore points that attackers can’t tamper with during the lock period.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Compliance‑ready retention:&lt;/STRONG&gt; Use WORM‑style retention to help meet industry and regulatory expectations for non‑erasable, non‑rewritable storage.&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Operational simplicity:&lt;/STRONG&gt; Manage immutability alongside your existing Azure SQL Database &lt;STRONG&gt;long‑term retention&lt;/STRONG&gt; policies.&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Get started&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Choose databases&lt;/STRONG&gt; that require immutable LTR backups.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enable immutability&lt;/STRONG&gt; on the LTR backup policy and &lt;STRONG&gt;set the retention/lock period&lt;/STRONG&gt; aligned to your regulatory and risk requirements.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Validate recovery&lt;/STRONG&gt; by restoring from an immutable LTR backup.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;Documentation:&lt;/STRONG&gt; Learn more about &lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/azure-sql/database/backup-immutability?view=azuresql" target="_blank"&gt;&lt;STRONG&gt;backup immutability for LTR backups in Azure SQL Database&lt;/STRONG&gt;&lt;/A&gt; in Microsoft Learn.&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Tell us what you think&lt;/H2&gt;
&lt;P&gt;We’d love your feedback on scenarios, guidance, and tooling that would make immutable backups even easier to adopt. Share your experiences and suggestions in the Azure SQL community forums and let us know how immutability is helping your organization raise its cyber‑resilience.&lt;/P&gt;</description>
      <pubDate>Wed, 19 Nov 2025 18:33:38 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/azure-sql-database-ltr-backup-immutability-is-now-generally/ba-p/4471457</guid>
      <dc:creator>Dinakar-Nethi</dc:creator>
      <dc:date>2025-11-19T18:33:38Z</dc:date>
    </item>
    <item>
      <title>General Availability announcement of Backup/Restore capabilities in SQL Server 2025</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/general-availability-announcement-of-backup-restore-capabilities/ba-p/4467065</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Over the past several months,&amp;nbsp;we’ve&amp;nbsp;heard from countless customers who are eager for more robust options to protect, compress, and safeguard their SQL Server data. Since introducing these features in public preview, organizations of all sizes have&amp;nbsp;validated&amp;nbsp;their value in real-world workloads and provided invaluable feedback. Today, we are thrilled to announce the General Availability (GA) of three powerful SQL Server 2025 features: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Backups on Secondary for Always&amp;nbsp;On&amp;nbsp;Availability Groups&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;ZSTD Compression&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, and &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;Immutable Backups for Ransomware Protection&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;. These advancements are now ready for production use, built around the needs and requests of the SQL Server&amp;nbsp;customers.&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG style="color: rgb(30, 30, 30); font-size: 28px;"&gt;&lt;SPAN data-contrast="auto"&gt;Backups on Secondary for SQL Server Always On Availability Groups&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Previously in preview, this feature now reaches GA, allowing you to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;offload backup operations to secondary replicas&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;in Always&amp;nbsp;On&amp;nbsp;Availability Groups. This enhancement&amp;nbsp;optimizes&amp;nbsp;resource&amp;nbsp;utilization&amp;nbsp;and minimizes overhead on primary replicas, ensuring better performance for mission-critical workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What’s New in GA:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="1" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Improved reliability and support for production environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Comprehensive support: Full, differential, and transaction log backups are now fully supported on secondary replicas—not just COPY_ONLY and transaction logs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Reduced impact on primary replica performance.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Simplified high-availability strategies.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Learn more from the original announcement:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/introducing-backups-on-secondary-for-sql-server-always-on-availability-groups-wi/4422167" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Introducing Backups on Secondary for SQL Server Always On Availability Groups&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt; &lt;/P&gt;
&lt;H3&gt;&lt;STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;ZSTD Compression in SQL Server 2025&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The GA of ZSTD compression brings modern, efficient data compression to SQL Server.&amp;nbsp;ZSTD compression introduces industry-leading performance and efficiency, letting you save storage and speed up workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What’s New in GA:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="3" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Full production support for ZSTD across key workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Faster compression and decompression compared to legacy algorithms.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Lower storage footprint without sacrificing performance.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Choose your algorithm: ZSTD is now a standard&amp;nbsp;option&amp;nbsp;right alongside MS_XPRESS for row, page, and backup compression.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Tunable compression levels: Administrators can select from LOW, MEDIUM, or HIGH to balance resource use and savings.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="4" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Ideal for large-scale data environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Explore the preview details:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/zstd-compression-in-sql-server-2025/4415418" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;ZSTD Compression in SQL Server 2025&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Backups to immutable storage: A Powerful Shield Against Ransomware&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Your backups are now safer than ever. Thanks to native support for &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;immutability with Azure Blob Storage&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, backup files can be&amp;nbsp;rendered&amp;nbsp;tamper-proof—protecting them from ransomware or even accidental deletion.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Key Benefits:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Strong defense against ransomware and malicious tampering.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Compliance with regulatory requirements for data integrity.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Peace of mind for critical backup strategies.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Read the detailed use-case and how-to: &lt;/SPAN&gt;&lt;A href="https://techcommunity.microsoft.com/blog/azuresqlblog/immutability-a-powerful-shield-against-ransomware-in-sql-environments/4427180" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Immutability: A Powerful Shield Against Ransomware in SQL Environments&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These features collectively empower organizations to:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Optimize&amp;nbsp;performance and resource&amp;nbsp;utilization.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Reduce operational costs through efficient compression.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Strengthen security posture against evolving threats.&lt;/SPAN&gt; &amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Get Started&amp;nbsp;Today&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;These features are available to all SQL Server 2025 customers. Ready to elevate your data protection, efficiency, and compliance posture?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Access the official SQL Server 2025 documentation for step-by-step guides&amp;nbsp;via&amp;nbsp;visit&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/sql" target="_blank"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Review upgrade guidance and best practices.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Explore real-world configurations and FAQs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Upgrade now and unlock the next level of resilience, efficiency, and security for your SQL Server workloads!&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Nov 2025 18:15:46 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/general-availability-announcement-of-backup-restore-capabilities/ba-p/4467065</guid>
      <dc:creator>Dinakar-Nethi</dc:creator>
      <dc:date>2025-11-19T18:15:46Z</dc:date>
    </item>
    <item>
      <title>How to get a free Azure SQL Database or Managed Instance</title>
      <link>https://techcommunity.microsoft.com/t5/azure-sql-blog/how-to-get-a-free-azure-sql-database-or-managed-instance/ba-p/4471390</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Next to the performance and security proven engine, with Azure SQL solutions you’re getting dozens of other benefits, such as auto-scaling, auto-patching/maintenance, auto-backups and built-in HA. Free Azure SQL offers fully managed resources with &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;zero cost&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt; and &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;zero commitment&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="auto"&gt;. There’re two options designed to start for free, test and grow at your pace:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="0" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Free &lt;STRONG&gt;Azure SQL Database&lt;/STRONG&gt; offer – Ideal for new applications or occasional/light workloads with serverless auto-scale and minimal admin work.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Free &lt;STRONG&gt;Azure SQL Managed Instance &lt;/STRONG&gt;offer – Perfect for moderate SQL Server workloads in with near 100% compatibility, cross-DB queries, and SQL Agents.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;img&gt;User can choose one of these two offers or try both of them without any cost!&lt;/img&gt;
&lt;P class="lia-clear-both"&gt;&lt;SPAN data-contrast="auto"&gt;This guide will help you choose the right option based on your scenario and show you how to get started in minutes. If you already know your way around, &lt;A class="lia-external-url" href="https://portal.azure.com/#view/HubsExtension/ServiceMenuBlade/~/overview/extension/SqlAzureExtension/menuId/AzureSqlHub/itemId/SingleDatabase" target="_blank" rel="noopener"&gt;skip ahead and start for free now via Azure SQL Hub.&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1 class="lia-clear-both"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;Path #1 – &lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;Sta&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;rt, ex&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;peri&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;men&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;t&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt; and &lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;bui&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;ld new &lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;appli&lt;/SPAN&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;cations&lt;/SPAN&gt; &lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;in cloud&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;Azure SQL database free offer is best for building new applications, developing prototypes, or running light workloads in the cloud. This offer lets you create &lt;STRONG&gt;up to 10 Azure SQL databases for free, &lt;/STRONG&gt;with &lt;STRONG&gt;no expiration&lt;/STRONG&gt;. &lt;STRONG&gt;Each database&lt;/STRONG&gt; can use &lt;STRONG&gt;100,000 vCore-seconds&lt;/STRONG&gt; of compute and &lt;STRONG&gt;32 GB storage&lt;/STRONG&gt; per month at no charge – that’s roughly 28 hours of 1 vCore CPU time,&lt;STRONG&gt; refreshed every month&lt;/STRONG&gt;, per database. The databases run in the General Purpose tier and are serverless, meaning they automatically scale compute based on load and can pause when idle to save resources.&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-contrast="none"&gt;How to get started with an Azure SQL Database for free&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;OL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;Sign in to &lt;A class="lia-external-url" href="https://portal.azure.com/" target="_blank" rel="noopener"&gt;Azure&lt;/A&gt; and open the Azure SQL Database create page. If you don’t have an Azure account, create one (the Azure Free Account gives you credits and other free services, but this SQL DB free offer works with any subscription). In the Azure Portal, navigate to Azure SQL and choose Create SQL Database – or simply go to the&amp;nbsp;&lt;A class="lia-external-url" href="https://aka.ms/azuresqlhub" target="_blank" rel="noopener"&gt;https://aka.ms/azuresqlhub&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;and click “&lt;EM&gt;Try Azure SQL Database for free&lt;/EM&gt;”. This will open the SQL Database deployment blade.&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;Apply the free offer&lt;/STRONG&gt;.&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt; At the top of the Create Azure SQL Database form, look for a banner that says &lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt;“Want to try Azure SQL Database for free?”&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt; and click the Apply offer button. (If you used the Try for free link, the offer may be applied automatically.) When applied, you should see the price summary on the right update to Estimated Cost: $0.&lt;BR /&gt;&lt;/SPAN&gt;&lt;img /&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;STRONG&gt;Fill in database details&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt; Choose your Azure Subscription and either create or select a Resource Group for this database. Give your database a name (e.g. myFreeDB). For Server, create a new logical server (this is an Azure SQL Server that will host the DB) – provide a unique server name, set admin login and password, and choose a region. &lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;Note:&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt; All free databases under one subscription must be in the same region (the first free DB’s region becomes fixed for up to 10 free DBs), so pick a region that makes sense for you (ideally where your app runs).&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;STRONG&gt;Leave the defaults for compute/storage&lt;/STRONG&gt;.&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt; In &lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt;Compute + storage&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt;, the form will default to a serverless General Purpose database with a certain compute size. You can always scale later, so it’s fine to start with the defaults.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;&lt;STRONG&gt;Set “free limit reached” behavior&lt;/STRONG&gt;. In the Basics tab, after applying the offer, you’ll see a setting for Behavior when free limit reached. Choose between:&lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1." data-font="" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1.&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="none"&gt;Auto-pause the database until next month – if the database runs out of free CPU or storage in a month, it will pause (become inaccessible) until the free quota resets next month. This ensures you never get billed. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="o" data-font="Courier New" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Courier New&amp;quot;,&amp;quot;469769242&amp;quot;:[9675],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;Continue using database for additional charges – the database will not pause if it exceeds free limits; it will continue running and any overage will be billed at standard rates. You still get the first 100k seconds and 32 GB free each month. &lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;(Once you choose “continue with charges,” you can’t revert to auto-pause for that database later in the portal). &lt;/SPAN&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="o" data-font="Courier New" data-listid="7" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:1440,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Courier New&amp;quot;,&amp;quot;469769242&amp;quot;:[9675],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;o&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;If you’re just testing, auto-pause is safest; if you’re building something that needs to run continuously, you might opt to continue (just monitor usage)&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H2&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;&lt;SPAN data-ccp-props="{}"&gt;Key benefits of the free Database offer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Serverless auto-scaling:&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="none"&gt;&amp;nbsp;The free DB runs in serverless mode, which can automatically pause when idle and automatically resume on activity. This maximizes your free compute: if your app is only active part of the day, the database uses zero vCore seconds while paused. &lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Monthly reset, no time limit&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="none"&gt;: The free allowances (100k vCore-seconds, 32 GB) renew each month for each database. And unlike some trials, this offer does not expire after several months, you can use it for the lifetime of your subscription. This “free tier” is available to any Azure subscription (new or existing, Pay-Go, CSP, Enterprise, etc.)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="none"&gt;Scales with you (optional pay-as-you-go beyond free)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN data-contrast="none"&gt;: If a database hits the free limits in a given month, you have a choice: either let it auto-pause until the next month (so you never incur charges), or switch to Bill overage to keep it running and simply pay for the over-limit usage. Importantly, you don’t lose your data or need to migrate—the transition from free to paid is seamless. And when your database needs more scaling headroom, more storage, or additional performance, switching to other offers in SQL DB is easy, fast, and does not require any application changes. You’ll still enjoy monthly free credits applied to it, and if you stay within the free resource limits each month, it remains completely free.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H1&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Heading 1 Char"&gt;Path #2 – Already running SQL Server on-premises or in VMs&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt;&lt;SPAN data-contrast="auto"&gt;Every application needs a database – sometimes just one, sometimes many.&lt;/SPAN&gt; &lt;SPAN data-contrast="auto"&gt;Maybe yours began as a small internal tool. Maybe it quietly grew into something business critical. It works. Your application knows how to talk to SQL Server. Your jobs run on schedule. Your database carries years of history, and your backup chain could probably tell the whole story.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Then one day someone asks: &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;“&lt;EM&gt;Can we try running this in the cloud?&lt;/EM&gt;”&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;The first reaction is often hesitation:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Will everything still work?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="3" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Will it be compatible with our SQL Server 20XX version?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="4" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Will we need to rewrite part of the app?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;And if you’re already running SQL Server (Express, Standard, or Enterprise) and your application depends on features that cloud databases don’t typically support such as:&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="5" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Isolated environment with dedicated, separate compute&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="6" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Cross-database queries&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="7" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;SQL Agent jobs&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="8" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Linked servers&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="9" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;CLR assemblies&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="2" data-list-defn-props="{&amp;quot;335551671&amp;quot;:0,&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="10" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Transparent Data Encryption rules already in place&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt; Azure SQL Managed Instance gives you the &lt;STRONG&gt;ability to choose the SQL Server engine&lt;/STRONG&gt; (2022, 2025, or always-up-to-date) delivered as a &lt;STRONG&gt;fully managed service&lt;/STRONG&gt; – giving you the power of SQL Server with the &lt;STRONG&gt;simplicity of the cloud&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 aria-level="2"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;How to get started&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt; with SQL MI for f&lt;/SPAN&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;ree&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;It’s as easy as it can get – all you need to have is an &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://azure.microsoft.com/pricing/purchase-options/azure-account" target="_blank" rel="noopener"&gt;Azure account&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; for free and Azure subscription. If you already have these two, simply open &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://aka.ms/create-free-sqlmi" target="_blank" rel="noopener"&gt;https://aka.ms/create-free-sqlmi&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; – this link will lead you to create Azure SQL Managed Instance page with &lt;STRONG&gt;free offer automatically applied&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P class="lia-clear-both"&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="none"&gt;&lt;SPAN data-contrast="auto"&gt;After populating the mandatory (*) fields in the create page, you will get your free SQL managed instance with &lt;STRONG&gt;built-in availability&lt;/STRONG&gt; and opened networking defaults. Automatically generated &lt;STRONG&gt;free instance name &lt;/STRONG&gt;is &lt;STRONG&gt;customizable &lt;/STRONG&gt;as many other options on the create page.&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;After finishing populating the mandatory fields on &lt;EM&gt;Basics&lt;/EM&gt; tab of create page &lt;STRONG&gt;click on "Review + create" and finish creation&lt;/STRONG&gt;.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;After ~20mins &lt;/STRONG&gt;you will be able to &lt;STRONG&gt;find your deployed instance&lt;/STRONG&gt; in the Azure portal by using the search bar or finding it within the ‘recent resources’ list on&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;the home page, like on the image below.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;After you’ve opened the free SQL MI resource, navigate to the &lt;STRONG&gt;Networking &lt;/STRONG&gt;page in Security and &lt;STRONG&gt;copy the public endpoint&lt;/STRONG&gt;.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;&lt;STRONG&gt;With&amp;nbsp;&lt;/STRONG&gt;this &lt;STRONG&gt;endpoint &lt;/STRONG&gt;you can now &lt;STRONG&gt;connect to your free SQL managed instance&lt;/STRONG&gt; with the tool of your choice, e.g. &lt;/SPAN&gt;&lt;SPAN class="lia-text-color-10"&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/ssms/install/install" target="_blank" rel="noopener"&gt;SSMS 22&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; or &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/sql/tools/visual-studio-code-extensions/mssql/mssql-extension-visual-studio-code" target="_blank" rel="noopener"&gt;VSCode with MSSQL extension&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; – Voilà! It’s that easy to create a free SQL MI and connect to it.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;From here, you can use SSMS Restore wizard or standard T-SQL &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;RESTORE FROM URL&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; command to &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/restore-sample-database-quickstart?view=azuresql#use-the-restore-wizard-to-restore-from-a-backup-file" target="_blank" rel="noopener"&gt;restore database from backup file&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;. You can either use sample database or your company’s database .bak files to test your real workload with Azure SQL Managed Instance. To restore these after you upload them to Azure Storage.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;&lt;SPAN data-ccp-props="{}"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-parastyle="heading 2"&gt;Key benefits of free Managed Instance offer&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;134245418&amp;quot;:true,&amp;quot;134245529&amp;quot;:true,&amp;quot;335559738&amp;quot;:40,&amp;quot;335559739&amp;quot;:0}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You can test your real-life workload for &lt;STRONG&gt;720vCore hours&lt;/STRONG&gt; with a &lt;STRONG&gt;4-vCore&lt;/STRONG&gt; or&lt;STRONG&gt; 8-vCore&lt;/STRONG&gt; free SQL managed instance that comes &lt;STRONG&gt;with 64GB of data&lt;/STRONG&gt; and &lt;STRONG&gt;backup storage&lt;/STRONG&gt; with up to &lt;STRONG&gt;500 databases&lt;/STRONG&gt;.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Benefit&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Why it Matters&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;720vCore hours each month&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;That means you can run your 4-vCore instance for 180 hours or an 8-vCore instance for 90 hours each month.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Included SQL license&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You get hands on enterprise SQL Server – 2022, 2025 or evergreen SQL Server engine version free of charge.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Near 100% compatibility with &lt;/SPAN&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;SQL Server&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You don’t have to rewrite your app or re-architect your database model (most of the time)&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Start/stop schedule by default&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Regular workday (9-5) enabled by default to ensure efficient use (running 4-vCore instance for up to 22 days).&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Restore .bak files directly&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Upload your backup to Azure storage and restore database. Support for .bak files since SQL Server 2008R2.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;SQL Agent Included&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Your jobs, schedules, and routines work the way they do today.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Up to 500 databases&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;With Next-Gen General Purpose tier you can get up to 500 databases.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;64GB of data and backup storage&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Your database is automatically backed for up to 7 days without by default, and you can store up to 64GB of data.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Automatic Patching and HA&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/td&gt;&lt;td&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;You keep the SQL Server experience you know, without maintaining OS/VMs.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{&amp;quot;201341983&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H1&gt;&amp;nbsp;Frequently Asked Questions (FAQs)&lt;/H1&gt;
&lt;OL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;What’s the duration of free offer?&lt;/SPAN&gt;&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;Free Azure SQL Managed Instance offer is available for 12 months since the day of activation for that subscription.&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;Free Azure SQL Database offer is available for up to 10 databases per subscription for lifetime.&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{&amp;quot;335559685&amp;quot;:720}"&gt; &lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;What happens after the free period?&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;Free SQL managed instance will be stopped and you’ll have an option to upgrade it to paid for 30 days. Afterwards it’ll be deleted.&lt;SPAN style="color: rgb(30, 30, 30);"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;Free SQL database will be a&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;uto-paused until next month unless you explicitly set &lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;“&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;Continue using database for additional charges&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;” option for “&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;free limit reached&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;” behavior. &lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279,&amp;quot;335559991&amp;quot;:360}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI style="font-weight: bold;" aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG style="font-weight: bold;"&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{&amp;quot;134233117&amp;quot;:false,&amp;quot;134233118&amp;quot;:false,&amp;quot;201341983&amp;quot;:0,&amp;quot;335551550&amp;quot;:1,&amp;quot;335551620&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559737&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:160,&amp;quot;335559740&amp;quot;:279,&amp;quot;335559991&amp;quot;:360}"&gt;What are the limitations?&lt;/SPAN&gt;&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;Visit &lt;A class="lia-external-url" style="font-style: normal; font-weight: 400; background-color: rgb(255, 255, 255);" href="https://learn.microsoft.com/azure/azure-sql/database/free-offer?view=azuresql#offer-limitations" target="_blank" rel="noopener"&gt;free Azure SQL DB offer limitations page&lt;/A&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&lt;SPAN data-contrast="auto"&gt;Visit &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/azure/azure-sql/managed-instance/free-offer?view=azuresql#free-offer-limits" target="_blank" rel="noopener"&gt; free Azure SQL Managed Instance offer limitations page&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;STRONG&gt;What are the prices for paid Azure SQL SKUs?&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; &lt;BR /&gt;&lt;/SPAN&gt;Regular prices for Azure SQL services can vary&lt;SPAN style="color: rgb(30, 30, 30);" data-contrast="auto"&gt; depending on the region, compute model, SQL license and service tier. For more precise information visit:&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt; &lt;/SPAN&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;A class="lia-external-url" style="font-style: normal; font-weight: 400; background-color: rgb(255, 255, 255);" href="https://azure.microsoft.com/pricing/details/azure-sql-managed-instance/single/#pricing" target="_blank" rel="noopener"&gt;Azure SQL Managed Instance pricing&lt;/A&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt; &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI aria-setsize="-1" data-leveltext="%1)" data-font="" data-listid="11" data-list-defn-props="{&amp;quot;134224900&amp;quot;:true,&amp;quot;335552541&amp;quot;:0,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769242&amp;quot;:[65533,0],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;%1)&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;hybridMultilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;A class="lia-external-url" style="font-style: normal; font-weight: 400; background-color: rgb(255, 255, 255);" href="https://azure.microsoft.com/pricing/details/azure-sql-database/single/#pricing" target="_blank" rel="noopener"&gt;Azure SQL Database pricing&lt;/A&gt;&lt;SPAN style="color: rgb(30, 30, 30);" data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;H1&gt;Closing&lt;/H1&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Whether you’re building something new or bringing an existing SQL Server workload to the cloud, Azure SQL gives you a way to start free, safely, and on your own terms. No risk, no pressure – just the same familiar SQL experience, with less overhead and more room to grow.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Want to get started with free Azure SQL offers?&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="1" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Learn more about the &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://aka.ms/freesqldb" target="_blank" rel="noopener"&gt;free Azure SQL Database offer&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt; if you’re building new or serverless workloads.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI aria-setsize="-1" data-leveltext="" data-font="Symbol" data-listid="5" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559685&amp;quot;:720,&amp;quot;335559991&amp;quot;:360,&amp;quot;469769226&amp;quot;:&amp;quot;Symbol&amp;quot;,&amp;quot;469769242&amp;quot;:[8226],&amp;quot;469777803&amp;quot;:&amp;quot;left&amp;quot;,&amp;quot;469777804&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;469777815&amp;quot;:&amp;quot;multilevel&amp;quot;}" data-aria-posinset="2" data-aria-level="1"&gt;&lt;SPAN data-contrast="auto"&gt;Learn more about the &lt;/SPAN&gt;&lt;A class="lia-external-url" href="https://aka.ms/freesqlmi" target="_blank" rel="noopener"&gt;free Azure SQL Managed Instance offer&lt;/A&gt; &lt;SPAN data-contrast="auto"&gt;if you want to test your existing SQL Server workloads in the cloud.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 19 Nov 2025 16:56:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/azure-sql-blog/how-to-get-a-free-azure-sql-database-or-managed-instance/ba-p/4471390</guid>
      <dc:creator>StrahinjaRodic</dc:creator>
      <dc:date>2025-11-19T16:56:31Z</dc:date>
    </item>
  </channel>
</rss>

