<?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>rss.livelink.threads-in-node</title>
    <link>https://techcommunity.microsoft.com/t5/sql-server/ct-p/SQL-Server</link>
    <description>rss.livelink.threads-in-node</description>
    <pubDate>Fri, 10 Apr 2026 18:13:52 GMT</pubDate>
    <dc:creator>SQL-Server</dc:creator>
    <dc:date>2026-04-10T18:13:52Z</dc:date>
    <item>
      <title>Microsoft ODBC Driver 18.6.2 for SQL</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-odbc-driver-18-6-2-for-sql/ba-p/4509401</link>
      <description>&lt;H2&gt;What Is the Microsoft ODBC Driver for SQL?&lt;/H2&gt;
&lt;P&gt;The Microsoft ODBC Driver for SQL provides native connectivity from Windows, Linux, and macOS applications to SQL Server, Azure SQL Database, Azure SQL Managed Instance, and Microsoft Fabric. It is the recommended driver for new application development using the ODBC API, and it supports , Always Encrypted, distributed transactions, and modern authentication methods including Microsoft Entra ID (formerly Azure Active Directory).&lt;/P&gt;
&lt;P&gt;Whether you're building high-throughput data pipelines, managing enterprise databases, or developing cloud-native applications on Microsoft Fabric, the ODBC driver is a foundational component of the SQL Server connectivity stack.&lt;/P&gt;
&lt;H2&gt;What's New in 18.6.2&lt;/H2&gt;
&lt;H3&gt;Improved Vector Parameter Handling for Prepared Statements&lt;/H3&gt;
&lt;P&gt;Version 18.6.2 improves the handling of output and input/output vector parameters when using prepared statements. This enhancement benefits applications that rely on parameterized queries with array bindings — a common pattern in batch processing and high-performance data access layers.&lt;/P&gt;
&lt;H3&gt;Microsoft Fabric Redirection Support (Up to 10 Redirections)&lt;/H3&gt;
&lt;P&gt;The driver now allows up to&amp;nbsp;&lt;STRONG&gt;10 server redirections per connection attempt&lt;/STRONG&gt;, up from previous limits. This change directly supports&amp;nbsp;&lt;STRONG&gt;Microsoft Fabric&lt;/STRONG&gt;&amp;nbsp;redirection scenarios, where connections may be transparently routed through multiple endpoints before reaching the target workspace. If your applications connect to Fabric SQL endpoints, this update ensures more reliable connectivity in complex routing topologies.&lt;/P&gt;
&lt;H3&gt;Alpine Linux Packaging Improvements&lt;/H3&gt;
&lt;P&gt;Architecture detection and packaging have been improved for&amp;nbsp;&lt;STRONG&gt;Alpine Linux&lt;/STRONG&gt;&amp;nbsp;environments, making it easier to deploy the driver in lightweight, container-based workloads that use Alpine as a base image.&lt;/P&gt;
&lt;H2&gt;Bug Fixes&lt;/H2&gt;
&lt;P&gt;This release addresses several important issues reported by the community and identified through internal testing:&lt;/P&gt;
&lt;H3&gt;Parameter Array Processing&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;SQL_ATTR_PARAMS_PROCESSED_PTR accuracy&lt;/STRONG&gt;&amp;nbsp;— Fixed an issue where the number of processed parameter sets was not reported correctly when executing parameter arrays. Applications that inspect&amp;nbsp;SQL_ATTR_PARAMS_PROCESSED_PTR&amp;nbsp;after batch execution will now see the correct count.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;SQL_PARAM_IGNORE handling&lt;/STRONG&gt;&amp;nbsp;— Fixed&amp;nbsp;SQL_ATTR_PARAMS_PROCESSED_PTR&amp;nbsp;and row counting when&amp;nbsp;SQL_PARAM_IGNORE&amp;nbsp;is used within parameter arrays, ensuring that ignored parameters are accounted for properly.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Crash Fixes&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;SQLNumResultCols segmentation fault&lt;/STRONG&gt;&amp;nbsp;— Resolved a segfault that occurred when calling&amp;nbsp;SQLNumResultCols&amp;nbsp;in describe-only scenarios where no parameter bindings are present.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Table-valued parameter (TVP) NULL handling&lt;/STRONG&gt;&amp;nbsp;— Fixed a segmentation fault triggered by NULL values in TVP arguments. Applications passing TVPs with nullable columns should no longer experience unexpected crashes.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;bcp_bind Consecutive Field Terminators (Known Issue from 18.6.1)&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;bcp_bind fix&lt;/STRONG&gt;&amp;nbsp;— Corrected&amp;nbsp;bcp_bind&amp;nbsp;to properly handle consecutive field terminators without misinterpreting them as empty fields. This resolves a&amp;nbsp;&lt;STRONG&gt;known issue introduced in version 18.6.1&lt;/STRONG&gt;, where consecutive terminators were incorrectly interpreted as NULL values instead of empty strings. If you deferred upgrading to 18.6.1 because of this issue, 18.6.2 is the recommended target version.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Linux Packaging&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Debian EULA acceptance&lt;/STRONG&gt;&amp;nbsp;— Fixed Debian package installation to correctly honor EULA acceptance and complete successfully, eliminating a friction point for automated deployments.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;RPM side-by-side installation&lt;/STRONG&gt;&amp;nbsp;— Fixed RPM packaging rules to allow installing multiple driver versions side by side, which is important for environments that need to maintain backward compatibility or perform staged rollouts.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Distributed Transactions&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;XA recovery&lt;/STRONG&gt;&amp;nbsp;— Fixed XA recovery to compute transaction IDs correctly, avoiding scenarios where recoverable transactions could be missed during the recovery process. This is a critical fix for applications using distributed transactions with XA transaction managers.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Upgrading from Older Versions&lt;/H2&gt;
&lt;P&gt;If you are upgrading from a version prior to 18.6.1, you will also benefit from the features introduced in that release:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Vector data type support&lt;/STRONG&gt;&amp;nbsp;— Native support for the&amp;nbsp;vector&amp;nbsp;data type (float32), enabling AI and machine learning scenarios directly through ODBC.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;ConcatNullYieldsNull property&lt;/STRONG&gt;&amp;nbsp;— Connection-level control over null concatenation behavior.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;New platform support&lt;/STRONG&gt;&amp;nbsp;— Azure Linux 3.0 ARM, Debian 13, Red Hat 10, and Ubuntu 25.10.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Version 18.6.2 builds on these additions with the stability and correctness fixes described above.&lt;/P&gt;
&lt;H2&gt;Download &amp;amp; Installation&lt;/H2&gt;
&lt;H3&gt;Windows&lt;/H3&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Platform&lt;/th&gt;&lt;th&gt;Download Link&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;x64&lt;/td&gt;&lt;td&gt;&lt;A href="https://go.microsoft.com/fwlink/?linkid=2358430" target="_blank" rel="noopener"&gt;Download&lt;/A&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;x86&lt;/td&gt;&lt;td&gt;&lt;A href="https://go.microsoft.com/fwlink/?linkid=2358335" target="_blank" rel="noopener"&gt;Download&lt;/A&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ARM64&lt;/td&gt;&lt;td&gt;&lt;A href="https://go.microsoft.com/fwlink/?linkid=2358431" target="_blank" rel="noopener"&gt;Download&lt;/A&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H3&gt;Linux &amp;amp; macOS&lt;/H3&gt;
&lt;P&gt;Installation packages for supported Linux distributions and macOS are available on Microsoft Learn:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/sql/connect/odbc/download-odbc-driver-for-sql-server" target="_blank" rel="noopener"&gt;Download ODBC Driver for SQL Server (Linux/macOS)&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Documentation &amp;amp; Release Notes&lt;/H2&gt;
&lt;P&gt;For the full list of changes, platform support details, and known issues, see the official release notes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/sql/connect/odbc/windows/release-notes-odbc-sql-server-windows" target="_blank" rel="noopener"&gt;Windows Release Notes&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/sql/connect/odbc/linux-mac/release-notes-odbc-sql-server-linux-mac" target="_blank" rel="noopener"&gt;Linux &amp;amp; macOS Release Notes&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/sql/connect/odbc/bug-fixes" target="_blank" rel="noopener"&gt;Bug Fixes&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Get Started&lt;/H2&gt;
&lt;P&gt;We encourage all users to upgrade to version 18.6.2.1 to take advantage of the fixes and improvements in this release — particularly if you are using parameter arrays, table-valued parameters, bcp operations, or connecting to Microsoft Fabric endpoints.&lt;/P&gt;
&lt;P&gt;As always, we welcome your feedback. If you encounter issues, please report them through the&amp;nbsp;&lt;A href="https://aka.ms/sqlfeedback" target="_blank" rel="noopener"&gt;SQL Server feedback channel&lt;/A&gt;&amp;nbsp;or open an issue on the&amp;nbsp;&lt;A href="https://github.com/microsoft/ODBC-Specification" target="_blank" rel="noopener"&gt;Microsoft ODBC Driver GitHub repository&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Happy coding!&lt;/P&gt;</description>
      <pubDate>Wed, 08 Apr 2026 17:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-odbc-driver-18-6-2-for-sql/ba-p/4509401</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-04-08T17:00:00Z</dc:date>
    </item>
    <item>
      <title>Unable to install SQL Server 2022 Express (installer glitch + SSMS error)</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/unable-to-install-sql-server-2022-express-installer-glitch-ssms/m-p/4508367#M6027</link>
      <description>&lt;P&gt;Hi, I recently purchased a new Lenovo laptop, and I am trying to install Microsoft SQL Server 2022 Express along with SSMS.&lt;/P&gt;&lt;P&gt;SSMS installed successfully, but SQL Server installation fails, and sometimes the installer UI glitches or does not load properly.&lt;/P&gt;&lt;P&gt;Because of this, I am getting connection errors in SSMS like "server not found" and "error 40".&lt;/P&gt;&lt;P&gt;I am not very familiar with technical troubleshooting. Can someone guide me step-by-step in a simple way to install SQL Server correctly?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Fri, 03 Apr 2026 09:19:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/unable-to-install-sql-server-2022-express-installer-glitch-ssms/m-p/4508367#M6027</guid>
      <dc:creator>Max12</dc:creator>
      <dc:date>2026-04-03T09:19:31Z</dc:date>
    </item>
    <item>
      <title>Introducing Pacemaker HA Agent v2 for SQL Server on Linux (In Preview)</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/introducing-pacemaker-ha-agent-v2-for-sql-server-on-linux-in/ba-p/4505118</link>
      <description>&lt;P&gt;We are excited to introduce the next generation of High Availability (HA) Agent for SQL Server on Linux:&amp;nbsp;&lt;STRONG&gt;Pacemaker HA Agent v2&lt;/STRONG&gt;. This release is a major step forward, designed to reduce planned and unplanned failover times, compared to the previous agent, based on internal engineering improvements.&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Why Pacemaker Is Required for SQL Server HA on Linux&lt;/H3&gt;
&lt;P&gt;For users new to Linux, it’s important to understand&amp;nbsp;how high availability works on this platform.&lt;/P&gt;
&lt;P&gt;On Windows, SQL Server AlwaysOn Availability Groups rely on Windows Server Failover Clustering (WSFC) to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Monitor node health&lt;/LI&gt;
&lt;LI&gt;Detect failures&lt;/LI&gt;
&lt;LI&gt;Orchestrate automatic failovers&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;SQL Server AlwaysOn Availability Groups on Linux rely on an external cluster orchestrator for health monitoring and failover coordination, with Pacemaker HA Agent being one of the cluster orchestrators, responsible for&lt;/SPAN&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Monitoring node and application health&lt;/LI&gt;
&lt;LI&gt;Coordinating failover decisions&lt;/LI&gt;
&lt;LI&gt;Helping mitigate split‑brain scenarios through improved write‑lease evaluation&lt;/LI&gt;
&lt;LI&gt;Managing resources such as Availability Groups and listeners&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The Pacemaker HA Agent is the integration layer that allows Pacemaker to understand SQL Server health and manage Availability Groups safely.&lt;/P&gt;
&lt;H3&gt;Evolution of the SQL Server Pacemaker HA Agent&lt;/H3&gt;
&lt;P&gt;With SQL Server 2025 CU3 and later, Pacemaker HA Agent v2 is available in preview for Red Hat Enterprise Linux and Ubuntu through the mssql-server-ha package.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Pacemaker HA agent v2 uses a service‑based architecture. The agent runs as a dedicated system service named &lt;STRONG&gt;mssql-pcsag&lt;/STRONG&gt;, which is responsible for handling SQL Server–specific high availability operations and communication with Pacemaker.&lt;/P&gt;
&lt;P&gt;You can manage mssql-pcsag service by using standard system service controls to start, restart, status and stop this service by using the operating system's service manager (for example, systemctl).&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;# Start the mssql-pcsag service 
sudo systemctl start mssql-pcsag 

# Restart the mssql-pcsag service 
sudo systemctl restart mssql-pcsag 

# Check the status of the mssql-pcsag service 
sudo systemctl status mssql-pcsag 

# Stop the mssql-pcsag service 
sudo systemctl stop mssql-pcsag&lt;/LI-CODE&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;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;H4&gt;Limitations of Pacemaker HA Agent v1&lt;/H4&gt;
&lt;P&gt;While the original agent enabled SQL Server HA on Linux, customers running production workloads encountered several challenges:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Failover delays of 30 seconds to 2 minutes during planned or unplanned events&lt;/LI&gt;
&lt;LI&gt;Limited health detection, missing conditions such as I/O stalls and memory pressure&lt;/LI&gt;
&lt;LI&gt;Rigid failover behavior, unlike the flexible policies available on Windows (WSFC)&lt;/LI&gt;
&lt;LI&gt;Incomplete write‑lease handling, requiring custom logic&lt;/LI&gt;
&lt;LI&gt;No support for TLS1.3 for Pacemaker and SQL Server communications&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;How Pacemaker HA Agent v2 Addresses These Gaps&lt;/H3&gt;
&lt;P&gt;Pacemaker HA Agent v2 is a &lt;STRONG&gt;ground‑up improvement&lt;/STRONG&gt;, designed to improve the reliability characteristics of SQL Server HA on Linux.&lt;/P&gt;
&lt;H4&gt;1. Faster &amp;amp; Smarter Failover Decisions&lt;/H4&gt;
&lt;P&gt;The new agent introduces a &lt;STRONG&gt;service‑based health monitoring architecture&lt;/STRONG&gt;, moving beyond basic polling. This allows SQL Server to report detailed diagnostic signals - improving detection speed and helping reduce failover delays in supported configurations.&lt;/P&gt;
&lt;H4&gt;2. Flexible Automatic Failover Policies inspired by the WSFC health model&lt;/H4&gt;
&lt;P&gt;Pacemaker HA Agent v2 supports&amp;nbsp;&lt;STRONG&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/configure-flexible-automatic-failover-policy?view=sql-server-ver17#failure-condition-level" target="_blank" rel="noopener"&gt;failure‑condition levels&lt;/A&gt; (1–5)&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/configure-flexible-automatic-failover-policy?view=sql-server-ver17#HCtimeout" target="_blank" rel="noopener"&gt;health‑check timeout&lt;/A&gt; &lt;/STRONG&gt;model aligned with those available in AlwaysOn Availability Groups on Windows.&lt;/P&gt;
&lt;P&gt;This provides:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Fine‑grained control over failover sensitivity, allowing administrators to tune when failover should occur.&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Improved detection of internal SQL Server conditions, such as memory pressure, internal deadlocks, orphaned spinlocks, and other engine‑level failures.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Failover decisions are now driven by detailed diagnostics from sp_server_diagnostics, enabling faster and more accurate response to unhealthy states and providing enhanced resiliency capabilities for SQL Server AG on Linux.&lt;/P&gt;
&lt;P&gt;You can configure the failure condition level and health check timeout using the following commands:&lt;/P&gt;
&lt;LI-CODE lang="sql"&gt;-- Setting failure condition level 
ALTER AVAILABILITY GROUP pacemakerag SET (FAILURE_CONDITION_LEVEL = 2);&lt;/LI-CODE&gt;&lt;LI-CODE lang="sql"&gt;-- Setting health check timeout 
ALTER AVAILABILITY GROUP pacemakerag SET (HEALTH_CHECK_TIMEOUT = 60000);&lt;/LI-CODE&gt;
&lt;P&gt;After applying the configuration, validate the setting using the&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-availability-groups-transact-sql?view=sql-server-ver17" target="_blank" rel="noopener"&gt;sys.availability_groups DMV:&lt;/A&gt;&lt;/P&gt;
&lt;img /&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;nbsp;&lt;/H4&gt;
&lt;H4&gt;3. Robust Write Lease Validity Handling&lt;/H4&gt;
&lt;P&gt;To prevent split‑brain scenarios, SQL Server on Linux uses an&amp;nbsp;external &lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/sql/t-sql/statements/create-availability-group-transact-sql?view=sql-server-ver17#write_lease_validity" target="_blank" rel="noopener"&gt;write‑lease&lt;/A&gt; mechanism.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In v1, lease information was not fully integrated into failover decisions.&lt;/LI&gt;
&lt;LI&gt;In v2, the agent&amp;nbsp;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;actively evaluates the write-lease validity&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;, before initiating transitions. This supports controlled role changes and&amp;nbsp;improved data consistency behavior during failover events, depending on cluster configuration&lt;/SPAN&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H4&gt;4. TLS 1.3 Support&lt;/H4&gt;
&lt;P&gt;Pacemaker HA agent v2 includes design updates to&amp;nbsp;support TLS 1.3–based communication for health checks and failover operations, when TLS 1.3 is enabled.&lt;/P&gt;
&lt;H3&gt;Supported Versions &amp;amp; Distributions&lt;/H3&gt;
&lt;P&gt;Pacemaker HA Agent v2 supports:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SQL Server 2025 CU3 or later&lt;/LI&gt;
&lt;LI&gt;RHEL 9 or later&lt;/LI&gt;
&lt;LI&gt;Ubuntu 22.04 or higher.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Preview upgrade &amp;amp; migration guidance for non-production environments&lt;/H3&gt;
&lt;P&gt;New or existing non-prod deployments running SQL Server 2025 (17.x) can migrate from Pacemaker HA Agent v1 to v2 using following approach:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Drop the existing AG resource&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="shell"&gt;sudo pcs resource delete &amp;lt;NameForAGResource&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;This temporarily pauses AG synchronization but does not delete the Availability Group (AG). After the resource is recreated, Pacemaker resumes management and AG synchronization automatically.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a new AG resource using the v2 agent (ocf:mssql:agv2)&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="shell"&gt;sudo pcs resource create &amp;lt;NameForAGResource&amp;gt; ocf:mssql:agv2 ag_name=&amp;lt;AGName&amp;gt; meta failure-timeout=30s promotable notify=true&lt;/LI-CODE&gt;
&lt;UL&gt;
&lt;LI&gt;Validate cluster health&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI-CODE lang="bash"&gt;sudo pcs status&lt;/LI-CODE&gt;
&lt;UL&gt;
&lt;LI&gt;Resume normal operations&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;References&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-create-availability-group?view=sql-server-ver17&amp;amp;tabs=ru#pacemaker-ha-agent-v2-preview" target="_blank" rel="noopener"&gt;Create and Configure an Availability Group for SQL Server on Linux - SQL Server | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Thank You,&lt;/P&gt;
&lt;P&gt;Engineering: David Liao&lt;/P&gt;
&lt;P&gt;Attinder Pal Singh&lt;/P&gt;</description>
      <pubDate>Fri, 03 Apr 2026 08:31:22 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/introducing-pacemaker-ha-agent-v2-for-sql-server-on-linux-in/ba-p/4505118</guid>
      <dc:creator>Attinder_Pal_Singh</dc:creator>
      <dc:date>2026-04-03T08:31:22Z</dc:date>
    </item>
    <item>
      <title>SQL Server Integration Services Projects 2022+ GA</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-integration-services/sql-server-integration-services-projects-2022-ga/ba-p/4507575</link>
      <description>&lt;P data-line="2"&gt;We're pleased to announce the&amp;nbsp;&lt;STRONG&gt;General Availability release of SQL Server Integration Services (SSIS) Projects 2022+&lt;/STRONG&gt;, bringing full support for&amp;nbsp;&lt;STRONG&gt;SQL Server 2025&lt;/STRONG&gt;&amp;nbsp;and&amp;nbsp;&lt;STRONG&gt;Visual Studio 2026&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P data-line="4"&gt;With this release, SSIS Projects now supports target server versions from&amp;nbsp;SQL Server 2017 through SQL Server 2025&amp;nbsp;and works with both&amp;nbsp;&lt;STRONG&gt;Visual Studio 2022&lt;/STRONG&gt;&amp;nbsp;and&amp;nbsp;&lt;STRONG&gt;Visual Studio 2026&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H2 data-line="12"&gt;Download&lt;/H2&gt;
&lt;P data-line="14"&gt;&lt;A href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices" target="_blank" rel="noopener" data-href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices"&gt;SQL Server Integration Services Projects 2022+ on Visual Studio Marketplace&lt;/A&gt;&lt;/P&gt;
&lt;P data-line="14"&gt;&lt;STRONG&gt;Version:&lt;/STRONG&gt;&amp;nbsp;2.2&lt;BR /&gt;&lt;STRONG&gt;Build Version:&lt;/STRONG&gt;&amp;nbsp;17.0.1010.6&lt;BR /&gt;&lt;STRONG&gt;Release Date:&lt;/STRONG&gt; April 1, 2026&lt;/P&gt;
&lt;P data-line="16"&gt;For detailed release notes, see the&amp;nbsp;&lt;A href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices&amp;amp;ssr=false#overview" target="_blank" rel="noopener" data-href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices&amp;amp;ssr=false#overview"&gt;Marketplace release notes&lt;/A&gt;. For troubleshooting and offline installation, visit the&amp;nbsp;&lt;A href="https://go.microsoft.com/fwlink/?linkid=2217005" target="_blank" rel="noopener" data-href="https://go.microsoft.com/fwlink/?linkid=2217005"&gt;SSIS in VS2022+ troubleshooting guide&lt;/A&gt;.&lt;/P&gt;
&lt;H2 data-line="20"&gt;Share your feedback&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices&amp;amp;ssr=false#qna" target="_blank" rel="noopener" data-href="https://marketplace.visualstudio.com/items?itemName=SSIS.MicrosoftDataToolsIntegrationServices&amp;amp;ssr=false#qna"&gt;Visual Studio Marketplace Q&amp;amp;A&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 02 Apr 2026 02:11:27 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-integration-services/sql-server-integration-services-projects-2022-ga/ba-p/4507575</guid>
      <dc:creator>Chunhua</dc:creator>
      <dc:date>2026-04-02T02:11:27Z</dc:date>
    </item>
    <item>
      <title>Migrate SQL 2016 to SQL 2022 - Detail Work Breadown Structre (WBS)</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/migrate-sql-2016-to-sql-2022-detail-work-breadown-structre-wbs/m-p/4507031#M6026</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;We’ve started a project to migrate from SQL Server 2016 to SQL Server 2022, and I’m currently preparing a detailed Work Breakdown Structure (WBS). Has anyone in this community gone through a similar migration and been willing to share their project WBS, either in .mpp or Excel format?&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Subhasish Roy&lt;/P&gt;</description>
      <pubDate>Mon, 30 Mar 2026 20:43:04 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/migrate-sql-2016-to-sql-2022-detail-work-breadown-structre-wbs/m-p/4507031#M6026</guid>
      <dc:creator>subhasishroy2025</dc:creator>
      <dc:date>2026-03-30T20:43:04Z</dc:date>
    </item>
    <item>
      <title>Invoke SSIS Package Activity in Microsoft Fabric (Preview)</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-integration-services/invoke-ssis-package-activity-in-microsoft-fabric-preview/ba-p/4506192</link>
      <description>&lt;P&gt;SQL Server Integration Services (SSIS) has been a cornerstone of enterprise data integration for decades, powering mission-critical ETL workloads across thousands of organizations worldwide. Now&lt;STRONG&gt; Invoke SSIS Package activity (Preview) in Data Factory in Microsoft Fabric&lt;/STRONG&gt;, brings the power of your existing SSIS investments directly into Fabric's unified SaaS analytics platform.&lt;/P&gt;
&lt;P&gt;Many enterprises have significant investments in SSIS packages that orchestrate complex ETL workflows across on-premises databases, file systems, and cloud services. Until now, running these packages required either an on-premises SQL Server or the Azure-SSIS Integration Runtime in Azure Data Factory. Both options meant managing additional infrastructure and staying outside the Fabric ecosystem.&lt;/P&gt;
&lt;P&gt;But the &lt;STRONG&gt;Invoke SSIS Package pipeline activity&lt;/STRONG&gt; in Microsoft Fabric Data Factory changes this. It allows you to execute your existing SSIS packages directly from a Fabric pipeline, enabling true lift-and-shift of legacy ETL workloads into Fabric — no package rewrite required. No integration runtime management, no stop/starting IRs— just add it to your pipeline!&lt;/P&gt;
&lt;P&gt;Key benefits include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Zero rewrite migration&lt;/STRONG&gt;: Run your existing SSIS packages as-is inside Fabric pipelines. Protect years of ETL investment while moving to a modern platform.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Unified orchestration&lt;/STRONG&gt;: Combine SSIS package execution with Fabric-native activities — Copy activity, Dataflow Gen2, Notebook, Stored Procedure, and more — in a single pipeline.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;OneLake integration&lt;/STRONG&gt;: SSIS packages running in Fabric can leverage OneLake as package store and write package execution logs into OneLake.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Simplified management&lt;/STRONG&gt;: No need to provision or manage separate integration runtimes. Fabric handles the compute for executing your SSIS packages.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Getting started&lt;/H2&gt;
&lt;P&gt;Getting started with the Invoke SSIS Package activity takes just a few steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Upload packages to OneLake&lt;/STRONG&gt; — Move your &lt;EM&gt;.dtsx&lt;/EM&gt; (and optional &lt;EM&gt;.dtsConfig&lt;/EM&gt;) files into a Lakehouse via OneLake file explorer or the Fabric portal.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Add the activity to a pipeline&lt;/STRONG&gt; — Create or open a new pipeline, then add the &lt;STRONG&gt;Invoke SSIS Package&lt;/STRONG&gt; activity from the Activities pane.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-center"&gt;&lt;EM&gt;Figure: Add an Invoke SSIS Package activity.&lt;/EM&gt;&lt;/P&gt;
&lt;OL start="3"&gt;
&lt;LI&gt;&lt;STRONG&gt;Configure package settings&lt;/STRONG&gt; — Browse to select your package and configuration files from OneLake and optionally enable logging to capture execution logs in OneLake.&lt;/LI&gt;
&lt;/OL&gt;
&lt;img /&gt;
&lt;P class="lia-align-center"&gt;&lt;EM&gt;Figure: Invoke SSIS package activity configuration.&lt;/EM&gt;&lt;/P&gt;
&lt;OL start="4"&gt;
&lt;LI&gt;&lt;STRONG&gt;Set runtime values&lt;/STRONG&gt; — Override connection manager properties or package properties (such as connection strings and credentials) using the &lt;STRONG&gt;Connection Managers&lt;/STRONG&gt; and &lt;STRONG&gt;Property Overrides&lt;/STRONG&gt; tabs. You can use expressions, pipeline parameters, or system variables for dynamic values.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Run or schedule&lt;/STRONG&gt; — Save the pipeline and run it immediately or set up a recurring schedule.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Monitor execution&lt;/STRONG&gt; — Track progress in the pipeline &lt;STRONG&gt;Output&lt;/STRONG&gt; tab or the workspace &lt;STRONG&gt;Monitor&lt;/STRONG&gt; hub. When logging is enabled, detailed execution logs are written to OneLake.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;For full configuration details, refer to the &lt;A href="https://aka.ms/SSISActivity" target="_blank"&gt;Invoke SSIS Package activity documentation&lt;/A&gt;.&lt;/P&gt;
&lt;H2&gt;Get started&lt;/H2&gt;
&lt;P&gt;The Invoke SSIS Package activity (Preview) for all Fabric workspaces.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open &lt;A href="https://learn.microsoft.com/fabric/data-factory/data-factory-overview" target="_blank"&gt;Data Factory in Microsoft Fabric&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;Create a new Data Pipeline in your workspace.&lt;/LI&gt;
&lt;LI&gt;Add the Invoke SSIS Package activity and configure it to point to your packages in OneLake.&lt;/LI&gt;
&lt;LI&gt;Refer to the &lt;A href="https://aka.ms/SSISActivity" target="_blank"&gt;Invoke SSIS Package activity documentation&lt;/A&gt; for detailed configuration guidance.&lt;/LI&gt;
&lt;LI&gt;Refer to &lt;A href="https://learn.microsoft.com/sql/integration-services/fabric-integration/integrate-fabric-sql-database" target="_blank"&gt;Tutorial: Integrate SSIS with SQL database in Microsoft Fabric&lt;/A&gt; for detailed configuration to connect with Fabric SQL database in SSIS package.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;We want to hear from you! Share your experience, report issues, and request features.&lt;/P&gt;
&lt;H2&gt;What's next&lt;/H2&gt;
&lt;P&gt;This preview represents the first step in a broader set of capabilities we’re building. Today’s experience focuses on core scenarios, with additional investments already underway — including expanded package sources, on-premises and private network connectivity, and custom or third-party component support. We’ll continue to evolve the platform as we incorporate feedback and deliver these capabilities over time.&lt;/P&gt;
&lt;P&gt;These upcoming features will roll out through a series of private previews. If you'd like early access to help shape the future of SSIS in Fabric, &lt;A href="https://aka.ms/FabricSSIS" target="_blank"&gt;sign up&lt;STRONG&gt; &lt;/STRONG&gt;to join our upcoming private previews&lt;/A&gt;. Your feedback is invaluable in driving this experience toward general availability.&lt;/P&gt;
&lt;H2&gt;Learn more&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="https://www.youtube.com/watch?v=sgvtMtMU6og" target="_blank"&gt;SSIS activity in Fabric Pipelines demo video&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://aka.ms/SSISActivity" target="_blank"&gt;Invoke SSIS Package activity documentation&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/sql/integration-services/fabric-integration/integrate-fabric-sql-database" target="_blank"&gt;Tutorial: Integrate SSIS with SQL database in Microsoft Fabric&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/fabric/data-factory/data-factory-overview" target="_blank"&gt;Data Factory in Microsoft Fabric overview&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://blog.fabric.microsoft.com/blog/the-evolution-of-sql-server-integration-services-ssis-ssis-2025-generally-available" target="_blank"&gt;The Evolution of SQL Server Integration Services (SSIS): SSIS 2025 (Generally Available)&lt;/A&gt;&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Fri, 27 Mar 2026 08:22:23 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-integration-services/invoke-ssis-package-activity-in-microsoft-fabric-preview/ba-p/4506192</guid>
      <dc:creator>Chunhua</dc:creator>
      <dc:date>2026-03-27T08:22:23Z</dc:date>
    </item>
    <item>
      <title>SQL Server 2025 Log Shipping Fails with Missing Assembly (sqllogship.exe) on Split-Drive Install</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/sql-server-2025-log-shipping-fails-with-missing-assembly/m-p/4505976#M6024</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I am testing SQL Server 2025 in a lab environment and have encountered an issue with log shipping that appears to be related to assembly resolution.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Environment:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;SQL Server 2025 (fresh install, both unattended and manual tested)&lt;/LI&gt;&lt;LI&gt;Windows Server 2022 and Windows Server 2025 (issue occurs on both)&lt;/LI&gt;&lt;LI&gt;SQL binaries installed on E:\&lt;/LI&gt;&lt;LI&gt;Default system drive is C:\&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Issue:&lt;/STRONG&gt;&lt;BR /&gt;When log shipping runs (via SQL Agent job or manually invoking sqllogship.exe), it fails with the following error:&lt;/P&gt;&lt;P&gt;Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=17.100.0.0...&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Observed Behavior:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;sqllogship.exe is located at:E:\Program Files\Microsoft SQL Server\170\Tools\Binn\&lt;/LI&gt;&lt;LI&gt;The required assemblies (e.g., Microsoft.SqlServer.ConnectionInfo.dll) are installed at:C:\Program Files\Microsoft SQL Server\170\Shared\MDS5xSMO\&lt;/LI&gt;&lt;LI&gt;The sqllogship.exe.config file in SQL Server 2025 includes explicit codeBase entries using &lt;STRONG&gt;relative paths&lt;/STRONG&gt;:..\..\Shared\MDS5xSMO\Microsoft.SqlServer.ConnectionInfo.dll&lt;/LI&gt;&lt;LI&gt;Because of this, the application attempts to resolve assemblies at:E:\Program Files\Microsoft SQL Server\170\Shared\MDS5xSMO\which does not exist by default.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Workaround:&lt;/STRONG&gt;&lt;BR /&gt;Manually copying the shared SMO directory from C: to E: resolves the issue:&lt;/P&gt;&lt;P&gt;C:\Program Files\Microsoft SQL Server\170\Shared\MDS5xSMO → E:\Program Files\Microsoft SQL Server\170\Shared\MDS5xSMO&lt;/P&gt;&lt;P&gt;After doing this, log shipping works as expected.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Comparison with SQL Server 2022:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;SQL Server 2022 sqllogship.exe.config is empty&lt;/LI&gt;&lt;LI&gt;It does not rely on explicit codeBase paths&lt;/LI&gt;&lt;LI&gt;Log shipping works without requiring any manual file copies&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;BR /&gt;Is this expected behavior in SQL Server 2025, or a potential issue with how sqllogship.exe resolves shared assemblies when SQL is installed on a non-system drive?&lt;/P&gt;&lt;P&gt;Specifically:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Should Shared\MDS5xSMO also be installed on the same drive as the SQL binaries?&lt;/LI&gt;&lt;LI&gt;Or should sqllogship.exe.config be updated to use absolute paths instead of relative ones?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Would appreciate any confirmation or guidance from others who may have encountered this.&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 26 Mar 2026 15:51:39 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/sql-server-2025-log-shipping-fails-with-missing-assembly/m-p/4505976#M6024</guid>
      <dc:creator>abel5405</dc:creator>
      <dc:date>2026-03-26T15:51:39Z</dc:date>
    </item>
    <item>
      <title>SQL Migration from SQL2017 to SQL2022</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/sql-migration-from-sql2017-to-sql2022/m-p/4505922#M6023</link>
      <description>&lt;P&gt;AG1: Win OS 2016, SQL 2017&lt;/P&gt;&lt;P&gt;AG2: Win OS 2019, SQL 2022&lt;/P&gt;&lt;P&gt;We are trying to migrate database from AG1 to AG2 via distributed AG. As the database is on different version, the status of the db on AG2 will be in Synchronized/In Recovery mode which is not readable. Are there any ways to verify the data integrity of the database as its not readable?&lt;/P&gt;</description>
      <pubDate>Thu, 26 Mar 2026 12:29:42 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/sql-migration-from-sql2017-to-sql2022/m-p/4505922#M6023</guid>
      <dc:creator>Evangeline</dc:creator>
      <dc:date>2026-03-26T12:29:42Z</dc:date>
    </item>
    <item>
      <title>Caution When Using a Database in Single User Mode</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-support-blog/caution-when-using-a-database-in-single-user-mode/ba-p/4504699</link>
      <description>&lt;P&gt;By setting a database to single-user mode in SQL Server, you can make it accessible to only one user.If there is a session using a database set to single-user mode, any other session attempting to access the database will be put in a state of waiting to acquire an exclusive lock.&lt;BR /&gt;&lt;BR /&gt;Given this behavior, caution is needed when performing operations that acquire locks on the database from the session that set it to single-user mode.&lt;BR /&gt;After setting single-user mode, the session holds a shared lock on the database. If, within that session, you attempt to acquire an exclusive lock on the database while another session is already waiting to acquire an exclusive lock, a deadlock may occur, causing one of the operations to fail.&lt;BR /&gt;&lt;BR /&gt;For example, when using the log shipping feature with the secondary in standby mode, this behavior can affect the restore job.&lt;BR /&gt;Here is a specific sequence of events:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&amp;nbsp;The log shipping restore job sets the database to single-user mode before performing the restore. At this time, it acquires an exclusive lock on the database.&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;The restore job transitions the exclusive lock on the database to a shared lock.&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Another session attempts to access the database and waits to acquire an exclusive lock.&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;The restore job tries to acquire an exclusive lock to perform the restore, but is blocked by the session waiting for the exclusive lock, resulting in a deadlock.&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;&amp;nbsp;If the restore job becomes the deadlock victim, it will fail with an error.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;Normally, the time between steps 2 and 4 is very short, but in environments where there is frequent access to the database, this issue is more likely to occur. Even if the restore job fails with an error, the next time the job runs, it will also restore the transaction log backups that failed previously. Therefore, it is recommended to check for any impact according to the service level of your system.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(The following content is in Japanese)&lt;/P&gt;
&lt;P&gt;SQL Server ではデータベースをシングルユーザーモードに設定することで、そのデータベースを 1 ユーザーでのみアクセス可能な状態にすることが出来ます。シングルユーザーモードに設定したデータベースを使用中のセッションがある場合、それ以外のセッションでそのデータベースにアクセスしようとすると、排他ロックの獲得待ちの状態になります。&lt;BR /&gt;この動作を前提として、シングルユーザーモードを設定したセッションでデータベースに対してロックを獲得する操作を行なう場合は注意が必要です。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;シングルユーザーモードに設定した後、そのセッションはデータベースに対して共有ロックを保持します。そのセッション内でデータベースへの排他ロックを獲得しようとする処理を実行する際に、既に他のセッションがアクセスしようとして排他ロックの獲得待ちとなっていた場合、デッドロックとなり、いずれかの処理は失敗する場合があります。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;例えば、ログ配布機能でセカンダリをスタンバイモードで使用していると、復元ジョブでこの動作の影響を受ける場合があります。&lt;/P&gt;
&lt;P&gt;以下に具体的な流れを紹介します。&lt;/P&gt;
&lt;P&gt;1) ログ配布の復元ジョブは復元を実行する前にデータベースをシングルユーザーモードに設定します。この時データベースに対して排他ロックを獲得します。&lt;/P&gt;
&lt;P&gt;2) 復元ジョブはデータベースに対する排他ロックを共有ロックに移行します。&lt;/P&gt;
&lt;P&gt;3) 他のセッションがデータベースにアクセスしようとして排他ロックの獲得待ち状態になります。&lt;/P&gt;
&lt;P&gt;4) 復元ジョブが復元を行うためにデータベースに排他ロックを獲得しようとしますが、排他ロック獲得待ちとなっているセッションにブロックされ、デッドロックが発生します。&lt;/P&gt;
&lt;P&gt;5) 復元ジョブがデッドロックの Victim となった場合、復元ジョブはエラーとなります。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;通常、2) と 4) の間は非常に短時間ですが、対象のデータベースに対して頻繁にアクセスが発生する環境ではこのような現象が発生する可能性が高まります。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;なお、復元ジョブがエラーとなった場合でも、次のジョブ実行タイミングで前回失敗した分のトランザクションログバックアップも合わせて復元されます。&lt;/P&gt;
&lt;P&gt;そのため、利用システムのサービスレベルに応じて影響の有無を確認することをお勧めします。&lt;/P&gt;</description>
      <pubDate>Tue, 24 Mar 2026 01:33:54 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-support-blog/caution-when-using-a-database-in-single-user-mode/ba-p/4504699</guid>
      <dc:creator>Yohei_Kawajiri</dc:creator>
      <dc:date>2026-03-24T01:33:54Z</dc:date>
    </item>
    <item>
      <title>Announcing Preview of bulkadmin role support for SQL Server on Linux</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-preview-of-bulkadmin-role-support-for-sql-server-on/ba-p/4503676</link>
      <description>&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Bulk data import using operations like&amp;nbsp;BULK INSERT&amp;nbsp;and&amp;nbsp;OPENROWSET(BULK…)&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql?view=sql-server-ver17" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;BULK INSERT (Transact-SQL) - SQL Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;is fundamental to ETL and data ingestion workflows. On&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;SQL Server running on Linux&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;, these operations have traditionally&amp;nbsp;required&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;sysadmin&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;privileges, making it difficult to follow least&lt;/SPAN&gt;‑&lt;SPAN data-contrast="auto"&gt;privilege security practices.&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:210,&amp;quot;335559739&amp;quot;:210,&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 the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;preview of BULKADMIN role support&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt; for SQL Server on Linux, this gap is addressed. Starting with SQL Server 2025 (17.x) CU3 and SQL Server 2022 CU24, administrators can grant the bulkadmin role or the ADMINISTER BULK OPERATIONS permission to enable bulk imports without full administrative access. This capability has long been available on SQL Server on Windows and is now extended to Linux, bringing consistent and more secure bulk data operations across platforms.&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:210,&amp;quot;335559739&amp;quot;:210,&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;Bulk import operation&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;Bulk import operations enable fast,&amp;nbsp;large&lt;/SPAN&gt;‑&lt;SPAN data-contrast="auto"&gt;volume data loading into SQL Server tables by reading data directly from external files instead of row&lt;/SPAN&gt;‑&lt;SPAN data-contrast="auto"&gt;by&lt;/SPAN&gt;‑&lt;SPAN data-contrast="auto"&gt;row inserts. Learn more&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/relational-databases/import-export/import-bulk-data-by-using-bulk-insert-or-openrowset-bulk-sql-server?view=sql-server-ver17" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Use BULK INSERT or OPENROWSET (BULK...) to Import Data to SQL Server - SQL Server | Microsoft Learn&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/A&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&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;Who this is for&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&amp;quot;:0,&amp;quot;335559740&amp;quot;:300}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;DBAs,&amp;nbsp;Data engineers, ETL developers and application engineers&amp;nbsp;who want to perform bulk&amp;nbsp;data&amp;nbsp;imports without over&lt;/SPAN&gt;‑&lt;SPAN data-contrast="auto"&gt;privileging users.&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&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;Why this matters&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Improved security posture:&lt;BR /&gt;Eliminates the need for sysadmin access for bulk operations, enforcing &lt;STRONG&gt;least‑privilege security principle&lt;/STRONG&gt; and reducing security risk.&lt;/P&gt;
&lt;P&gt;Better operational flexibility:&lt;BR /&gt;Allows DBAs to safely delegate bulk data ingestion to application, ETL, and operational teams without expanding the attack surface.&lt;/P&gt;
&lt;P&gt;Parity with SQL Server on Windows:&lt;BR /&gt;Closes a long‑standing gap between SQL Server on Windows and Linux, simplifying cross‑platform administration.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Designed with layered security controls on Linux&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-contrast="auto"&gt;Bulk operations on Linux continue to enforce &lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;additional&amp;nbsp;security checks&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;&amp;nbsp;beyond SQL permissions. Administrators must explicitly configure:&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="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;Linux file system permissions&amp;nbsp;for the SQL Server service account&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;Approved&amp;nbsp;bulk load directories&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;using&amp;nbsp;mssql-conf&amp;nbsp;(by&amp;nbsp;configuring the path through&amp;nbsp;b&lt;/SPAN&gt;&lt;SPAN data-contrast="none"&gt;ulkadmin.allowedpathslist&amp;nbsp;setting in&amp;nbsp;mssql-conf)&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;This&amp;nbsp;ensures,&amp;nbsp;SQL Server can only read data from explicitly allowed locations, reducing the risk of unauthorized file access.&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;Learn more:&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;For a quick overview, the typical flow to enable bulk import operations on SQL Server on Linux looks like this:&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:210,&amp;quot;335559739&amp;quot;:210,&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;335559683&amp;quot;:0,&amp;quot;335559684&amp;quot;:-2,&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;Install SQL Server 2025 (17.x) CU3&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;335559683&amp;quot;:0,&amp;quot;335559684&amp;quot;:-2,&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;Grant&amp;nbsp;BULKADMIN&amp;nbsp;role or&amp;nbsp;ADMINISTER BULK OPERATIONS&amp;nbsp;permission&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&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="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559683&amp;quot;:0,&amp;quot;335559684&amp;quot;:-2,&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;Configure&amp;nbsp;allowed directories&amp;nbsp;and&amp;nbsp;required&amp;nbsp;filesystem permissions&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&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="6" data-list-defn-props="{&amp;quot;335552541&amp;quot;:1,&amp;quot;335559683&amp;quot;:0,&amp;quot;335559684&amp;quot;:-2,&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;Run bulk import operations using&amp;nbsp;BULK INSERT&amp;nbsp;or&amp;nbsp;OPENROWSET (BULK...)&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;:0,&amp;quot;335551620&amp;quot;:0,&amp;quot;335559738&amp;quot;:0,&amp;quot;335559739&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-contrast="auto"&gt;For detailed guidance and example, refer to the official documentation:&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;👉&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-bulk-operations?view=sql-server-ver17" target="_blank" rel="noopener"&gt;&lt;SPAN data-contrast="none"&gt;&lt;SPAN data-ccp-charstyle="Hyperlink"&gt;Configure bulk import operations for SQL Server on Linux&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;STRONG&gt;&lt;SPAN data-contrast="auto"&gt;Summary&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;With BULKADMIN role support on SQL Server for Linux, customers can now enable&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN data-contrast="auto"&gt;bulk data imports without compromising security. This enhancement delivers better role separation, security best practices, and a smoother operational experience for SQL Server on Linux.&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 encourage customers to explore this capability and adopt&amp;nbsp;least&amp;nbsp;privileged&amp;nbsp;bulk data workflows in their Linux environments.&lt;/SPAN&gt;&lt;SPAN data-ccp-props="{}"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 20 Mar 2026 09:31:28 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-preview-of-bulkadmin-role-support-for-sql-server-on/ba-p/4503676</guid>
      <dc:creator>MadhumitaTripathyMSFT</dc:creator>
      <dc:date>2026-03-20T09:31:28Z</dc:date>
    </item>
    <item>
      <title>Troubleshooting SQL Server Backup Failures to Azure Blob Storage</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-support-blog/troubleshooting-sql-server-backup-failures-to-azure-blob-storage/ba-p/4485325</link>
      <description>&lt;P&gt;This document helps to Troubleshoot SQL Server Backup Failures to Azure Blob Storage.&lt;/P&gt;
&lt;P&gt;Backing up SQL Server databases directly to Azure Blob Storage using BACKUP TO URL is a common and recommended practice on Azure SQL Virtual Machines. However, we often encounter&amp;nbsp;&lt;STRONG&gt;backup failures&lt;/STRONG&gt; that are not caused by performance issues but by &lt;STRONG&gt;hard Azure Blob size limits&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;This article explains &lt;STRONG&gt;why SQL Server backups fail due to Page Blob or Block Blob limits&lt;/STRONG&gt;, how to recognize the symptoms, and the &lt;STRONG&gt;correct configuration patterns&lt;/STRONG&gt; to prevent these failures.&lt;/P&gt;
&lt;P&gt;This blog walks through the most frequent causes of backup failures and explains how to identify and resolve them.&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;&lt;STRONG&gt;1. Backup Failures Due to Page Blob Size Limit (1 TB):-&lt;/STRONG&gt;&lt;/U&gt;&lt;/H5&gt;
&lt;P&gt;One of the most common causes of backup failure occurs when SQL Server writes backups to &lt;STRONG&gt;Page Blob–based storage&lt;/STRONG&gt; and the database size exceed &lt;STRONG&gt;1 TB&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;When this limit is reached, backups may fail with errors such as:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Operating system error 50 (The request is not supported)&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Why This Happens&lt;/EM&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Page Blobs have a &lt;STRONG&gt;hard 1‑TB size limit per file&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Older or legacy storage accounts may still default to Page Blob usage.&lt;/LI&gt;
&lt;LI&gt;Single‑file backups for large databases can easily exceed this limit.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H6&gt;&lt;U&gt;&lt;STRONG&gt;Recommended Resolution&lt;/STRONG&gt;&lt;/U&gt; :-&amp;nbsp;&lt;/H6&gt;
&lt;P&gt;The most effective solution is to use &lt;STRONG&gt;Block Blob storage with striped backups&lt;/STRONG&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Use a &lt;STRONG&gt;General Purpose v2 (GPv2)&lt;/STRONG&gt; storage account.&lt;/LI&gt;
&lt;LI&gt;Split the backup into &lt;STRONG&gt;multiple files (striping)&lt;/STRONG&gt; so that the workload is distributed.&lt;/LI&gt;
&lt;LI&gt;Enable compression to reduce backup size.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;One of the most common causes of backup failure occurs when SQL Server writes backups to &lt;STRONG&gt;Page Blob–based storage&lt;/STRONG&gt; and the database size exceeds &lt;STRONG&gt;1 TB&lt;/STRONG&gt;.&lt;/P&gt;
&lt;H5&gt;&lt;U&gt;&lt;STRONG&gt;2. Block Blob Limit Reached During Backup :-&lt;/STRONG&gt;&lt;/U&gt;&lt;/H5&gt;
&lt;P&gt;Even when using Block Blobs, backups may still fail if a &lt;STRONG&gt;single backup file becomes too large&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Symptoms :-&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Backup starts successfully but fails midway.&lt;/LI&gt;
&lt;LI&gt;Errors indicating that the blob size limit has been exceeded.&lt;/LI&gt;
&lt;LI&gt;Backup files growing rapidly but stopping before completion.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Root Cause :-&amp;nbsp;&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Block Blobs have a practical size limitation per file.&lt;/LI&gt;
&lt;LI&gt;Using a &lt;STRONG&gt;single backup file&lt;/STRONG&gt; for very large databases.&lt;/LI&gt;
&lt;LI&gt;Insufficient number of stripes for the database size.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Also tune performance parameters such as:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;MAXTRANSFERSIZE&lt;/LI&gt;
&lt;LI&gt;BUFFERCOUNT&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;This reduces throttling and improves reliability during large backups.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Rule of Thumb for Backup Striping&lt;/STRONG&gt;&lt;/U&gt;:-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;1 backup stripe ≈ 150–200 GB&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Database SizeRecommended Strategy&amp;lt; 200 GBSingle backup file200 GB – 1 TB2–4 striped backup files&amp;gt; 1 TB8–64 striped backup files&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;EM&gt;Example&lt;/EM&gt;&lt;/U&gt; :-&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For a&amp;nbsp;&lt;STRONG&gt;2 TB database&lt;/STRONG&gt;:&lt;/P&gt;
&lt;P&gt;2 TB ÷ 200 GB ≈ 10 stripes&lt;/P&gt;
&lt;P&gt;Recommended: &lt;STRONG&gt;12 or 16 backup files&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;3.SAS Token and Stored Access Policy Issues:-&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;Authentication problems are another frequent cause of failures when backing up to Azure Blob Storage.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Common issues&lt;/STRONG&gt;&lt;/U&gt; :&lt;/P&gt;
&lt;UL data-line="104"&gt;
&lt;LI data-line="104"&gt;SAS token begins with?&lt;/LI&gt;
&lt;LI data-line="105"&gt;SAS token is expired&lt;/LI&gt;
&lt;LI data-line="106"&gt;Required permissions are missing&lt;/LI&gt;
&lt;LI data-line="107"&gt;SAS is scoped to the wrong container or account&lt;/LI&gt;
&lt;LI data-line="108"&gt;Stored access policy was changed or deleted&lt;/LI&gt;
&lt;/UL&gt;
&lt;H6 data-line="110"&gt;&lt;U&gt;&lt;STRONG&gt;Required SAS Permissions :&lt;/STRONG&gt;&lt;/U&gt;&lt;/H6&gt;
&lt;UL data-line="112"&gt;
&lt;LI data-line="112"&gt;Read (r), Write (w), Create (c), List (l) — recommended&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL data-line="116"&gt;
&lt;LI&gt;&lt;U&gt;&lt;STRONG&gt;Resolution :-&lt;/STRONG&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;LI data-line="116"&gt;Regenerate the SAS token with correct permissions and scope&lt;/LI&gt;
&lt;LI data-line="117"&gt;Remove the leading? if present&lt;/LI&gt;
&lt;LI data-line="118"&gt;Recreate the SQL Server credential&lt;/LI&gt;
&lt;LI data-line="119"&gt;Test the SAS token using Azure Storage Explorer or CLI before retrying the backup&lt;/LI&gt;
&lt;/UL&gt;
&lt;H6&gt;&lt;U&gt;&lt;STRONG&gt;4. Operating System Error 50 – “The Request is Not Supported”:-&lt;/STRONG&gt;&lt;/U&gt;&lt;/H6&gt;
&lt;P&gt;This error is often misleading but commonly appears during backup failures to Azure Blob Storage.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;What Triggers OS Error 50&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Page Blob exceeding the 1‑TB size limit.&lt;/LI&gt;
&lt;LI&gt;TLS 1.2 not enabled on older operating systems.&lt;/LI&gt;
&lt;LI&gt;Storage account firewall blocking access from the VM.&lt;/LI&gt;
&lt;LI&gt;Legacy SQL Server or OS versions lacking modern protocol support.&lt;/LI&gt;
&lt;LI&gt;&lt;U style="color: rgb(30, 30, 30);"&gt;&lt;STRONG&gt;Key Checks&lt;/STRONG&gt;&lt;/U&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;Confirm SQL Server version (SQL Server 2016 or later recommended).&lt;/LI&gt;
&lt;LI&gt;Ensure &lt;STRONG&gt;TLS 1.2&lt;/STRONG&gt; is enabled.&lt;/LI&gt;
&lt;LI&gt;Verify outbound access to Azure Blob Storage on port 443.&lt;/LI&gt;
&lt;LI&gt;Confirm the storage firewall allows the VM network or enables “Trusted Microsoft services”.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In many cases, switching to &lt;STRONG&gt;Block Blob + striped backups&lt;/STRONG&gt; immediately resolves this error&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;SQL Server Backup Failure Troubleshooting Flowchart &lt;/STRONG&gt;&lt;/U&gt;:&lt;/P&gt;
&lt;P&gt;This flowchart outlines the step‑by‑step diagnostic path for identifying and resolving SQL Server backup failures.&lt;/P&gt;
&lt;img /&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Other errors and resolutions&lt;/STRONG&gt;&lt;/U&gt;:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below flowchart represents troubleshooting process for various types of errors while performing backup.&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;&lt;U&gt;&lt;STRONG&gt;Authors&lt;/STRONG&gt;&lt;/U&gt;:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Sara Tabassum ( &lt;EM&gt;v-sanone@microsoft.com&lt;/EM&gt;)&lt;/P&gt;
&lt;P&gt;Vinay Prasanna Sarangam ( v&lt;EM&gt;inay.sarangam@microsoft.com&lt;/EM&gt;)&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;</description>
      <pubDate>Wed, 18 Mar 2026 14:47:42 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-support-blog/troubleshooting-sql-server-backup-failures-to-azure-blob-storage/ba-p/4485325</guid>
      <dc:creator>v-sanone</dc:creator>
      <dc:date>2026-03-18T14:47:42Z</dc:date>
    </item>
    <item>
      <title>Microsoft Drivers 5.13.0 for PHP for SQL Server — We're Back!</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-drivers-5-13-0-for-php-for-sql-server-we-re-back/ba-p/4503169</link>
      <description>&lt;P&gt;Today we're announcing the release of &lt;STRONG&gt;Microsoft Drivers 5.13.0 for PHP for SQL Server&lt;/STRONG&gt;, the first GA release of the&amp;nbsp;sqlsrv&amp;nbsp;and&amp;nbsp;pdo_sqlsrv&amp;nbsp;extensions in over two years.&lt;/P&gt;
&lt;P&gt;We're not going to bury the lede:&amp;nbsp;&lt;STRONG&gt;the last GA release (5.12.0) shipped on January 31, 2024.&lt;/STRONG&gt;&amp;nbsp;That means 25 months passed between stable releases. During that stretch the repo went effectively silent, a series of build-script updates in September 2024, and then nothing of substance until January 2026 when we began modernizing the CI pipeline and preparing this release. For a project whose history stretches back to 2008 and that PHP developers depend on in production every day, that's too long. We heard the issue reports and the frustration, and we understand. Now that we are caught up, we plan to stay here.&lt;/P&gt;
&lt;H2&gt;What's New in 5.13.0&lt;/H2&gt;
&lt;P&gt;This release is a significant catch-up. Here's what it brings:&lt;/P&gt;
&lt;H3&gt;Platform Support — Modernized&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;Added:&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;PHP 8.4 and PHP 8.5&lt;/STRONG&gt;&amp;nbsp;support -&amp;nbsp;&lt;STRONG&gt;Windows Server 2025&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;Ubuntu 24.04&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;Debian 12 and 13&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;Red Hat 9 and 10&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;Alpine 3.20, 3.21, 3.22, and 3.23&lt;/STRONG&gt;&amp;nbsp;-&amp;nbsp;&lt;STRONG&gt;macOS 15 and 26&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Removed&lt;/STRONG&gt;&amp;nbsp;(end-of-life platforms): - PHP 8.1 and 8.2 - Windows 10, Server 2012, Server 2012 R2 - Ubuntu 20.04, Debian 10, Red Hat 7, SUSE Linux 12 - Alpine 3.16–3.19 - macOS 11, 12, and 13&lt;/P&gt;
&lt;H3&gt;Bug Fixes&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Fixed a segfault when connecting to Microsoft Fabric&lt;/STRONG&gt;&amp;nbsp;— a critical connectivity issue resolved in the PDO driver's error reporting path (&lt;A href="https://github.com/microsoft/msphpsql/pull/1549" target="_blank"&gt;PR #1549&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Fixed critical memory safety bugs in encoding conversion&lt;/STRONG&gt;&amp;nbsp;— resolved a NULL pointer dereference and an uninitialized pointer return in the localization layer (&lt;A href="https://github.com/microsoft/msphpsql/pull/1555" target="_blank"&gt;PR #1555&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enhanced error reporting in the PDO driver&lt;/STRONG&gt;&amp;nbsp;when ODBC diagnostic retrieval fails (&lt;A href="https://github.com/microsoft/msphpsql/pull/1549" target="_blank"&gt;PR #1549&lt;/A&gt;)&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Build &amp;amp; Security Improvements&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;Refactored build scripts to prevent command injection and race conditions (&lt;A href="https://github.com/microsoft/msphpsql/pull/1551" target="_blank"&gt;PR #1551&lt;/A&gt;,&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/pull/1552" target="_blank"&gt;PR #1552&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Resolved SDL compiler warnings (C4146, C4389, L3/L4 warnings) for stricter compliance (&lt;A href="https://github.com/microsoft/msphpsql/pull/1575" target="_blank"&gt;PR #1575&lt;/A&gt;,&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/pull/1576" target="_blank"&gt;PR #1576&lt;/A&gt;,&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/pull/1577" target="_blank"&gt;PR #1577&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Modernized CI pipeline to PHP 8.4, ODBC 18, and SQL Server 2022 (&lt;A href="https://github.com/microsoft/msphpsql/pull/1549" target="_blank"&gt;PR #1549&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Added PHP 8.5 compilation support and test compatibility (&lt;A href="https://github.com/microsoft/msphpsql/pull/1543" target="_blank"&gt;PR #1543&lt;/A&gt;,&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/pull/1569" target="_blank"&gt;PR #1569&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Removed lingering error reference from CI failure block (&lt;A href="https://github.com/microsoft/msphpsql/pull/1568" target="_blank"&gt;PR #1568&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;Updated Docker base image to Ubuntu 24.04 LTS (&lt;A href="https://github.com/microsoft/msphpsql/pull/1542" target="_blank"&gt;PR #1542&lt;/A&gt;)&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Our Commitment Going Forward&lt;/H2&gt;
&lt;P&gt;We're making a deliberate commitment to keep this project healthy and current:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Regular release cadence.&lt;/STRONG&gt; We will not let two years pass between GA releases again. Expect releases that track PHP's own annual release cycle, so you're never stuck waiting for support of the PHP version you need.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Active issue triage.&lt;/STRONG&gt;&amp;nbsp;We're working through the backlog of open issues and will be more responsive to community reports going forward.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;CI that stays green.&lt;/STRONG&gt;&amp;nbsp;The modernized pipeline now tests against PHP 8.4 and 8.5, ODBC Driver 18, and SQL Server 2022 on both Linux and Windows. We intend to keep it that way.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Community contributions welcome.&lt;/STRONG&gt;&amp;nbsp;This release already includes contributions from community members alongside the core team. We want to make contributing easier and more rewarding. PRs, bug reports, and feedback are all valued.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H2&gt;How to Get It&lt;/H2&gt;
&lt;P&gt;The 5.13.0 drivers are available now:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;PECL:&lt;/STRONG&gt;&amp;nbsp;pecl install sqlsrv&amp;nbsp;/&amp;nbsp;pecl install pdo_sqlsrv&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Windows binaries:&lt;/STRONG&gt;&amp;nbsp;Download from the&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/releases" target="_blank"&gt;Releases&lt;/A&gt;&amp;nbsp;page&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Source:&lt;/STRONG&gt;&amp;nbsp;Build from the&amp;nbsp;v5.13.0&amp;nbsp;tag. See&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/blob/v5.13.0/buildscripts/README.md" target="_blank"&gt;buildscripts/README.md&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Requirements&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;PHP 8.3, 8.4, or 8.5&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/sql/connect/odbc/download-odbc-driver-for-sql-server" target="_blank"&gt;Microsoft ODBC Driver 17 or 18 for SQL Server&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;SQL Server 2016+, Azure SQL Database, Azure SQL Managed Instance, or SQL database in Microsoft Fabric.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Thank You&lt;/H2&gt;
&lt;P&gt;To the PHP developers who kept filing issues, asking questions, and patiently waiting — thank you. You kept this project accountable. The 25-month gap was a failure on our part, and the best apology is changed behavior. We're here, we're shipping, and we're planning to keep it that way.&lt;/P&gt;
&lt;P&gt;Please report any issues on&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/issues" target="_blank"&gt;GitHub&lt;/A&gt;&amp;nbsp;and let us know how 5.13.0 works for you.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The Microsoft Drivers for PHP for SQL Server team&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-drivers-5-13-0-for-php-for-sql-server-we-re-back/ba-p/4503169</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-03-18T12:00:00Z</dc:date>
    </item>
    <item>
      <title>Microsoft.Data.SqlClient 7.0 Is Here: A Leaner, More Modular Driver for SQL Server</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-data-sqlclient-7-0-is-here-a-leaner-more-modular/ba-p/4503173</link>
      <description>&lt;P&gt;Today we're shipping the general availability release of &lt;STRONG&gt;Microsoft.Data.SqlClient 7.0&lt;/STRONG&gt;, a major milestone for the .NET data provider for SQL Server. This release tackles the single most requested change in the repository's history, introduces powerful new extensibility points for authentication, and adds protocol-level features for Azure SQL Hyperscale, all while laying the groundwork for a more modular driver architecture.&lt;/P&gt;
&lt;P&gt;If you take away one thing from this post:&amp;nbsp;&lt;STRONG&gt;the core SqlClient package is dramatically lighter now.&lt;/STRONG&gt;&amp;nbsp;Azure dependencies have been extracted into a separate package, and you only pull them in if you need them.&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;dotnet add package Microsoft.Data.SqlClient --version 7.0.0&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;The #1 Request: A Lighter Package&lt;/H2&gt;
&lt;P&gt;For years,&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/issues/1108" target="_blank"&gt;the most upvoted issue&lt;/A&gt;&amp;nbsp;in the SqlClient repository asked the same question:&amp;nbsp;&lt;EM&gt;"Why does my console app that just talks to SQL Server pull in Azure.Identity, MSAL, and WebView2?"&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;With 7.0, it doesn't anymore.&lt;/P&gt;
&lt;P&gt;We've extracted all Azure / Microsoft Entra authentication functionality into a new&amp;nbsp;&lt;STRONG&gt;Microsoft.Data.SqlClient.Extensions.Azure&lt;/STRONG&gt;&amp;nbsp;package. The core driver no longer carries&amp;nbsp;Azure.Core,&amp;nbsp;Azure.Identity,&amp;nbsp;Microsoft.Identity.Client, or any of their transitive dependencies. If you connect with SQL authentication or Windows integrated auth, your&amp;nbsp;bin&amp;nbsp;folder just got dramatically smaller.&lt;/P&gt;
&lt;P&gt;For teams that&amp;nbsp;&lt;EM&gt;do&lt;/EM&gt;&amp;nbsp;use Entra authentication, the migration is straightforward. Add one package reference and you're done:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;dotnet add package Microsoft.Data.SqlClient.Extensions.Azure&lt;/LI-CODE&gt;
&lt;P&gt;No code changes. No configuration changes. You can also now update Azure dependency versions on your own schedule, independent of driver releases. This is something library authors and enterprise teams have been asking for.&lt;/P&gt;
&lt;H2&gt;Pluggable Authentication with SspiContextProvider&lt;/H2&gt;
&lt;P&gt;Integrated authentication in containers and cross-domain environments has always been a pain point. Kerberos ticket management, sidecar processes, domain trust configuration: the workarounds were never simple.&lt;/P&gt;
&lt;P&gt;Version 7.0 introduces a new public&amp;nbsp;SspiContextProvider&amp;nbsp;API on&amp;nbsp;SqlConnection&amp;nbsp;that lets you take control of the authentication handshake. You provide the token exchange logic; the driver handles everything else.&lt;/P&gt;
&lt;LI-CODE lang="csharp"&gt;var connection = new SqlConnection(connectionString); 
connection.SspiContextProvider = new MyKerberosProvider(); 
connection.Open();&lt;/LI-CODE&gt;
&lt;P&gt;This opens the door to scenarios the driver never natively supported: authenticating across untrusted domains, using NTLM with explicit credentials, or implementing custom Kerberos negotiation in Kubernetes pods. A&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/blob/main/doc/samples/SspiContextProvider_CustomProvider.cs" target="_blank"&gt;sample implementation&lt;/A&gt;&amp;nbsp;is available in the repository.&lt;/P&gt;
&lt;H2&gt;Async Read Performance: Packet Multiplexing (Preview)&lt;/H2&gt;
&lt;P&gt;One of the most community-driven features in 7.0 is&amp;nbsp;&lt;STRONG&gt;packet multiplexing&lt;/STRONG&gt;, a change to how the driver processes TDS packets during asynchronous reads. Originally contributed by community member &lt;A href="https://github.com/Wraith2" target="_blank"&gt;Wraith2&lt;/A&gt;, this work delivers a significant leap in async read performance for large result sets.&lt;/P&gt;
&lt;P&gt;Packet multiplexing was first introduced in 6.1 and has been refined across the 7.0 preview cycle with additional bug fixes and stability improvements. In 7.0, it ships behind two opt-in feature switches so we can gather broader real-world feedback before making it the default:&lt;/P&gt;
&lt;LI-CODE lang="csharp"&gt;AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseCompatibilityAsyncBehaviour", false); 
AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseCompatibilityProcessSni", false);&lt;/LI-CODE&gt;
&lt;P&gt;Setting both switches to&amp;nbsp;false&amp;nbsp;enables the new async processing path. By default, the driver uses the existing (compatible) behavior.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;We need your help.&lt;/STRONG&gt;&amp;nbsp;If your application performs large async reads (ExecuteReaderAsync&amp;nbsp;with big result sets, streaming scenarios, or bulk data retrieval), please try enabling these switches and let us know how it performs in your environment. File your results on&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/issues" target="_blank"&gt;GitHub Issues&lt;/A&gt;&amp;nbsp;to help us move this toward on-by-default in a future release.&lt;/P&gt;
&lt;H2&gt;Enhanced Routing for Azure SQL&lt;/H2&gt;
&lt;P&gt;Azure SQL environments with named read replicas and gateway-based load balancing can now take advantage of&amp;nbsp;&lt;STRONG&gt;enhanced routing&lt;/STRONG&gt;, a TDS protocol feature that lets the server redirect connections to a specific server&amp;nbsp;&lt;EM&gt;and&lt;/EM&gt;&amp;nbsp;database during login.&lt;/P&gt;
&lt;P&gt;This is entirely transparent to your application. No connection string changes, no code changes. The driver negotiates the capability automatically when the server supports it.&lt;/P&gt;
&lt;H2&gt;.NET 10 Ready&lt;/H2&gt;
&lt;P&gt;SqlClient 7.0 compiles and tests against the .NET 10 SDK, so you're ready for the next major .NET release on day one. Combined with continued support for .NET 8, .NET 9, .NET Framework 4.6.2+, and .NET Standard 2.0 (restored in 6.1), the driver covers the full spectrum of active .NET runtimes.&lt;/P&gt;
&lt;H2&gt;ActiveDirectoryPassword Is Deprecated: Plan Your Migration&lt;/H2&gt;
&lt;P&gt;As Microsoft moves toward&amp;nbsp;&lt;A href="https://learn.microsoft.com/entra/identity/authentication/concept-mandatory-multifactor-authentication" target="_blank"&gt;mandatory multifactor authentication&lt;/A&gt;&amp;nbsp;across its services, we've deprecated&amp;nbsp;SqlAuthenticationMethod.ActiveDirectoryPassword&amp;nbsp;(the ROPC flow). The method still works in 7.0, but it's marked&amp;nbsp;[Obsolete]&amp;nbsp;and will generate compiler warnings.&lt;/P&gt;
&lt;P&gt;Now is the time to move to a stronger alternative:&lt;/P&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Scenario&lt;/th&gt;&lt;th&gt;Recommended Authentication&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Interactive / desktop apps&lt;/td&gt;&lt;td&gt;Active Directory Interactive&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Service-to-service&lt;/td&gt;&lt;td&gt;Active Directory Service Principal&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Azure-hosted workloads&lt;/td&gt;&lt;td&gt;Active Directory Managed Identity&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Developer / CI environments&lt;/td&gt;&lt;td&gt;Active Directory Default&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H2&gt;Quality of Life Improvements&lt;/H2&gt;
&lt;P&gt;Beyond the headline features, 7.0 includes a collection of improvements that make the driver more reliable and easier to work with in production.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Better retry logic.&lt;/STRONG&gt;&amp;nbsp;The new&amp;nbsp;SqlConfigurableRetryFactory.BaselineTransientErrors&amp;nbsp;property exposes the built-in transient error codes, so you can extend the default list with your own application-specific codes instead of copy-pasting error numbers from source.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;More app context switches.&lt;/STRONG&gt;&amp;nbsp;You can now set&amp;nbsp;MultiSubnetFailover=true&amp;nbsp;globally, ignore server-provided failover partners in Basic Availability Groups, and control async multi-packet behavior, all without modifying connection strings.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Better diagnostics on .NET Framework.&lt;/STRONG&gt;&amp;nbsp;SqlClientDiagnosticListener&amp;nbsp;is now enabled for&amp;nbsp;SqlCommand&amp;nbsp;on .NET Framework, closing a long-standing observability gap.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Connection performance fix.&lt;/STRONG&gt;&amp;nbsp;A regression where SPN generation was unnecessarily triggered for SQL authentication connections on the native SNI path has been resolved.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Performance improvements.&lt;/STRONG&gt;&amp;nbsp;Allocation reductions across Always Encrypted scenarios,&amp;nbsp;SqlStatistics&amp;nbsp;timing, and key store providers.&lt;/P&gt;
&lt;H2&gt;Upgrading from 6.x&lt;/H2&gt;
&lt;P&gt;For most applications, upgrading is a package version bump:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;dotnet add package Microsoft.Data.SqlClient --version 7.0.0&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;If you use Microsoft Entra authentication&lt;/STRONG&gt;, also add:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;dotnet add package Microsoft.Data.SqlClient.Extensions.Azure&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;If you use&amp;nbsp;ActiveDirectoryPassword&lt;/STRONG&gt;, you'll see a compiler warning. Start planning your migration to a supported auth method.&lt;/P&gt;
&lt;P&gt;Review the full release notes in&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/tree/main/release-notes/7.0" target="_blank"&gt;release-notes/7.0&lt;/A&gt;&amp;nbsp;for the complete list of changes across all preview releases.&lt;/P&gt;
&lt;H2&gt;Thank You to Our Contributors&lt;/H2&gt;
&lt;P&gt;Open-source contributions are central to SqlClient's development. We'd like to recognize the community members who contributed to the 7.0 release:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/edwardneal" target="_blank"&gt;edwardneal&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/ErikEJ" target="_blank"&gt;ErikEJ&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/MatthiasHuygelen" target="_blank"&gt;MatthiasHuygelen&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/ShreyaLaxminarayan" target="_blank"&gt;ShreyaLaxminarayan&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/tetolv" target="_blank"&gt;tetolv&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/twsouthwick" target="_blank"&gt;twsouthwick&lt;/A&gt;&amp;nbsp;·&amp;nbsp;&lt;A href="https://github.com/Wraith2" target="_blank"&gt;Wraith2&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;What's Next&lt;/H2&gt;
&lt;P&gt;We're continuing to invest in performance, modularity, and modern .NET alignment. Stay tuned for updates on the roadmap, and keep the feedback coming. Your issues and discussions directly shape what we build.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;NuGet:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://www.nuget.org/packages/Microsoft.Data.SqlClient/7.0.0" target="_blank"&gt;Microsoft.Data.SqlClient 7.0.0&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;GitHub:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient" target="_blank"&gt;dotnet/SqlClient&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Issues &amp;amp; Feedback:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://github.com/dotnet/SqlClient/issues" target="_blank"&gt;github.com/dotnet/SqlClient/issues&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Docs:&lt;/STRONG&gt;&amp;nbsp;&lt;A href="https://learn.microsoft.com/sql/connect/ado-net/introduction-microsoft-data-sqlclient-namespace" target="_blank"&gt;Microsoft.Data.SqlClient on Microsoft Learn&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-data-sqlclient-7-0-is-here-a-leaner-more-modular/ba-p/4503173</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-03-18T12:00:00Z</dc:date>
    </item>
    <item>
      <title>Announcing the General Availability of Microsoft JDBC Driver 13.4 for SQL Server</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-the-general-availability-of-microsoft-jdbc-driver-13/ba-p/4503168</link>
      <description>&lt;P&gt;We are excited to announce the General Availability (GA) of &lt;STRONG&gt;Microsoft JDBC Driver 13.4 for SQL Server&lt;/STRONG&gt;. This release incorporates all improvements delivered across the 13.3.x preview cycle (13.3.0, 13.3.1, and 13.3.2) and represents a significant step forward in performance observability, AI/vector workload readiness, SQL Server 2025 compatibility, and security posture.&lt;/P&gt;
&lt;P&gt;You can download the driver from&amp;nbsp;&lt;A href="https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc" target="_blank" rel="noopener"&gt;Maven Central&lt;/A&gt;,&amp;nbsp;&lt;A href="https://aka.ms/downloadmssqljdbc" target="_blank" rel="noopener"&gt;Microsoft Learn&lt;/A&gt;, or from&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-jdbc/releases" target="_blank" rel="noopener"&gt;GitHub Releases&lt;/A&gt;. As with previous releases, two JAR variants are available:&amp;nbsp;&lt;STRONG&gt;jre8&lt;/STRONG&gt;&amp;nbsp;for Java 8 and&amp;nbsp;&lt;STRONG&gt;jre11&lt;/STRONG&gt;&amp;nbsp;for Java 11 and above.&lt;/P&gt;
&lt;H2&gt;Highlights&lt;/H2&gt;
&lt;H3&gt;Vector (FLOAT16) Subtype Support&lt;/H3&gt;
&lt;P&gt;Building on the native&amp;nbsp;VECTOR&amp;nbsp;data type support introduced earlier, version 13.4 adds&amp;nbsp;&lt;STRONG&gt;FLOAT16 subtype support&lt;/STRONG&gt;&amp;nbsp;with full IEEE-754 compliant serialization and deserialization between Java&amp;nbsp;Float[]&amp;nbsp;and the half-precision wire format. This enables efficient float16 vector storage and transmission for AI, embeddings, and vector search workloads—reducing memory footprint and network payload without changing the Java programming model.&lt;/P&gt;
&lt;H3&gt;Performance Logger: Connection and Statement-Level Metrics&lt;/H3&gt;
&lt;P&gt;A new&amp;nbsp;&lt;STRONG&gt;performance logging framework&lt;/STRONG&gt;&amp;nbsp;gives developers and operators visibility into driver-level latencies. In 13.4, the logger covers:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Connection metrics&lt;/STRONG&gt;: prelogin, login, and token acquisition timing via the&amp;nbsp;com.microsoft.sqlserver.jdbc.PerformanceMetrics.Connection&amp;nbsp;logger.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Statement metrics&lt;/STRONG&gt;: granular execution phases including&amp;nbsp;REQUEST_BUILD,&amp;nbsp;FIRST_SERVER_RESPONSE,&amp;nbsp;PREPARE,&amp;nbsp;PREPEXEC, and&amp;nbsp;EXECUTE&amp;nbsp;for both&amp;nbsp;Statement&amp;nbsp;and&amp;nbsp;PreparedStatement.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;An extensible callback infrastructure is included for custom telemetry integration.&lt;/P&gt;
&lt;H3&gt;New&amp;nbsp;prepareMethod&amp;nbsp;Options&lt;/H3&gt;
&lt;P&gt;Two new&amp;nbsp;prepareMethod&amp;nbsp;connection property values provide fine-grained control over how the driver executes prepared statements:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;prepareMethod=none&lt;/STRONG&gt;&amp;nbsp;— Forces literal parameter substitution with SQL batch execution, bypassing server-side prepared statement handles (sp_prepexec&amp;nbsp;/&amp;nbsp;sp_prepare). Only recommended for applications that require Sybase-style compatibility with DYNAMIC_PREPARE=false behavior.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;prepareMethod=scopeTempTablesToConnection&lt;/STRONG&gt; — This option applies the prepareMethod=none behavior only to prepared statements with references to temporary table creation. This behavior ensures temporary tables created by a prepared statement persist on the connection after the prepared statement finishes. Other prepared statements will use prepareMethod=prepexec behavior. This option is only recommended for existing applications that require this temporary table behavior.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Both options leave the default behavior unchanged.&lt;/P&gt;
&lt;H3&gt;ADAL Removed - Entra (Azure Active Directory) Integrated Authentication Modernized&lt;/H3&gt;
&lt;P&gt;The legacy ADAL dependency (`adalsql.dll`/`adal.dll`) has been fully removed.&amp;nbsp;&lt;STRONG&gt;Entra ID Integrated Authentication&lt;/STRONG&gt; (&lt;SPAN data-teams="true"&gt;`Authentication=ActiveDirectoryIntegrated`&lt;/SPAN&gt;) now uses mssql-auth.dll, a component installed by the latest Microsoft ODBC Driver 18 for SQL Server and Microsoft OLE DB Driver 19 for SQL Server.&lt;/P&gt;
&lt;H3&gt;Java 25 (LTS) Support&lt;/H3&gt;
&lt;P&gt;Official support for&amp;nbsp;&lt;STRONG&gt;Java 25 (LTS)&lt;/STRONG&gt;&amp;nbsp;has been added, while non-LTS Java versions 22–24 have been removed from build configurations. This simplifies maintenance and ensures the driver is tested against the Java versions that matter most for production workloads.&lt;/P&gt;
&lt;H3&gt;SQL Server 2025 Readiness&lt;/H3&gt;
&lt;P&gt;DatabaseMetaData.getColumns()&amp;nbsp;now prefers&amp;nbsp;&lt;STRONG&gt;sp_columns_170&lt;/STRONG&gt;&amp;nbsp;on SQL Server 2025 for accurate metadata on newer types such as&amp;nbsp;VECTOR&amp;nbsp;and enhanced&amp;nbsp;JSON, with automatic fallback to&amp;nbsp;sp_columns_100&amp;nbsp;for older versions. Combined with expanded test coverage, the driver is fully validated against SQL Server 2025.&lt;/P&gt;
&lt;H2&gt;Security Updates&lt;/H2&gt;
&lt;P&gt;Transitive dependencies have been upgraded to address multiple CVEs:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;azure-identity&lt;/STRONG&gt;&amp;nbsp;→ 1.18.2&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;msal4j&lt;/STRONG&gt;&amp;nbsp;→ 1.23.1&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Netty&lt;/STRONG&gt;&amp;nbsp;→ 4.1.130.Final&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Reactor Netty&lt;/STRONG&gt;&amp;nbsp;→ 1.2.13&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Nimbus JOSE JWT&lt;/STRONG&gt;&amp;nbsp;→ 10.0.1&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;These updates resolve CVE-2025-59250, CVE-2025-67735, CVE-2025-53864, CVE-2025-58056, CVE-2025-58057, CVE-2025-55163, CVE-2025-24970, CVE-2025-22227, and CVE-2025-25193, with no breaking API changes.&lt;/P&gt;
&lt;P&gt;Additionally,&amp;nbsp;&lt;STRONG&gt;RFC 5280–compliant IP address validation&lt;/STRONG&gt;&amp;nbsp;has been added to SSL certificate SAN checks, removing the need for hostname workarounds when connecting via IP over TLS.&lt;/P&gt;
&lt;H2&gt;Bug Fixes&lt;/H2&gt;
&lt;P&gt;Version 13.4 includes a substantial number of stability and correctness fixes accumulated across the preview cycle:&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;thead&gt;&lt;tr&gt;&lt;th&gt;Area&lt;/th&gt;&lt;th&gt;Fix&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Cross-database stored procedures&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;sp_sproc_columns&amp;nbsp;is now fully qualified with&amp;nbsp;database.sys, fixing metadata lookup failures with named parameters across databases and eliminating schema name-squatting risks.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Nested stored procedure errors&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Multiple nested&amp;nbsp;RAISERROR&amp;nbsp;calls now surface correctly via&amp;nbsp;SQLException.getNextException()&amp;nbsp;through lazy exception chaining.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Geography parsing&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Scientific notation in coordinates (e.g., negative exponents in WKT) no longer causes&amp;nbsp;NumberFormatException.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Bulk copy: SQL functions&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Automatic fallback to standard batch execution when SQL functions like&amp;nbsp;len(?)&amp;nbsp;are used with&amp;nbsp;useBulkCopyForBatchInsert.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Bulk copy: computed columns&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Destination column validation now correctly ignores computed persisted columns, preventing false "invalid column mapping" errors.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Bulk copy: InputStream&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;setBinaryStream()&amp;nbsp;now works correctly with Bulk Copy for Batch Insert into&amp;nbsp;VARBINARY(MAX)&amp;nbsp;columns.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Bulk copy: isolated quotes&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Tab-delimited data with isolated quotes no longer causes&amp;nbsp;IndexOutOfBoundsException.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;getIndexInfo() collation&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Collation conflicts in mixed-collation environments are resolved by applying&amp;nbsp;COLLATE DATABASE_DEFAULT&amp;nbsp;consistently.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;getSchemas() catalog&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Built-in schemas (dbo,&amp;nbsp;sys, etc.) now return correct&amp;nbsp;TABLE_CATALOG&amp;nbsp;values instead of&amp;nbsp;NULL.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Statement.execute() update counts&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Valid update counts are no longer silently lost after an error in mixed batch execution.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;PreparedStatement update counts&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Accurate counts are now returned for multi-value&amp;nbsp;INSERT&amp;nbsp;statements with triggers.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Fatal error handling&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;TDS DONE tokens with fatal severity (25+) are properly detected and propagated, preventing silent failures.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;TVP metadata&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;getParameterMetaData()&amp;nbsp;no longer crashes when called on statements using Table-Valued Parameters.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;supportsIntegrityEnhancementFacility&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Now correctly returns&amp;nbsp;true, reflecting SQL Server's full constraint support.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;Azure Synapse serverless&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;getIndexInfo()&amp;nbsp;falls back to&amp;nbsp;sys.indexes&amp;nbsp;when&amp;nbsp;sp_statistics&amp;nbsp;is unavailable.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;H2&gt;Testing and Quality Improvements&lt;/H2&gt;
&lt;P&gt;This release reflects a significant investment in test infrastructure and coverage:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;State-machine testing framework&lt;/STRONG&gt;&amp;nbsp;— A lightweight, seed-reproducible framework for randomized JDBC state exploration in JUnit 5, improving edge-case detection with reproducible failures.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Migrated FX regression tests&lt;/STRONG&gt;&amp;nbsp;— 37 legacy regression scenarios covering statement execution, ResultSet behavior, batching, cursors, and transaction flows have been migrated to JUnit with full behavioral parity.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Expanded unit test coverage&lt;/STRONG&gt;&amp;nbsp;— Key components including&amp;nbsp;SQLServerCallableStatement,&amp;nbsp;SQLServerDatabaseMetaData,&amp;nbsp;SQLServerPreparedStatement, and&amp;nbsp;SQLServerResultSet&amp;nbsp;now have greater test coverage.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Mockito integration&lt;/STRONG&gt;&amp;nbsp;— Added as a test dependency for better unit test isolation and control.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;AI-assisted development context&lt;/STRONG&gt;&amp;nbsp;—&amp;nbsp;ARCHITECTURE.md,&amp;nbsp;GLOSSARY.md, and&amp;nbsp;PATTERNS.md&amp;nbsp;have been added to guide contributors using AI coding assistants.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Getting Started&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Maven:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="xml"&gt;&amp;lt;dependency&amp;gt;
    &amp;lt;groupId&amp;gt;com.microsoft.sqlserver&amp;lt;/groupId&amp;gt;
    &amp;lt;artifactId&amp;gt;mssql-jdbc&amp;lt;/artifactId&amp;gt;
    &amp;lt;version&amp;gt;13.4.0.jre11&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Gradle:&lt;/STRONG&gt;&lt;/P&gt;
&lt;LI-CODE lang="java"&gt;implementation 'com.microsoft.sqlserver:mssql-jdbc:13.4.0.jre11'&lt;/LI-CODE&gt;
&lt;P&gt;Replace&amp;nbsp;jre11&amp;nbsp;with&amp;nbsp;jre8&amp;nbsp;if you are on Java 8.&lt;/P&gt;
&lt;H2&gt;Breaking Changes&lt;/H2&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;There are no breaking API changes in this release. The removal of the ADAL dependency for Entra ID Integrated Authentication is transparent. The only difference from previous releases is `Authentication=ActiveDirectoryIntegrated` now has a requirement that the latest Microsoft ODBC Driver 18 for SQL Server or Microsoft OLE DB Driver 19 for SQL Server be installed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2&gt;Feedback&lt;/H2&gt;
&lt;P&gt;We value your input. Please report issues or feature requests on our&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-jdbc/issues" target="_blank" rel="noopener"&gt;GitHub Issues&lt;/A&gt; page and take our&amp;nbsp;&lt;A href="https://aka.ms/mssqljdbcsurvey" target="_blank" rel="noopener"&gt;survey&lt;/A&gt;&amp;nbsp;to let us know how we're doing.&lt;/P&gt;
&lt;P&gt;Thank you to all the contributors and community members who helped shape this release!&lt;/P&gt;
&lt;P&gt;—&amp;nbsp;&lt;EM&gt;The Microsoft JDBC Driver for SQL Server Team&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 18:48:23 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-the-general-availability-of-microsoft-jdbc-driver-13/ba-p/4503168</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-03-18T18:48:23Z</dc:date>
    </item>
    <item>
      <title>mssql-python 1.4: Bulk Copy Arrives - Load Millions of Rows at Native Speed</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-4-bulk-copy-arrives-load-millions-of-rows-at/ba-p/4503171</link>
      <description>&lt;P&gt;We're excited to announce the release of &lt;STRONG&gt;mssql-python 1.4.0&lt;/STRONG&gt;, the latest version of Microsoft's official Python driver for SQL Server, Azure SQL Database, and SQL databases in Fabric. This release delivers one of our most-requested features,&amp;nbsp;&lt;STRONG&gt;Bulk Copy (BCP)&lt;/STRONG&gt;, alongside spatial type support, important bug fixes, and developer experience improvements.&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;The headline: Bulk Copy is here&lt;/H2&gt;
&lt;P&gt;If you're moving large volumes of data into SQL Server, whether you're building ETL pipelines, loading data warehouse staging tables, ingesting IoT telemetry, or seeding databases for testing, the new&amp;nbsp;bulkcopy()&amp;nbsp;API is purpose-built for you. It provides the same high-throughput data loading capability that tools like&amp;nbsp;bcp.exe&amp;nbsp;and&amp;nbsp;SqlBulkCopy&amp;nbsp;in .NET have offered for years, now available natively from Python.&lt;/P&gt;
&lt;H3&gt;Why bulk copy matters&lt;/H3&gt;
&lt;P&gt;Traditional row-by-row inserts, even batched with&amp;nbsp;executemany(), carry per-statement overhead: parsing, plan compilation, and individual round-trips for each row or batch. Bulk copy uses SQL Server's native bulk insert protocol (TDS bulk load), which:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Streams rows directly&lt;/STRONG&gt;&amp;nbsp;into the target table with minimal protocol overhead&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Bypasses query parsing&lt;/STRONG&gt;&amp;nbsp;- there's no SQL statement to compile&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Batches intelligently&lt;/STRONG&gt;&amp;nbsp;- you control the batch size, or let the server optimize it&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Supports server-side options&lt;/STRONG&gt;&amp;nbsp;like table locks, constraint checking, trigger firing, and identity preservation&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;For large datasets, the performance difference can be dramatic.&lt;/P&gt;
&lt;H3&gt;How it works&lt;/H3&gt;
&lt;P&gt;The API lives on the cursor object, so it fits naturally into the DB API 2.0 workflow you already know:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import mssql_python

conn = mssql_python.connect(
    "SERVER=myserver.database.windows.net,1433;"
    "DATABASE=mydb;"
    "UID=myuser;PWD=mypassword;"
    "Encrypt=yes;"
)
cursor = conn.cursor()

# Your data - any iterable of tuples or lists
rows = [
    (1, "Alice", "alice@example.com"),
    (2, "Bob", "bob@example.com"),
    (3, "Carol", "carol@example.com"),
    # ... millions more
]

result = cursor.bulkcopy("dbo.Users", rows)

print(f"Loaded {result['rows_copied']} rows "
      f"in {result['batch_count']} batches "
      f"({result['elapsed_time']:.2f}s)")&lt;/LI-CODE&gt;
&lt;P&gt;That's it. Three lines of code to bulk-load your data.&lt;/P&gt;
&lt;H3&gt;Full control when you need it&lt;/H3&gt;
&lt;P&gt;The&amp;nbsp;bulkcopy()&amp;nbsp;method exposes the full range of SQL Server bulk copy options:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;result = cursor.bulkcopy(
    table_name="dbo.Users",
    data=rows,
    batch_size=10000,           # 10k rows per batch (0 = server optimal)
    timeout=120,                # Configurable timeout for large loads allows you to avoid premature cancellations while still failing due to blocking and other issues
    column_mappings=["UserID", "FirstName", "Email"],  # Explicit column targeting
    keep_identity=True,         # Preserve identity values from source
    check_constraints=True,     # Enforce constraints during load
    table_lock=True,            # Table-level lock for maximum throughput
    keep_nulls=True,            # Preserve NULLs instead of column defaults
    fire_triggers=True,         # Execute INSERT triggers
    use_internal_transaction=True,  # Transaction per batch for recoverability
)&lt;/LI-CODE&gt;
&lt;P&gt;&lt;STRONG&gt;Column mappings&lt;/STRONG&gt;&amp;nbsp;support two formats. The simple format maps columns by position:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Position in list = source column index
column_mappings=["UserID", "FirstName", "Email"]&lt;/LI-CODE&gt;
&lt;P&gt;The advanced format uses explicit index-to-column tuples, which lets you skip or reorder source columns:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# (source_index, target_column_name) - skip index 2, reorder freely
column_mappings=[(0, "UserID"), (1, "FirstName"), (3, "Email")]&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Powered by Rust under the hood&lt;/H3&gt;
&lt;P&gt;The bulk copy engine is implemented in&amp;nbsp;&lt;STRONG&gt;mssql-py-core&lt;/STRONG&gt;, a companion Rust library that handles the TDS bulk load protocol. When you call&amp;nbsp;bulkcopy(), the driver:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Parses your existing connection string and translates it for the Rust layer&lt;/LI&gt;
&lt;LI&gt;Opens a dedicated connection through mssql-py-core (separate from your DDBC query connection)&lt;/LI&gt;
&lt;LI&gt;Acquires an Entra ID token if needed&lt;/LI&gt;
&lt;LI&gt;Streams your data iterator directly to the Rust bulk copy engine&lt;/LI&gt;
&lt;LI&gt;Returns a result dictionary with&amp;nbsp;rows_copied,&amp;nbsp;batch_count, and&amp;nbsp;elapsed_time&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;The Python logging integration is performance-aware: the logger is only passed to the Rust layer when debug logging is active, so there's zero overhead in production.&lt;/P&gt;
&lt;P&gt;Security is built-in: credentials are scrubbed from memory in the finally block, and error messages are sanitized to prevent credential leakage in stack traces.&lt;/P&gt;
&lt;H2&gt;Spatial type support: geography, geometry, and hierarchyid&lt;/H2&gt;
&lt;P&gt;Version 1.4 adds support for SQL Server's spatial and hierarchical types:&amp;nbsp;geography,&amp;nbsp;geometry, and&amp;nbsp;hierarchyid. These CLR user-defined types are now handled natively by the driver.&lt;/P&gt;
&lt;H3&gt;Reading spatial data&lt;/H3&gt;
&lt;P&gt;Spatial columns are returned as&amp;nbsp;bytes&amp;nbsp;(the raw CLR binary representation). To get human-readable output, use SQL Server's built-in conversion methods:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Insert a geography point (WGS 84)
cursor.execute(
    "INSERT INTO Locations (point) VALUES (geography::STGeomFromText(?, 4326))",
    "POINT(-122.349 47.651)"
)

# Read as WKT text
cursor.execute("SELECT point.STAsText() FROM Locations")
row = cursor.fetchone()
# row[0] = "POINT (-122.349 47.651)"

# Use spatial methods server-side
cursor.execute("""
    SELECT a.point.STDistance(b.point) AS distance_meters
    FROM Locations a CROSS JOIN Locations b
    WHERE a.id = 1 AND b.id = 2
""")&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Writing spatial data&lt;/H3&gt;
&lt;P&gt;The driver auto-detects WKT (Well-Known Text) geometry strings. If a parameter value starts with&amp;nbsp;POINT,&amp;nbsp;LINESTRING, or&amp;nbsp;POLYGON, it's automatically mapped to the correct SQL type:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# All standard WKT types are supported
cursor.execute(
    "INSERT INTO Routes (path) VALUES (geography::STGeomFromText(?, 4326))",
    "LINESTRING(-122.349 47.651, -122.340 47.660, -122.330 47.670)"
)

cursor.execute(
    "INSERT INTO Zones (boundary) VALUES (geometry::STGeomFromText(?, 0))",
    "POLYGON((0 0, 100 0, 100 100, 0 100, 0 0))"
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;HierarchyId for tree structures&lt;/H3&gt;
&lt;P&gt;hierarchyid&amp;nbsp;is SQL Server's built-in type for representing tree/graph hierarchies: org charts, file systems, bill-of-materials structures:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;# Insert a node
cursor.execute(
    "INSERT INTO OrgChart (node, name) VALUES (hierarchyid::Parse(?), ?)",
    "/1/2/3/", "Engineering Lead"
)

# Query the hierarchy
cursor.execute("SELECT node.ToString(), node.GetLevel(), name FROM OrgChart")
# ("/1/2/3/", 3, "Engineering Lead")

# Find ancestors
cursor.execute("SELECT node.GetAncestor(1).ToString() FROM OrgChart WHERE name = 'Engineering Lead'")
# "/1/2/"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;Output converters&lt;/H3&gt;
&lt;P&gt;For advanced use cases, you can register custom converters to automatically transform the raw binary representation:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;def parse_geography(value):
    """Convert CLR binary to a shapely geometry (example)."""
    if value is None:
        return None
    # Your deserialization logic here
    return shapely.wkb.loads(value)

conn.add_output_converter(bytes, parse_geography)

# Now all bytes columns are automatically converted
cursor.execute("SELECT point FROM Locations")
row = cursor.fetchone()
# row[0] is now a shapely geometry object&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Bug fixes&lt;/H2&gt;
&lt;H3&gt;VARCHAR encoding fix&lt;/H3&gt;
&lt;P&gt;VARCHAR&amp;nbsp;columns would fail to fetch when the data length exactly equaled the column size and the data contained non-ASCII characters in the CP1252 code page. This was a subtle edge case that could surface with European-language text (accented characters, currency symbols, etc.) in fixed-length string columns.&lt;/P&gt;
&lt;H3&gt;Segmentation fault fix&lt;/H3&gt;
&lt;P&gt;Resolved a segfault that occurred when interleaving&amp;nbsp;fetchmany()&amp;nbsp;and&amp;nbsp;fetchone()&amp;nbsp;calls on the same cursor. This affected patterns like:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;batch = cursor.fetchmany(100) # ... process batch ... next_row = cursor.fetchone() # Previously could segfault&lt;/LI-CODE&gt;
&lt;P&gt;This is now safe to use in all combinations.&lt;/P&gt;
&lt;H3&gt;Date/time type code alignment&lt;/H3&gt;
&lt;P&gt;Aligned date/time type code mappings with the ODBC 18 driver source, correctly mapping&amp;nbsp;SQL_SS_TIME2&amp;nbsp;(-154) and&amp;nbsp;SQL_SS_DATETIMEOFFSET&amp;nbsp;(-155). This improves compatibility with tools and frameworks that inspect&amp;nbsp;cursor.description&amp;nbsp;type codes.&lt;/P&gt;
&lt;H2&gt;Developer experience improvements&lt;/H2&gt;
&lt;H3&gt;PEP 561 type checking support&lt;/H3&gt;
&lt;P&gt;The driver now ships with a&amp;nbsp;py.typed&amp;nbsp;marker file, enabling full static type checking in tools like mypy, Pyright, and IDE type inspectors. Combined with the existing&amp;nbsp;.pyi&amp;nbsp;stub file, you get accurate autocompletion and type validation for the entire mssql-python API.&lt;/P&gt;
&lt;H3&gt;Devcontainer for contributors&lt;/H3&gt;
&lt;P&gt;A new devcontainer configuration makes it easy to spin up a fully configured development environment for contributing to the driver. Just open the repo in VS Code or GitHub Codespaces and you're ready to go.&lt;/P&gt;
&lt;H3&gt;Azure SQL Database in CI&lt;/H3&gt;
&lt;P&gt;The PR validation pipeline now tests against Azure SQL Database in addition to on-premises SQL Server, ensuring that every change is validated against the Azure SQL service before merge.&lt;/P&gt;
&lt;H2&gt;The road to 1.4&lt;/H2&gt;
&lt;P&gt;For context, here's how the driver has evolved over its GA releases:&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;thead&gt;&lt;tr&gt;&lt;th&gt;Release&lt;/th&gt;&lt;th&gt;Date&lt;/th&gt;&lt;th&gt;Highlights&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;1.0.0&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;November 2025&lt;/td&gt;&lt;td&gt;GA release - DDBC architecture, Entra ID auth, connection pooling, DB API 2.0 compliance&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;1.1.0&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;December 2025&lt;/td&gt;&lt;td&gt;Parameter dictionaries,&amp;nbsp;Connection.closed&amp;nbsp;property, Copilot prompts&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;1.2.0&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;January 2026&lt;/td&gt;&lt;td&gt;Param-as-dict, non-ASCII path handling, fetchmany fixes&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;1.3.0&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;January 2026&lt;/td&gt;&lt;td&gt;Initial BCP implementation (internal), SQLFreeHandle segfault fix&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;1.4.0&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;February 2026&lt;/td&gt;&lt;td&gt;&lt;STRONG&gt;BCP public API&lt;/STRONG&gt;, spatial types, Rust core upgrade, encoding &amp;amp; stability fixes&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;BCP was introduced as an internal implementation in 1.3 and has been hardened, expanded, and promoted to a fully public API in 1.4, with Entra ID support, explicit parameters, column mappings, logging integration, and comprehensive validation.&lt;/P&gt;
&lt;H2&gt;What's next&lt;/H2&gt;
&lt;P&gt;Looking ahead, the roadmap includes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Asynchronous query execution&lt;/STRONG&gt;&amp;nbsp;with asyncio support&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Vector datatype support&lt;/STRONG&gt;&amp;nbsp;for SQL Server's native vector type&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Table-Valued Parameters (TVPs)&lt;/STRONG&gt;&amp;nbsp;for passing tabular data to stored procedures&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Get started&lt;/H2&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Documentation&lt;/STRONG&gt;:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/wiki" target="_blank" rel="noopener"&gt;github.com/microsoft/mssql-python/wiki&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Release notes&lt;/STRONG&gt;:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/releases" target="_blank" rel="noopener"&gt;github.com/microsoft/mssql-python/releases&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Roadmap&lt;/STRONG&gt;:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/blob/main/ROADMAP.md" target="_blank" rel="noopener"&gt;github.com/microsoft/mssql-python/blob/main/ROADMAP.md&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Report issues&lt;/STRONG&gt;:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues" target="_blank" rel="noopener"&gt;github.com/microsoft/mssql-python/issues&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Contact&lt;/STRONG&gt;:&amp;nbsp;&lt;A href="mailto:mssql-python@microsoft.com" target="_blank" rel="noopener"&gt;mssql-python@microsoft.com&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;We'd love your feedback. Try the new bulk copy API, let us know how it performs on your workloads, and file issues for anything you run into. This driver is built for the Python data community, and your input directly shapes what comes next.&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-4-bulk-copy-arrives-load-millions-of-rows-at/ba-p/4503171</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-03-18T12:00:00Z</dc:date>
    </item>
    <item>
      <title>mssql-django 1.7: Django 6.0, SQL Server 2025, and a Lot of Catching Up</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-7-django-6-0-sql-server-2025-and-a-lot-of/ba-p/4503166</link>
      <description>&lt;P&gt;For years, Django developers who needed SQL Server have had to navigate a patchwork of community forks and half-maintained backends. mssql-django changed that — an official, Microsoft-supported backend that lets you point your Django app at SQL Server and have things just work.&lt;/P&gt;
&lt;P&gt;But we'll be honest: for a stretch there, we fell behind. Between the 1.5 release in April 2024 and 1.6 last August, over fifteen months passed with no new version — and during that time Django shipped both 5.1 and 5.2. Developers who wanted to stay current with Django were stuck waiting for backend support that wasn't there yet.&lt;/P&gt;
&lt;P&gt;We've been working to close that gap. Version 1.6 landed Django 5.1 and 5.2 support last summer, and now 1.7 brings full Django 6.0 compatibility within weeks of its release. We're back on pace, and we intend to stay there.&lt;/P&gt;
&lt;H2&gt;Django 6.0 Is Fully Supported&lt;/H2&gt;
&lt;P&gt;This was the big one. Django 6.0 brought a wave of internal changes — revised query batching, new ORDER BY behavior, updated JSON lookup paths,&amp;nbsp;db_default&amp;nbsp;support in bulk inserts — and each of those touched code paths in the backend that needed careful attention. We've worked through all of it. If you're running Django 6.0, mssql-django 1.7 has you covered.&lt;/P&gt;
&lt;P&gt;Python 3.14 support comes along for the ride, and the backend remains compatible all the way back to Django 3.2 and Python 3.8 for teams that aren't ready to jump forward yet.&lt;/P&gt;
&lt;H2&gt;Composite Primary Keys Land on SQL Server&lt;/H2&gt;
&lt;P&gt;Django 5.2 introduced composite primary keys — a long-requested feature in the Django ecosystem. Getting them to work cleanly on SQL Server took real effort. SQL Server doesn't support tuple comparisons (WHERE (a, b) IN (...)), so we built fallback logic that translates these lookups into equivalent T-SQL. ORDER BY handling for composite PKs required its own set of fixes to avoid the dreaded "column specified more than once" error.&lt;/P&gt;
&lt;P&gt;The result: if you're on Django 5.2+ and want to use&amp;nbsp;CompositePrimaryKey, it works.&lt;/P&gt;
&lt;H2&gt;SQL Server 2025&lt;/H2&gt;
&lt;P&gt;SQL Server 2025 is now officially supported and tested in CI. The compatibility matrix spans nearly a decade of SQL Server releases — from 2016 through 2025 — plus Azure SQL Database, Azure SQL Managed Instance, and SQL Database in Microsoft Fabric.&lt;/P&gt;
&lt;H2&gt;ODBC Driver 18 by Default&lt;/H2&gt;
&lt;P&gt;We've updated the default ODBC driver from v17 to&amp;nbsp;&lt;STRONG&gt;ODBC Driver 18 for SQL Server&lt;/STRONG&gt;. If you don't have Driver 18 installed, the backend falls back to Driver 17 automatically and logs a message, so you know what happened. If you've already set an explicit driver in your OPTIONS, nothing changes for you.&lt;/P&gt;
&lt;H2&gt;The Smaller Stuff That Matters&lt;/H2&gt;
&lt;P&gt;A few fixes that are easy to overlook but made real differences:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;quote_name()&amp;nbsp;now handles aliases with periods&lt;/STRONG&gt;&amp;nbsp;— if you've ever hit a confusing quoting error with dotted identifiers, this one's for you.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Meta.indexes&amp;nbsp;no longer get dropped during field alterations&lt;/STRONG&gt;&amp;nbsp;— a regression from earlier versions that could silently lose your indexes on schema changes.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;The&amp;nbsp;testapp&amp;nbsp;package stopped leaking into distributions&lt;/STRONG&gt;&amp;nbsp;— a packaging hygiene fix.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Better for Contributors, Too&lt;/H2&gt;
&lt;P&gt;We've invested in making the project easier to contribute to. There's now a&amp;nbsp;&lt;STRONG&gt;devcontainer&lt;/STRONG&gt;&amp;nbsp;so you can spin up a full development environment in VS Code or GitHub Codespaces with a single click. We've added&amp;nbsp;&lt;STRONG&gt;GitHub Copilot instructions&lt;/STRONG&gt;&amp;nbsp;and reusable prompt files - for dev environment setup, running unit tests, running the full Django test suite, and PR self-checks - so AI-assisted contributors can follow project conventions out of the box. And our&amp;nbsp;&lt;STRONG&gt;CI pipelines are now public&lt;/STRONG&gt;, so you can see exactly what's passing before you submit a PR.&lt;/P&gt;
&lt;H2&gt;Try It&lt;/H2&gt;
&lt;LI-CODE lang="bash"&gt;pip install mssql-django==1.7 DATABASES = { 'default': { 'ENGINE': 'mssql', 'NAME': 'mydb', 'USER': 'user@myserver', 'PASSWORD': 'password', 'HOST': 'myserver.database.windows.net', 'OPTIONS': { 'driver': 'ODBC Driver 18 for SQL Server', }, }, }&lt;/LI-CODE&gt;
&lt;P&gt;Full documentation, guides, and FAQs are on the &lt;A href="https://github.com/microsoft/mssql-django/wiki" target="_blank" rel="noopener"&gt;mssql-django Wiki&lt;/A&gt;. If you hit a problem,&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-django/issues/new" target="_blank" rel="noopener"&gt;open an issue&lt;/A&gt;&amp;nbsp;— we're paying attention.&lt;/P&gt;
&lt;H2&gt;What's Supported&lt;/H2&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Component&lt;/th&gt;&lt;th&gt;Versions&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Django&lt;/td&gt;&lt;td&gt;3.2, 4.0, 4.1, 4.2, 5.0, 5.1, 5.2, 6.0&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Python&lt;/td&gt;&lt;td&gt;3.8 – 3.14&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SQL Server&lt;/td&gt;&lt;td&gt;2016, 2017, 2019, 2022, 2025&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Azure SQL&lt;/td&gt;&lt;td&gt;Database, Managed Instance, SQL Database in Microsoft Fabric&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ODBC Driver&lt;/td&gt;&lt;td&gt;17 or 18&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 50.00%" /&gt;&lt;col style="width: 50.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;EM&gt;mssql-django is open source under the BSD license. Contributions are welcome — see the&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-django/blob/dev/CONTRIBUTING.md" target="_blank" rel="noopener"&gt;Contributing Guide&lt;/A&gt;&amp;nbsp;to get started.&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-7-django-6-0-sql-server-2025-and-a-lot-of/ba-p/4503166</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-03-18T12:00:00Z</dc:date>
    </item>
    <item>
      <title>Best Practices for Connecting Internal SQL Server Financial Systems to Online Payment Platforms</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/best-practices-for-connecting-internal-sql-server-financial/m-p/4502249#M6022</link>
      <description>&lt;P&gt;I currently have an internal enterprise system used for purchasing, payments, and finance operations. The system runs on an on-premises database using Microsoft SQL Server and stores all financial transactions and internal workflow data.&lt;/P&gt;&lt;P&gt;We now have a new requirement to enable online payment services for customers. These services will be exposed externally (likely in the cloud) and must interact with the same financial system so that transactions are reflected in our internal database.&lt;/P&gt;&lt;P&gt;My main concerns are related to architecture, security, and data synchronization.&lt;/P&gt;&lt;P&gt;Key points about the current setup:&lt;/P&gt;&lt;P&gt;The core system and database are hosted internally (on-premises).&lt;/P&gt;&lt;P&gt;The database contains sensitive finance and payment data.&lt;/P&gt;&lt;P&gt;Internal processes depend on the current database structure and workflows.&lt;/P&gt;&lt;P&gt;The new requirements:&lt;/P&gt;&lt;P&gt;Develop an online payment service accessible over the internet.&lt;/P&gt;&lt;P&gt;Ensure transactions from the online service update the internal system.&lt;/P&gt;&lt;P&gt;Maintain data integrity and security.&lt;/P&gt;&lt;P&gt;Avoid performance issues for the internal system.&lt;/P&gt;&lt;P&gt;I’m evaluating a few possible approaches but I’m unsure which is best practice:&lt;/P&gt;&lt;P&gt;Allow the cloud payment service to connect directly to the internal SQL Server database through secure networking.&lt;/P&gt;&lt;P&gt;Maintain a replicated or read/write copy of the database in the cloud.&lt;/P&gt;&lt;P&gt;Use SQL Server replication (transactional or snapshot) between on-prem and cloud.&lt;/P&gt;&lt;P&gt;Introduce an API or middleware layer that handles all transactions and updates the internal database.&lt;/P&gt;&lt;P&gt;Maintain separate databases and synchronize transactions asynchronously.&lt;/P&gt;&lt;P&gt;My main questions:&lt;/P&gt;&lt;P&gt;Is it recommended to expose the internal SQL Server database directly to cloud services?&lt;/P&gt;&lt;P&gt;Should I use replication, a secondary database, or a service/API layer?&lt;/P&gt;&lt;P&gt;What architecture pattern is commonly used for integrating on-prem financial systems with online payment platforms?&lt;/P&gt;&lt;P&gt;How can we ensure consistency between internal transactions and online payments?&lt;/P&gt;&lt;P&gt;Are there recommended SQL Server features or patterns for this scenario (replication, service broker, CDC, etc.)?&lt;/P&gt;&lt;P&gt;Any advice on best practices, architecture patterns, or real-world implementations would be greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2026 12:20:24 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/best-practices-for-connecting-internal-sql-server-financial/m-p/4502249#M6022</guid>
      <dc:creator>ShuraCouncilSeniorDev</dc:creator>
      <dc:date>2026-03-14T12:20:24Z</dc:date>
    </item>
    <item>
      <title>Best architecture to integrate internal SQL Server system with cloud-based online payment services</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/best-architecture-to-integrate-internal-sql-server-system-with/m-p/4502248#M6021</link>
      <description>&lt;P&gt;I currently have an internal enterprise ERP system also need to be integrated with online payments, and finance operations.&lt;/P&gt;&lt;P&gt;The system runs on an on-premises database using Microsoft SQL Server 2022 and stores all financial transactions and internal workflow data.&lt;/P&gt;&lt;P&gt;We now have a new requirement to enable online payment services for customers.&lt;/P&gt;&lt;P&gt;These services will be exposed externally (likely in the cloud) and must interact with the same financial system so that transactions are reflected in our internal database.&lt;/P&gt;&lt;P&gt;My main concerns are related to architecture, security, and data synchronization.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Key points about the current setup:&lt;/P&gt;&lt;P&gt;The core system and database are hosted internally (on-premises).&lt;/P&gt;&lt;P&gt;The database contains sensitive finance and payment data.&lt;/P&gt;&lt;P&gt;Internal processes depend on the current database structure and workflows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The new requirements:&lt;/P&gt;&lt;P&gt;Develop an online payment service accessible over the internet.&lt;/P&gt;&lt;P&gt;Ensure transactions from the online service update the internal system.&lt;/P&gt;&lt;P&gt;Maintain data integrity and security.&lt;/P&gt;&lt;P&gt;Avoid performance issues for the internal system.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I’m evaluating a few possible approaches but I’m unsure which is best practice:&lt;/P&gt;&lt;P&gt;Allow the cloud payment service to connect directly to the internal SQL Server database through secure networking.&lt;/P&gt;&lt;P&gt;Maintain a replicated or read/write copy of the database in the cloud.&lt;/P&gt;&lt;P&gt;Use SQL Server replication (transactional or snapshot) between on-prem and cloud.&lt;/P&gt;&lt;P&gt;Introduce an API or middleware layer that handles all transactions and updates the internal database.&lt;/P&gt;&lt;P&gt;Maintain separate databases and synchronize transactions asynchronously.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My main questions:&lt;/P&gt;&lt;P&gt;Is it recommended to expose the internal SQL Server database directly to cloud services?&lt;/P&gt;&lt;P&gt;Should I use replication, a secondary database, or a service/API layer?&lt;/P&gt;&lt;P&gt;What architecture pattern is commonly used for integrating on-prem financial systems with online payment platforms?&lt;/P&gt;&lt;P&gt;How can we ensure consistency between internal transactions and online payments?&lt;/P&gt;&lt;P&gt;Are there recommended SQL Server features or patterns for this scenario (replication, service broker, CDC, etc.)?&lt;/P&gt;&lt;P&gt;Any advice on best practices, architecture patterns, or real-world implementations would be greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Sat, 14 Mar 2026 12:08:20 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/best-architecture-to-integrate-internal-sql-server-system-with/m-p/4502248#M6021</guid>
      <dc:creator>qasilia</dc:creator>
      <dc:date>2026-03-14T12:08:20Z</dc:date>
    </item>
    <item>
      <title>SQL Server issue but don't know what - please help!</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/sql-server-issue-but-don-t-know-what-please-help/m-p/4501962#M6019</link>
      <description>&lt;P&gt;Hi,&lt;BR /&gt;I'm facing a SQL Server focused issue that I don't understand why it's occurring and would like your help to identify and resolve, please. I will provide an in-depth breakdown of the scenario.&lt;BR /&gt;&lt;BR /&gt;Two years ago, I created a Azure Data Factory (ADF) Pipeline to take data from Azure Synapse to Azure SQL Server, and two other Pipelines to take data from an On-Premises Sage server to the same Azure SQL Server. These Pipelines were working perfectly up until two days ago (11/03/26) when the Pipelines still always complete successfully but the duration have increased greatly. The below screenshot shows the log of these three Pipeline for the past week. Note how prior to the 12/03/26 the Synapse Pipeline took about 6 minutes to complete and the two Sage Pipelines took around 25 seconds. Also note how on the 12/03/26 the Synapse Pipeline took over 3 hours but the two Sage Pipelines continued with their normal 25 seconds. Notice today (13/03/26) the Synapse Pipeline was still slow but now the two Sage Pipelines are taking over an hour. I'll note here that the Pipelines still complete successfully (so the config must be correct as it has been for two years).&lt;/P&gt;&lt;img /&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Each Pipeline contains a single (for Sage) or several (for Synapse) 'Copy data' objects. The objects have their source configuration to simply extract from the source (so either Synapse or Sage) and then the sink configuration has a 'Pre-Copy script' which simply Truncates the target SQL Server table, before loading to the SQL Server table. The screenshot below is one example - each Pre-Copy script is populated the same but just with the tables being different.&lt;/P&gt;&lt;img /&gt;&lt;P&gt;&lt;BR /&gt;When I look at the log for the Pipelines, I see a common theme for each and that is the 'Pre-Copy script' (the Truncate) is consuming 99% of the time. The screenshot below shows this common theme.&lt;/P&gt;&lt;img /&gt;&lt;P&gt;&lt;BR /&gt;So at this point, I ask the question why, after two years of all working well and completing very quickly, are the Pipelines taking so long to complete?&lt;BR /&gt;This also seems to be an intermittent problem as I have performed several manual executions which will take a long while, then revert back to the quick several minutes again (so good), then revert once more to taking a long while again. It is intermittent. See the screenshot below. Notice how the same Pipeline have different durations. It's intermittent.&lt;/P&gt;&lt;img /&gt;&lt;P&gt;&lt;BR /&gt;The reason why I think it is a SQL Server focused issue for the following reasons:&lt;BR /&gt;1) Synapse - Performing simple commands (Select Top) returns data within seconds.&lt;BR /&gt;2) SQL Server - Performing simple commands (Select Top) usually takes seconds but during the past two days is often taking half hour.&lt;BR /&gt;3) SQL Server - When amending a SQL View it would take a split second to complete. During the past two days, it goes over ten minutes and still doesn't complete (I was amending the View for testing purposes).&lt;BR /&gt;4) SQL Server - When looking at the Views node under a database, during the past two days, it intermittently doesn't show the View. Sometimes, it will work if I log out and then back into SQL Server.&lt;BR /&gt;5) Power BI - Refreshing a Power BI report, whether from the Power BI Service or Desktop, call SQL Server Views. These SQL Server Views read from several SQL Server tables. These report refreshes are failing due to an IDbCommand interface error. These Power BI report data refreshes simply read from a SQL Server table via a SQL View. They don't reference or consider at all the any ADF Pipelines. The Pipelines execute between 2am and 3am each morning. The Power BI report refresh their data around 12pm to 5pm.&amp;nbsp;&lt;/P&gt;&lt;img /&gt;&lt;P&gt;As SQL Server seems to be problematic at the point of the 'Pre-Copy script', which is one of the end to end process, and then problematic at the very other end where Power BI reports consumes SQL Views&amp;nbsp; - leads me to believe the issue is with SQL Server.&lt;BR /&gt;&lt;BR /&gt;I am a report developer and not an ADF expert. I've built the ADF process on the side. I haven't changed any development/configuration/etc... between this all working and failing. Our I.T. department have advised they have made no changes to contribute to this issue.&lt;BR /&gt;&lt;BR /&gt;Please can someone advise on what's happening here and why this issue has arose when for two years all was fine?&lt;BR /&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Mar 2026 11:19:49 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/sql-server-issue-but-don-t-know-what-please-help/m-p/4501962#M6019</guid>
      <dc:creator>AzureNewbie11</dc:creator>
      <dc:date>2026-03-13T11:19:49Z</dc:date>
    </item>
    <item>
      <title>Cumulative Update #3 for SQL Server 2025 RTM</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-3-for-sql-server-2025-rtm/ba-p/4501773</link>
      <description>&lt;P&gt;The 3rd cumulative update release for SQL Server 2025 RTM is now available for download at the Microsoft Downloads site. Please note that registration is no longer required to download Cumulative updates. &lt;BR /&gt;To learn more about the release or servicing model, please visit:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;CU3 KB Article: &lt;A href="https://learn.microsoft.com/troubleshoot/sql/releases/sqlserver-2025/cumulativeupdate3" target="_blank"&gt;https://learn.microsoft.com/troubleshoot/sql/releases/sqlserver-2025/cumulativeupdate3&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Starting with SQL Server 2017, we adopted a new modern servicing model. Please refer to our blog for more details on &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fsql-server-blog%2Fannouncing-the-modern-servicing-model-for-sql-server%2Fba-p%2F385594&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C213caec3a2054252b86908de7f984f74%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639088489203916716%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=41Y5pkfytK7XgCe0xvZbgjfnXSpm9F4SF1HEBFz%2F6qE%3D&amp;amp;reserved=0" target="_blank"&gt;Modern Servicing Model&lt;/A&gt; for SQL Server&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft® SQL Server® 2025 RTM Latest Cumulative Update: &lt;A href="https://www.microsoft.com/download/details.aspx?id=108540" target="_blank"&gt;https://www.microsoft.com/download/details.aspx?id=108540&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Update Center for Microsoft SQL Server: &lt;A href="https://learn.microsoft.com/en-us/troubleshoot/sql/releases/download-and-install-latest-updates" target="_blank"&gt;https://learn.microsoft.com/en-us/troubleshoot/sql/releases/download-and-install-latest-updates&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 12 Mar 2026 21:19:19 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-3-for-sql-server-2025-rtm/ba-p/4501773</guid>
      <dc:creator>SrinivasSQL</dc:creator>
      <dc:date>2026-03-12T21:19:19Z</dc:date>
    </item>
  </channel>
</rss>

