<?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>Wed, 02 Sep 2026 23:57:57 GMT</pubDate>
    <dc:creator>SQL-Server</dc:creator>
    <dc:date>2026-09-02T23:57:57Z</dc:date>
    <item>
      <title>mssql-python 1.14.0: Faster Parameter Binding, Safer Errors, Correct Timeouts</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-14-0-faster-parameter-binding-safer-errors/ba-p/4551366</link>
      <description>&lt;P data-line="2"&gt;mssql-python&amp;nbsp;1.14.0 is now available on PyPI. This release moves the standard parameter detection and execution path into native C++, improving throughput for wide parameterized statements and batched workloads. It also corrects connection timeout behavior, prevents Decimal conversion errors from exposing parameter values, and fixes several Arrow, bulk copy, and Windows ARM64 issues.&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;H2 data-line="12"&gt;Highlights&lt;/H2&gt;
&lt;H3 data-line="14"&gt;Parameter detection and execution move into C++&lt;/H3&gt;
&lt;P data-line="16"&gt;Every parameterized&amp;nbsp;execute()&amp;nbsp;call has to identify each Python value, choose the corresponding SQL and C types, bind the values, and call&amp;nbsp;SQLExecute. Previously, mssql-python performed type detection in a Python loop, constructed a&amp;nbsp;ParamInfo&amp;nbsp;object for every parameter, and passed those objects across the pybind11 boundary before the native layer could bind and execute the statement.&lt;/P&gt;
&lt;P data-line="22"&gt;In 1.14.0, the standard path performs detection, binding, and execution in one native C++ pipeline and one Python-to-native call. Type checks use the CPython API directly, and the parameter metadata stays in C++.&lt;/P&gt;
&lt;P data-line="26"&gt;The improvement grows with the number of parameters in each call. Benchmarks recorded in&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/549" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/549"&gt;PR #549&lt;/A&gt;&amp;nbsp;measured type detection at about 35 ns per parameter, down from 2.0 to 2.3 microseconds. For statements with 50 or more parameters,&amp;nbsp;execute()&amp;nbsp;was about 21% to 73% faster across the tested macOS ARM64 and Linux ARM64 environments.&lt;/P&gt;
&lt;P data-line="32"&gt;The same PR measured these complete insert workloads on macOS ARM64. These figures include the network round trip and SQL Server writing the rows, not just driver overhead.&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;Workload&lt;/th&gt;&lt;th&gt;Before&lt;/th&gt;&lt;th&gt;After&lt;/th&gt;&lt;th&gt;Speedup&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Orders: integer, varchar, decimal, datetime2&lt;/td&gt;&lt;td&gt;880.6 ms&lt;/td&gt;&lt;td&gt;561.0 ms&lt;/td&gt;&lt;td&gt;1.57x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Events: UUID, datetime2, varchar, integer&lt;/td&gt;&lt;td&gt;827.2 ms&lt;/td&gt;&lt;td&gt;533.5 ms&lt;/td&gt;&lt;td&gt;1.55x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Documents:&amp;nbsp;nvarchar(max)&amp;nbsp;around 10 KB&lt;/td&gt;&lt;td&gt;1622.0 ms&lt;/td&gt;&lt;td&gt;1021.3 ms&lt;/td&gt;&lt;td&gt;1.59x&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Wide rows: 50 mixed columns&lt;/td&gt;&lt;td&gt;1598.6 ms&lt;/td&gt;&lt;td&gt;1048.9 ms&lt;/td&gt;&lt;td&gt;1.52x&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;col style="width: 25.00%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P data-line="42"&gt;These are results from the PR benchmark environment, not a throughput guarantee. The gain depends on how much of each call was previously spent inspecting parameters. A benchmark that issued 5,000 single-row calls with four parameters showed no meaningful change because the network round trip dominated the roughly 9 microseconds of parameter detection that was removed.&lt;/P&gt;
&lt;P data-line="48"&gt;Calls that use&amp;nbsp;setinputsizes()&amp;nbsp;continue through the existing Python detection path so their explicit type overrides are preserved. No API changes are required, but those calls do not receive this optimization yet.&lt;/P&gt;
&lt;P data-line="52"&gt;See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/549" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/549"&gt;PR #549&lt;/A&gt;&amp;nbsp;and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/500" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/500"&gt;#500&lt;/A&gt;.&lt;/P&gt;
&lt;H3 data-line="55"&gt;connect(timeout=)&amp;nbsp;now controls login time&lt;/H3&gt;
&lt;P data-line="57"&gt;The&amp;nbsp;timeout&amp;nbsp;argument to&amp;nbsp;connect()&amp;nbsp;is documented as a login timeout, consistent with pyodbc. Before 1.14.0, mssql-python silently stored it as the per-statement query timeout. It did not bound the connection attempt, and a later long-running query could be canceled after that number of seconds.&lt;/P&gt;
&lt;P data-line="62"&gt;The two settings are now separate:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;from mssql_python import connect

# Allow up to five seconds to establish the connection.
conn = connect(connection_string, timeout=5)

# Allow up to 60 seconds for each statement on this connection.
conn.timeout = 60&lt;/LI-CODE&gt;
&lt;P data-line="74"&gt;An explicit&amp;nbsp;attrs_before[SQL_ATTR_LOGIN_TIMEOUT]&amp;nbsp;still takes precedence over the&amp;nbsp;timeout&amp;nbsp;argument. Both timeout entry points reject negative values, non-integers, and booleans.&lt;/P&gt;
&lt;P data-line="78"&gt;This is a behavior correction with an upgrade implication. If an application relied on&amp;nbsp;connect(timeout=N)&amp;nbsp;to stop long-running queries, set&amp;nbsp;Connection.timeout = N&amp;nbsp;explicitly after upgrading.&lt;/P&gt;
&lt;P data-line="82"&gt;See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/728" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/728"&gt;PR #728&lt;/A&gt;&amp;nbsp;and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/725" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/725"&gt;#725&lt;/A&gt;.&lt;/P&gt;
&lt;H3 data-line="85"&gt;Decimal conversion errors no longer include parameter values&lt;/H3&gt;
&lt;P data-line="87"&gt;When&amp;nbsp;executemany()&amp;nbsp;could not convert a value for a Decimal or NUMERIC parameter, the exception included the entire parameter row. That row could contain names, email addresses, account data, or other sensitive values, and the exception could then be collected by an application log or APM service.&lt;/P&gt;
&lt;P data-line="92"&gt;The error now reports only the row index, column index, and Python type:&lt;/P&gt;
&lt;P&gt;Failed to convert parameter to Decimal at row 0, column 3 (value type: str)&lt;/P&gt;
&lt;P data-line="98"&gt;The fix also prevents a value-bearing exception cause from reintroducing the data through a chained traceback.&lt;/P&gt;
&lt;P data-line="101"&gt;See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/719" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/719"&gt;PR #719&lt;/A&gt;.&lt;/P&gt;
&lt;H2 data-line="103"&gt;Arrow and bulk copy fixes&lt;/H2&gt;
&lt;UL data-line="105"&gt;
&lt;LI data-line="105"&gt;&lt;STRONG&gt;Arrow View types:&lt;/STRONG&gt;&amp;nbsp;bulkcopy_arrow()&amp;nbsp;now accepts variable-length Arrow View arrays, including Polars&amp;nbsp;string_view&amp;nbsp;columns exported directly through the Arrow C Data Interface. Values and NULLs round-trip without an explicit&amp;nbsp;DataFrame.to_arrow()&amp;nbsp;call. This support comes through&amp;nbsp;mssql_py_core&amp;nbsp;0.1.9. See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/717" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/717"&gt;PR #717&lt;/A&gt;,&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/729" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/729"&gt;PR #729&lt;/A&gt;, and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/708" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/708"&gt;#708&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="112"&gt;&lt;STRONG&gt;Original Arrow fetch errors are preserved:&lt;/STRONG&gt;&amp;nbsp;defensive cleanup in the Arrow batch reader no longer raises a secondary exception that hides the fetch failure callers need to diagnose. See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/718" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/718"&gt;PR #718&lt;/A&gt;&amp;nbsp;and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/712" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/712"&gt;#712&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="116"&gt;&lt;STRONG&gt;Unlimited bulk copy timeout:&lt;/STRONG&gt;&amp;nbsp;bulkcopy(timeout=0)&amp;nbsp;now passes zero through as no timeout, matching the documented BCP contract. Negative, non-integer, and boolean values remain invalid. See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/698" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/698"&gt;PR #698&lt;/A&gt;&amp;nbsp;and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/697" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/697"&gt;#697&lt;/A&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="121"&gt;Windows ARM64 extension loading&lt;/H2&gt;
&lt;P data-line="123"&gt;On Windows,&amp;nbsp;platform.machine()&amp;nbsp;reports the host CPU architecture rather than the architecture of the running Python interpreter. An x64 Python installation on a Windows ARM64 machine therefore looked for an ARM64 native extension even though pip had installed the&amp;nbsp;win_amd64&amp;nbsp;wheel. Import still fell back to another file, but it performed the fallback on every import and printed a warning to stdout.&lt;/P&gt;
&lt;P data-line="129"&gt;The loader now derives the architecture from the Python interpreter build, matching the wheel tag. Fallback notices use&amp;nbsp;RuntimeWarning&amp;nbsp;instead of writing to stdout.&lt;/P&gt;
&lt;P data-line="132"&gt;See&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/pull/727" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/pull/727"&gt;PR #727&lt;/A&gt;&amp;nbsp;and issue&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues/726" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues/726"&gt;#726&lt;/A&gt;. Thanks to&amp;nbsp;&lt;A href="https://github.com/Om-singhaI" target="_blank" rel="noopener" data-href="https://github.com/Om-singhaI"&gt;@Om-singhaI&lt;/A&gt;&amp;nbsp;for the contribution.&lt;/P&gt;
&lt;H2 data-line="136"&gt;Upgrading&lt;/H2&gt;
&lt;P data-line="138"&gt;For most users, upgrading requires no code changes:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;P data-line="144"&gt;Check these two cases:&lt;/P&gt;
&lt;OL data-line="146"&gt;
&lt;LI data-line="146"&gt;Code that used&amp;nbsp;connect(timeout=N)&amp;nbsp;as a query timeout must set&amp;nbsp;conn.timeout = N&amp;nbsp;explicitly. The constructor argument now controls the login attempt as documented.&lt;/LI&gt;
&lt;LI data-line="148"&gt;Calls with explicit&amp;nbsp;setinputsizes()&amp;nbsp;overrides retain their existing behavior but do not use the new native parameter detection path.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P data-line="151"&gt;Full release notes are available on the&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/releases/tag/v1.14.0" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/releases/tag/v1.14.0"&gt;mssql-python 1.14.0 release page&lt;/A&gt;. File issues and feature requests at&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues" target="_blank" rel="noopener" data-href="https://github.com/microsoft/mssql-python/issues"&gt;github.com/microsoft/mssql-python/issues&lt;/A&gt;, or email us at&amp;nbsp;&lt;A href="mailto:mssql-python@microsoft.com" target="_blank" rel="noopener" data-href="mailto:mssql-python@microsoft.com"&gt;mssql-python@microsoft.com&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Fri, 28 Aug 2026 19:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-14-0-faster-parameter-binding-safer-errors/ba-p/4551366</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-08-28T19:00:00Z</dc:date>
    </item>
    <item>
      <title>Windows Update Failures in Japanese-Localized Azure VM SQL2022-WS2022 Images: Cause and Workaround</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-support-blog/windows-update-failures-in-japanese-localized-azure-vm-sql2022/ba-p/4535801</link>
      <description>&lt;P&gt;This blog post is primarily targeted at customers in the Japan region and is therefore written in Japanese as well. If you would like to read it in English, please use the link &lt;A class="lia-internal-link" href="#community--1-EnglishVersion" target="_blank" rel="noopener" data-lia-auto-title="Jump to English " data-lia-auto-title-active="0"&gt;Jump to English &lt;/A&gt; below to navigate directly to the English section.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;こんにちは、 SQL Server サポート チームです。&lt;/P&gt;
&lt;P&gt;Azure&amp;nbsp;上で SQL Server&amp;nbsp;を含むマーケットプレイスイメージ（SQL2022-WS2022）からデプロイした OS&amp;nbsp;を日本語化した場合、2026&amp;nbsp;年 5&amp;nbsp;月以降の&amp;nbsp;Windows Update&amp;nbsp;などによる OS更新プログラムの適用が 0x800f081f&amp;nbsp;や 0x800f0831 で失敗する事例について解説します。&lt;/P&gt;
&lt;H2&gt;■事象&lt;/H2&gt;
&lt;P&gt;OS更新プログラムの適用が以下のようなメッセージにより失敗します。&lt;/P&gt;
&lt;P&gt;エラー："更新プログラムのインストール中に問題が発生しましたが、後で自動的に再試行されます。この問題が引き続き発生し、 Web&amp;nbsp;検索やサポートへの問い合わせを通じて情報を集める必要がある場合は、次のエラー&amp;nbsp;コードが役立つ可能性があります。: (0x800f081f) "&lt;/P&gt;
&lt;P&gt;※ 表示されるエラー コードは、0x800f0831 の場合もあります。&lt;/P&gt;
&lt;H2&gt;■原因&lt;/H2&gt;
&lt;P&gt;本問題は、マーケットプレイスイメージの&amp;nbsp;SQL Server を含むイメージの問題により発生する場合があります。&lt;/P&gt;
&lt;P&gt;最新のイメージでは問題を修正済みのため、現時点で新規にデプロイしたサーバーに対しては関連しません。&lt;/P&gt;
&lt;H2&gt;■確認方法&lt;/H2&gt;
&lt;P&gt;C:\Windows\Logs\CBS\cbs.log&amp;nbsp;に以下のような amd64_microsoft-hyper-v-ram-parser.resources_31bf3856ad364e35_10.0.20348.1_ja-jp_531076835e0e2f98.manifest が存在しないという警告が出力されている場合、本事象に合致すると判断できます。&lt;/P&gt;
&lt;P&gt;//参考&lt;/P&gt;
&lt;P&gt;C:\Windows\Logs\CBS\cbs.log&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;2026-05-19 12:11:57, Info&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBS&amp;nbsp;&amp;nbsp;&amp;nbsp; Exec: Warning - Manifest doesn't exist for: \\?\C:\Windows\CbsTemp\31254331_3251161130\Windows10.0-KB5087545-x64.cab\amd64_microsoft-hyper-v-ram-parser.resources_31bf3856ad364e35_10.0.20348.1_ja-jp_531076835e0e2f98.manifest&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;■対応手順&lt;/H2&gt;
&lt;P&gt;＃＃注意事項＃＃&lt;/P&gt;
&lt;P&gt;・事前に Azure Backup で Azure VM のバックアップを取得し、作業前の状態にリストアできる状態にします。&lt;/P&gt;
&lt;P&gt;・当該作業時、 SQL Server サービスは事前に停止状態（スタートアップ種類を無効）にします。作業が完了した後で、起動状態（スタートアップ種類を自動や自動（遅延開始）など元の設定）にします。&lt;/P&gt;
&lt;P&gt;・日本語の言語パッケージの再追加後は更新プログラムの再適用を行うまでは決して OS&amp;nbsp;を再起動しないようにします。&lt;/P&gt;
&lt;P&gt;　言語リソースの追加直後は OS&amp;nbsp;のバイナリと追加された言語リソースとでバージョンが不一致のため、そのまま再起動を行った場合、リモート デスクトップ接続が行えなくなるなどの問題が発生する可能性があります。&lt;/P&gt;
&lt;P&gt;＃＃＃＃＃＃＃＃&lt;/P&gt;
&lt;H3&gt;1.日本語の言語パッケージの削除&lt;/H3&gt;
&lt;P&gt;-----------------------------------&lt;/P&gt;
&lt;P&gt;1-1. [コマンド プロンプト]&amp;nbsp;を [管理者として実行]&amp;nbsp;にて開始します。&lt;/P&gt;
&lt;P&gt;1-2. 以下のコマンドを実行し、日本語の言語パックをアンインストールします。&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;lpksetup /u ja-JP&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;1-3. コンピューターを再起動します。&lt;/P&gt;
&lt;P&gt;1-4. 日本語のユーザー インターフェイスを使用していたアカウントでサインインし、英語で表示されていることを確認します。&lt;/P&gt;
&lt;P&gt;※ lpksetup&amp;nbsp;コマンドをオプションなしで起動すると、GUI&amp;nbsp;からのアンインストールが可能です。&lt;/P&gt;
&lt;P&gt;※ 日本語が優先言語となっている場合、 アンインストール実行後も設定アプリなどに残存する場合がありますが、Preferred languages&amp;nbsp;設定で "Japanese"&amp;nbsp;を下に移動させて [Remove]&amp;nbsp;を押すことで、アンインストールすることが可能です。&lt;/P&gt;
&lt;H3&gt;2.日本語の言語パッケージの再追加&lt;/H3&gt;
&lt;P&gt;-----------------------------------&lt;/P&gt;
&lt;P&gt;日本語の言語パッケージの再追加と更新プログラムの再適用を行います。&lt;/P&gt;
&lt;P&gt;なお、言語パッケージの再追加方法は、Windows Update エンドポイント宛の通信可否によって手順が変わるため、それぞれの手順について記載します。&lt;/P&gt;
&lt;H4&gt;&amp;lt;A.Windows Update エンドポイント宛の通信可能な環境での再追加手順&amp;gt;&lt;/H4&gt;
&lt;P&gt;2-1.弊社カタログ サイトより、現在適用されている更新プログラムと同じバージョンの msu ファイルをダウンロードしておきます。&lt;/P&gt;
&lt;P&gt;　Microsoft Update Catalog&lt;/P&gt;
&lt;P&gt;　 &lt;A href="https://www.catalog.update.microsoft.com/home.aspx" target="_blank" rel="noopener"&gt;https://www.catalog.update.microsoft.com/home.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;参考）現在適用されている更新プログラムの確認方法&lt;/P&gt;
&lt;P&gt;　[ファイル名を指定して実行] で "winver" を実行して表示される [Windows のバージョン情報] ウインドウにて現在の OS ビルドの番号を確認します。&lt;/P&gt;
&lt;P&gt;　次にWindows Server 2022 の更新履歴から同じビルド番号の更新プログラムを特定します。&lt;/P&gt;
&lt;P&gt;　Windows Server 2022 更新履歴 - Microsoft サポート&lt;/P&gt;
&lt;P&gt;　&lt;A href="https://support.microsoft.com/ja-jp/topic/windows-server-2022-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee" target="_blank" rel="noopener"&gt;https://support.microsoft.com/ja-jp/topic/windows-server-2022-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-2. 下記弊社ブログの 「&lt;STRONG&gt;オンラインでインストールが可能な場合&lt;/STRONG&gt;」 の項を参考に日本語の言語パッケージを再追加します。&lt;/P&gt;
&lt;P&gt;　Windows Server 2022&amp;nbsp;の日本語化&lt;/P&gt;
&lt;P&gt;　&lt;A href="https://jpwinsup.github.io/blog/2025/12/14/Performance/LangPack/WindowsServerJapanize/" target="_blank" rel="noopener"&gt;https://jpwinsup.github.io/blog/2025/12/14/Performance/LangPack/WindowsServerJapanize/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-3. 言語パッケージ追加後、[コマンド プロンプト] を [管理者として実行] にて開始します。&lt;/P&gt;
&lt;P&gt;2-4. 以下の一連のコマンドを実行し、作業フォルダー作成の上、事前にダウンロードしておいた msu ファイルの展開 (2 回) を行います。&lt;/P&gt;
&lt;P&gt;2-4-1. 作業フォルダー作成&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md &amp;lt;フォルダー (1 つ目)&amp;gt;&lt;/P&gt;
&lt;P&gt;md &amp;lt;フォルダー (2 つ目)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md C:\KBTemp\cab&lt;/P&gt;
&lt;P&gt;md C:\KBTemp\cab\cab2&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-4-2. 1 回目の展開&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab &amp;lt;msu ファイルの場所&amp;gt; &amp;lt;抽出先 (1 つ目のフォルダー)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab C:\windows10.0-kb5082142-x64_0d2677e2b8f6550a978bd89e8991c4d3813ccf1f.msu C:\KBTemp\cab&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-4-3. 2 回目の展開&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* &amp;lt;1 回目で展開された cab&amp;gt; &amp;lt;抽出先 (2 つ目のフォルダー)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* C:\KBTemp\cab\Windows10.0-KB5082142-x64.cab C:\KBTemp\cab\cab2&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-5.以下のコマンドを実行し、展開された cab ファイルを使って更新プログラムの再適用を行います。&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:&amp;lt;2 つ目の作業フォルダーに展開された cab ファイル (※ KB 番号を冠するもの)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:C:\KBTemp\cab\cab2\Windows10.0-KB5082142-x64.cab&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-6. 言語パッケージ追加後、改めて更新プログラムの適用を行い、事象が解消することを確認します。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H4&gt;&amp;lt;B.Windows Update エンドポイント宛の通信ができない環境での再追加手順&amp;gt;&lt;/H4&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-1.弊社カタログ サイトより、現在適用されている更新プログラムと同じバージョンの msu ファイルをダウンロードしておきます。&lt;/P&gt;
&lt;P&gt;　Microsoft Update Catalog&lt;/P&gt;
&lt;P&gt;　 &lt;A href="https://www.catalog.update.microsoft.com/home.aspx" target="_blank" rel="noopener"&gt;https://www.catalog.update.microsoft.com/home.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;参考）現在適用されている更新プログラムの確認方法&lt;/P&gt;
&lt;P&gt;　[ファイル名を指定して実行] で "winver" を実行して表示される [Windows のバージョン情報] ウインドウにて現在の OS ビルドの番号を確認します。&lt;/P&gt;
&lt;P&gt;　次にWindows Server 2022 の更新履歴から同じビルド番号の更新プログラムを特定します。&lt;/P&gt;
&lt;P&gt;　Windows Server 2022 更新履歴 - Microsoft サポート&lt;/P&gt;
&lt;P&gt;　&lt;A href="https://support.microsoft.com/ja-jp/topic/windows-server-2022-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee" target="_blank" rel="noopener"&gt;https://support.microsoft.com/ja-jp/topic/windows-server-2022-%E6%9B%B4%E6%96%B0%E5%B1%A5%E6%AD%B4-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-2.下記弊社ブログの 「&lt;STRONG&gt;オンラインでインストールできない場合&lt;/STRONG&gt;」 の項を参考に日本語の言語パッケージを再追加します。&lt;/P&gt;
&lt;P&gt;　Windows Server 2022&amp;nbsp;の日本語化&lt;/P&gt;
&lt;P&gt;　&lt;A href="https://jpwinsup.github.io/blog/2025/12/14/Performance/LangPack/WindowsServerJapanize/" target="_blank" rel="noopener"&gt;https://jpwinsup.github.io/blog/2025/12/14/Performance/LangPack/WindowsServerJapanize/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-3. 言語パッケージ追加後、[コマンド プロンプト] を [管理者として実行] にて開始します。&lt;/P&gt;
&lt;P&gt;2-4. 以下の一連のコマンドを実行し、作業フォルダー作成の上、事前にダウンロードしておいた msu ファイルの展開 (2 回) を行います。&lt;/P&gt;
&lt;P&gt;2-4-1. 作業フォルダー作成&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md &amp;lt;フォルダー (1 つ目)&amp;gt;&lt;/P&gt;
&lt;P&gt;md &amp;lt;フォルダー (2 つ目)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md C:\KBTemp\cab&lt;/P&gt;
&lt;P&gt;md C:\KBTemp\cab\cab2&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-4-2. 1 回目の展開&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab &amp;lt;msu ファイルの場所&amp;gt; &amp;lt;抽出先 (1 つ目のフォルダー)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab C:\windows10.0-kb5082142-x64_0d2677e2b8f6550a978bd89e8991c4d3813ccf1f.msu C:\KBTemp\cab&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-4-3. 2 回目の展開&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* &amp;lt;1 回目で展開された cab&amp;gt; &amp;lt;抽出先 (2 つ目のフォルダー)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* C:\KBTemp\cab\Windows10.0-KB5082142-x64.cab C:\KBTemp\cab\cab2&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-5.以下のコマンドを実行し、展開された cab ファイルを使って更新プログラムの再適用を行います。&lt;/P&gt;
&lt;P&gt;構文)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:&amp;lt;2 つ目の作業フォルダーに展開された cab ファイル (※ KB 番号を冠するもの)&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;実行例)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:C:\KBTemp\cab\cab2\Windows10.0-KB5082142-x64.cab&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-6. 言語パッケージ追加後、改めて更新プログラムの適用を行い、事象が解消することを確認します。&lt;/P&gt;
&lt;H1 id="eng" class="lia-linked-item"&gt;&lt;a id="community--1-EnglishVersion" class="lia-anchor"&gt;&lt;/a&gt;English &amp;nbsp;&lt;/H1&gt;
&lt;P&gt;Hello, this is the SQL Server Support Team.&lt;/P&gt;
&lt;P&gt;In this article, we explain an issue where operating system updates (such as Windows Updates released in and after May 2026) may fail with error 0x800f081f or 0x800f0831 after localizing an Azure Marketplace image containing SQL Server (for example, SQL2022-WS2022) to Japanese.&lt;/P&gt;
&lt;H2&gt;Issue&lt;/H2&gt;
&lt;P&gt;Installation of Windows updates may fail with a message similar to the following:&lt;/P&gt;
&lt;P&gt;"更新プログラムのインストール中に問題が発生しましたが、後で自動的に再試行されます。この問題が引き続き発生し、 Web&amp;nbsp;検索やサポートへの問い合わせを通じて情報を集める必要がある場合は、次のエラー&amp;nbsp;コードが役立つ可能性があります。: (0x800f081f)."&lt;/P&gt;
&lt;P&gt;Note: In some cases, the reported error code may be 0x800f0831 instead.&lt;/P&gt;
&lt;H2&gt;Cause&lt;/H2&gt;
&lt;P&gt;This issue may occur due to a problem in certain Marketplace images that include SQL Server.&lt;/P&gt;
&lt;P&gt;The issue has already been fixed in the latest Marketplace images. Therefore, it does not affect newly deployed servers created from the updated images.&lt;/P&gt;
&lt;H2&gt;How to Identify the Issue&lt;/H2&gt;
&lt;P&gt;You can determine whether your environment is affected if the following warning appears in C:\Windows\Logs\CBS\CBS.log, indicating that the manifest file below cannot be found:&lt;/P&gt;
&lt;P&gt;amd64_microsoft-hyper-v-ram-parser.resources_31bf3856ad364e35_10.0.20348.1_ja-jp_531076835e0e2f98.manifest&lt;/P&gt;
&lt;P&gt;File: C:\Windows\Logs\CBS\CBS.log&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;2026-05-19 12:11:57, Info&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CBS&amp;nbsp;&amp;nbsp;&amp;nbsp; Exec: Warning - Manifest doesn't exist for: \\?\C:\Windows\CbsTemp\31254331_3251161130\Windows10.0-KB5087545-x64.cab\amd64_microsoft-hyper-v-ram-parser.resources_31bf3856ad364e35_10.0.20348.1_ja-jp_531076835e0e2f98.manifest&amp;nbsp;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Resolution&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Important Notes&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Before proceeding, please ensure the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Create a backup of the Azure VM using Azure Backup so that the VM can be restored to its pre-maintenance state if necessary.&lt;/LI&gt;
&lt;LI&gt;Stop the SQL Server service before performing the procedure, and set its startup type to Disabled.&lt;/LI&gt;
&lt;LI&gt;After the procedure is completed, restore the SQL Server service startup type to its original setting (such as Automatic or Automatic (Delayed Start)).&lt;/LI&gt;
&lt;LI&gt;Do not restart the operating system after reinstalling the Japanese language pack until the update has been reapplied successfully.&lt;BR /&gt;Immediately after the language resources are reinstalled, the versions of the OS binaries and language resources may not match. Restarting at this stage can cause issues such as the inability to establish Remote Desktop connections.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;1.Remove the Japanese Language Pack&lt;/H3&gt;
&lt;P&gt;1-1. Launch Command Prompt as Administrator.&lt;/P&gt;
&lt;P&gt;1-2. Run the following command to uninstall the Japanese language pack:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;lpksetup /u ja-JP&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;1-3. Restart the computer.&lt;/P&gt;
&lt;P&gt;1-4. Sign in using an account that previously used the Japanese user interface and confirm that Windows is now displayed in English.&lt;/P&gt;
&lt;P&gt;Notes&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;If Japanese remains listed because it is configured as the preferred language, move Japanese lower in the Preferred languages list and select Remove.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;2.Reinstall the Japanese Language Pack&lt;/H3&gt;
&lt;P&gt;Reinstall the Japanese language pack and then reapply the Windows update.&lt;/P&gt;
&lt;P&gt;The procedure differs depending on whether the server can communicate with Windows Update endpoints.&lt;/P&gt;
&lt;H4&gt;&amp;lt;Environment with Access to Windows Update Endpoints&amp;gt;&lt;/H4&gt;
&lt;P&gt;2-1. Download the Corresponding MSU File&lt;/P&gt;
&lt;P&gt;Download the .msu file that matches the update version currently installed on the server from the Microsoft Update Catalog.&lt;/P&gt;
&lt;P&gt;Microsoft Update Catalog&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.catalog.update.microsoft.com/home.aspx" target="_blank" rel="noopener"&gt;https://www.catalog.update.microsoft.com/home.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;How to Identify the Installed Update Version&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Run winver.&lt;/LI&gt;
&lt;LI&gt;Note the current OS build number shown in the About Windows dialog.&lt;/LI&gt;
&lt;LI&gt;Identify the corresponding update from the Windows Server 2022 update history page.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Windows Server 2022 Update History&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.microsoft.com/en-us/topic/windows-server-2022-update-history-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee" target="_blank" rel="noopener"&gt;https://support.microsoft.com/en-us/topic/windows-server-2022-update-history-e1caa597-00c5-4ab9-9f3e-8212fe80b2ee&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;2-2. Reinstall the Japanese Language Pack (Online)&lt;/P&gt;
&lt;P&gt;Perform the following steps:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-1. Go to&amp;nbsp;&lt;STRONG&gt;Settings &amp;gt; Time &amp;amp; Language &amp;gt; Language &amp;amp; Region&lt;/STRONG&gt;, then click &lt;STRONG&gt;Add a language&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-2. On the&amp;nbsp;&lt;STRONG&gt;Choose a language to install&lt;/STRONG&gt; screen, select 日本語 (&lt;STRONG&gt;Japanese)&amp;nbsp;&lt;/STRONG&gt; and click &lt;STRONG&gt;Next&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-3. On the&amp;nbsp;&lt;STRONG&gt;Install language features&lt;/STRONG&gt; screen, select &lt;STRONG&gt;Language pack&lt;/STRONG&gt; and click &lt;STRONG&gt;Install&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-4. Wait for the installation to complete.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-5. Once the installation is complete, sign out and then sign back in. After that, you will be able to select Japanese as your display language under [Preferred languages].&lt;/P&gt;
&lt;P&gt;2-3. Launch Command Prompt as Administrator.&lt;/P&gt;
&lt;P&gt;2-4. Extract the Downloaded MSU File&lt;/P&gt;
&lt;P&gt;2-4-1. Create Working Directories&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md &amp;lt;Folder1&amp;gt;&lt;/P&gt;
&lt;P&gt;md &amp;lt;Folder2&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-4-2. First Extraction&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab &amp;lt;MSU file&amp;gt; &amp;lt;Folder1&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-4-3. Second Extraction&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* &amp;lt;CAB extracted in previous step&amp;gt; &amp;lt;Folder2&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2-5. Reapply the Update&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Use DISM to reinstall the extracted update package.&lt;/P&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:&amp;lt;Folder2&amp;gt;\&amp;lt;KB CAB file&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-6. After the language pack has been reinstalled, install the latest update again and verify that the issue is resolved.&lt;/P&gt;
&lt;H4&gt;&amp;lt;Environment Without Access to Windows Update Endpoints&amp;gt;&lt;/H4&gt;
&lt;P&gt;2-1. Download the Corresponding MSU File&lt;/P&gt;
&lt;P&gt;Download the .msu file matching the currently installed update from the Microsoft Update Catalog.&lt;/P&gt;
&lt;P&gt;Microsoft Update Catalog&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.catalog.update.microsoft.com/home.aspx" target="_blank" rel="noopener"&gt;https://www.catalog.update.microsoft.com/home.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Refer to the procedure described above to identify the correct update package.&lt;/P&gt;
&lt;P&gt;2-2. Reinstall the Japanese Language Pack (Offline)&lt;/P&gt;
&lt;P&gt;Perform the following steps:&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-1. Refer to the link below and download the required media according to your licensing agreement.&lt;BR /&gt;For Windows Server 2022, you will need the &lt;STRONG&gt;"Languages and Optional Features for Windows Server 2022"&lt;/STRONG&gt; media.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;&lt;A class="lia-external-url" href="https://learn.microsoft.com/en-us/microsoft-365/commerce/licenses/download-vl-products?view=o365-worldwide&amp;amp;viewFallbackFrom=o365-wo%25E2%2580%25A6" target="_blank" rel="noopener"&gt;https://learn.microsoft.com/en-us/microsoft-365/commerce/licenses/download-vl-products?view=o365-worldwide&amp;amp;viewFallbackFrom=o365-wo%25E2%2580%25A6&lt;/A&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-2. Mount the downloaded ISO file to the target virtual machine.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-3. Right-click the&amp;nbsp;&lt;STRONG&gt;Start&lt;/STRONG&gt; menu and select &lt;STRONG&gt;Run&lt;/STRONG&gt;. Then enter &lt;STRONG&gt;lpksetup.exe&lt;/STRONG&gt; and press &lt;STRONG&gt;Enter&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-4. Click&amp;nbsp;&lt;STRONG&gt;Install display languages&lt;/STRONG&gt;. On the next screen, click &lt;STRONG&gt;Browse&lt;/STRONG&gt; and select the drive that was created when you mounted the ISO file in Step.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-5. Select&amp;nbsp;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Microsoft-Windows-Server-Language-Pack_x64_ja-jp&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; and click &lt;/SPAN&gt;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;OK&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-6. Verify that&amp;nbsp;&lt;STRONG&gt;Japanese (日本語)&lt;/STRONG&gt; is selected, and then click &lt;STRONG&gt;Next&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-7. Review the license terms. If you agree, select&amp;nbsp;&lt;STRONG&gt;I accept the license terms&lt;/STRONG&gt;, and then click &lt;STRONG&gt;Next&lt;/STRONG&gt; to begin the installation.&lt;/P&gt;
&lt;P class="lia-indent-padding-left-30px"&gt;2-2-8. When the installation is complete and&amp;nbsp;&lt;STRONG&gt;Completed&lt;/STRONG&gt; is displayed, click &lt;STRONG&gt;Close&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;2-3. Launch Command Prompt as Administrator.&lt;/P&gt;
&lt;P&gt;2-4. Extract the Downloaded MSU File&lt;/P&gt;
&lt;P&gt;2-4-1. Create Working Directories&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;md &amp;lt;Folder1&amp;gt;&lt;/P&gt;
&lt;P&gt;md &amp;lt;Folder2&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-4-2. First Extraction&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:Windows*.cab &amp;lt;MSU file&amp;gt; &amp;lt;Folder1&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-4-3. Second Extraction&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;expand -f:* &amp;lt;CAB extracted in previous step&amp;gt; &amp;lt;Folder2&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-5. Reapply the Update&lt;/P&gt;
&lt;P&gt;Use DISM to reinstall the extracted update package.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;DISM /Online /Add-Package /PackagePath:&amp;lt;Folder2&amp;gt;\&amp;lt;KB CAB file&amp;gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2-6. After the language pack has been reinstalled, install the latest update again and verify that the issue is resolved.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Aug 2026 07:45:58 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-support-blog/windows-update-failures-in-japanese-localized-azure-vm-sql2022/ba-p/4535801</guid>
      <dc:creator>Yuki_Kitazawa</dc:creator>
      <dc:date>2026-08-26T07:45:58Z</dc:date>
    </item>
    <item>
      <title>Complete rewrite of the SQL Server R2DBC driver – seeking collaboration</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/complete-rewrite-of-the-sql-server-r2dbc-driver-seeking/m-p/4549682#M6131</link>
      <description>&lt;P&gt;I’ve completed a full rewrite of the R2DBC driver for SQL Server, focused on resolving performance, stability, and feature gaps in the current driver.&lt;BR /&gt;&lt;BR /&gt;I’m looking to connect with people who can help move this work forward — whether through feedback, collaboration, or introductions within the R2DBC and SQL Server engineering communities.&lt;BR /&gt;&lt;BR /&gt;Would you be open to a brief conversation or pointing me toward the right people?&lt;BR /&gt;&lt;BR /&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Aug 2026 16:09:03 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/complete-rewrite-of-the-sql-server-r2dbc-driver-seeking/m-p/4549682#M6131</guid>
      <dc:creator>kbnicholas</dc:creator>
      <dc:date>2026-08-24T16:09:03Z</dc:date>
    </item>
    <item>
      <title>Managing SQL Server on Linux Azure VMs with the SQL IaaS Agent Extension</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/managing-sql-server-on-linux-azure-vms-with-the-sql-iaas-agent/ba-p/4547717</link>
      <description>&lt;P&gt;If you run SQL Server on a Linux virtual machine in Azure, the&amp;nbsp;&lt;STRONG&gt;SQL Server IaaS Agent extension&lt;/STRONG&gt; is the piece that connects your SQL Server instance to Azure’s management plane. Registering with the extension is what lets you manage licensing, stay compliant, and gain visibility into your SQL Server estate directly from the Azure portal, the Azure CLI, or Azure PowerShell. This post explains the concept in plain terms, walks through the benefits, and shows you how to change your license model from pay-as-you-go (PAYG) to Azure Hybrid Benefit (AHUB).&lt;/P&gt;
&lt;H2&gt;What is the SQL IaaS Agent extension?&lt;/H2&gt;
&lt;P&gt;The SQL Server IaaS Agent extension (its resource name is&amp;nbsp;SqlIaasExtension) is an Azure virtual machine extension that runs on your SQL Server on Linux VM and integrates it with Azure. When you register your VM with the extension, Azure creates a dedicated&amp;nbsp;&lt;STRONG&gt;SQL virtual machine resource&lt;/STRONG&gt; in your subscription. This resource is separate from the underlying VM resource - and if you ever unregister, you remove only the SQL virtual machine resource; the actual VM keeps running untouched.&lt;/P&gt;
&lt;P&gt;Think of the extension as a bridge. On one side sits your self-installed SQL Server running on Linux. On the other side is Azure’s control plane - the portal, CLI, and PowerShell tooling you already use to govern your cloud resources. The extension is what carries licensing and management signals across that bridge.&lt;/P&gt;
&lt;img&gt;Figure 1 — The SQL IaaS Agent extension acts as a bridge between your SQL Server on Linux VM and the Azure management plane, creating a separate SQL virtual machine resource.&lt;/img&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Good to know:&lt;/STRONG&gt;&amp;nbsp;There’s no additional cost for using the extension itself, and it works with SQL Server 2017 and later on Linux VMs. Registration is now available across all supported Ubuntu and Red Hat Enterprise Linux versions - earlier it was limited to the Ubuntu free edition - so the same experience applies regardless of which of these distributions you run.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Why would you need it?&lt;/H2&gt;
&lt;P&gt;SQL Server will run perfectly well on a Linux VM without the extension. So why register? Because registration is what turns your VM into a managed, discoverable, licensing-aware resource in Azure. Without it, Azure has limited visibility into your SQL Server’s licensing state, and you lose the ability to manage licensing options centrally.&lt;/P&gt;
&lt;P&gt;The extension exists to solve three recurring needs:&lt;/P&gt;
&lt;img&gt;Figure 2 — The extension centers on three needs: simplified licensing, compliance, and visibility across your SQL Server estate.&lt;/img&gt;
&lt;H3&gt;1. Simplified license management&lt;/H3&gt;
&lt;P&gt;The extension lets you manage SQL Server licensing directly through Azure and quickly identify which VMs have Azure Hybrid Benefit enabled - using the portal, PowerShell, or the CLI.&amp;nbsp;&lt;/P&gt;
&lt;H3&gt;2. Compliance made simple&lt;/H3&gt;
&lt;P&gt;Microsoft’s product terms require customers to indicate when they are using Azure Hybrid Benefit for SQL Server. The extension offers a simplified method to fulfill this notification requirement, removing the need to manage licensing registration forms for each individual resource.&lt;/P&gt;
&lt;H3&gt;3. Better visibility and telemetry&lt;/H3&gt;
&lt;P&gt;Because registration creates a SQL virtual machine resource in Azure, your SQL Server deployments become discoverable and trackable. That means clearer license-type visibility, subscription-level tracking, and improved operational insight into your SQL Server workloads.&lt;/P&gt;
&lt;H2&gt;The three license models&lt;/H2&gt;
&lt;P&gt;Once your VM is registered, you can choose from three license models for SQL Server on an Azure VM. Switching between them incurs no downtime, doesn’t restart the VM or SQL Server service, adds no extra cost, and takes effect immediately.&lt;/P&gt;
&lt;img&gt;Figure 3 — The three license models available once a SQL Server on Azure VM is registered with the extension.&lt;/img&gt;
&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="width: 100%; border-width: 1px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;License model&lt;/th&gt;&lt;th&gt;What it means&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;PAYG&lt;/STRONG&gt;&amp;nbsp;(Pay-As-You-Go)&lt;/td&gt;&lt;td&gt;The per-second cost of running the Azure VM includes the cost of the SQL Server license.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;AHUB&lt;/STRONG&gt;&amp;nbsp;(Azure Hybrid Benefit)&lt;/td&gt;&lt;td&gt;Allocate your own SQL Server licenses (with Software Assurance) to the VM for a discount — you still pay for the underlying compute, storage, and backups.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;HA/DR&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Free license type used for an eligible high availability / disaster recovery replica in Azure [1].&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 25.8847%" /&gt;&lt;col style="width: 74.0329%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;[1] Eligible high availability / disaster recovery replicas are passive secondary SQL Server instances used for HA or DR. When configured as HA/DR replicas, customers pay only for the underlying Azure VM compute, storage, and networking, while the SQL Server license cost for the passive replica is waived. This applies to one free HA replica and one free DR replica in supported architectures, helping reduce business-continuity costs. Learn more:&amp;nbsp;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/business-continuity-high-availability-disaster-recovery-hadr-overview?view=azuresql#free-dr-replica-in-azure" target="_blank"&gt;High Availability, Disaster Recovery, Business Continuity - SQL Server on Azure VMs | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Common use cases&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Bring existing licenses to Azure:&lt;/STRONG&gt;&amp;nbsp;Self-install SQL Server on a Linux VM, register with the extension, and activate Azure Hybrid Benefit to apply licenses you already own.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Optimize cost on running VMs:&lt;/STRONG&gt; Move an existing PAYG deployment to AHUB without redeploying - the switch is immediate and downtime-free.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Support HA/DR architectures:&lt;/STRONG&gt;&amp;nbsp;Apply the free HA/DR license model to eligible replicas in high availability and disaster recovery designs.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Improve governance:&lt;/STRONG&gt;&amp;nbsp;Make SQL Server workloads discoverable so teams can track license consumption and identify AHUB-enabled resources across subscriptions.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2&gt;Registering your VM with the extension&lt;/H2&gt;
&lt;P&gt;Before you can change license models, your VM needs to be registered. At a high level, the flow is: register the resource provider, then register the VM, then choose your license type.&lt;/P&gt;
&lt;img&gt;Figure 4 — The end-to-end path: register the provider, register the VM, pick a license type, and adjust it whenever you need.&lt;/img&gt;
&lt;H3&gt;Register the resource provider (Azure CLI)&lt;/H3&gt;
&lt;LI-CODE lang="sql"&gt;# Register your subscription with the SQL virtual machine resource provider
az provider register --namespace Microsoft.SqlVirtualMachine&lt;/LI-CODE&gt;
&lt;P&gt;Or with Azure PowerShell:&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine&lt;/LI-CODE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Prerequisites:&lt;/STRONG&gt;&amp;nbsp;an Azure subscription, a Linux VM running SQL Server 2017 or later (in the public or Azure Government cloud), and the latest Azure CLI or Azure PowerShell (5.0 minimum).&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Register VM (Azure CLI)&lt;/H2&gt;
&lt;LI-CODE lang="shell"&gt;# Register Enterprise or Standard self-installed VM
az sql vm create --name &amp;lt;vm_name&amp;gt; --resource-group &amp;lt;resource_group_name&amp;gt; --location &amp;lt;vm_location&amp;gt; --license-type &amp;lt;license_type&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;Or with Azure PowerShell:&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;New-AzSqlVM -Name &amp;lt;vm_name&amp;gt; -ResourceGroupName &amp;lt;resource_group_name&amp;gt; -Location &amp;lt;vm_location&amp;gt; -LicenseType &amp;lt;license_type&amp;gt;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;How to change the license model from PAYG to AHUB&lt;/H2&gt;
&lt;P&gt;One of the most common tasks is converting an existing SQL Server VM from pay-as-you-go to Azure Hybrid Benefit - for example, when you already own eligible licenses and want to reduce cost. You can do this without redeploying the VM. The change requires no VM restart, causes no downtime, and takes effect immediately.&lt;/P&gt;
&lt;img /&gt;
&lt;H3&gt;Prerequisites&lt;/H3&gt;
&lt;UL&gt;
&lt;LI&gt;An Azure subscription.&lt;/LI&gt;
&lt;LI&gt;A SQL Server on Azure VM already registered with the SQL IaaS Agent extension.&lt;/LI&gt;
&lt;LI&gt;Eligible SQL Server licenses with active Software Assurance for Azure Hybrid Benefit.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Azure CLI&lt;/H3&gt;
&lt;LI-CODE lang="shell"&gt;# Switch the license type to Azure Hybrid Benefit
az sql vm update -n &amp;lt;VM_NAME&amp;gt; -g &amp;lt;RESOURCE_GROUP&amp;gt; --license-type AHUB&lt;/LI-CODE&gt;
&lt;H3&gt;Or Azure PowerShell&lt;/H3&gt;
&lt;LI-CODE lang="powershell"&gt;Update-AzSqlVM -ResourceGroupName &amp;lt;resource_group_name&amp;gt; -Name &amp;lt;VM_name&amp;gt; -LicenseType &amp;lt;license-type&amp;gt;&lt;/LI-CODE&gt;
&lt;H3&gt;Or Azure portal&lt;/H3&gt;
&lt;OL&gt;
&lt;LI&gt;Sign in to the&amp;nbsp;&lt;STRONG&gt;Azure portal&lt;/STRONG&gt;&amp;nbsp;and open your&amp;nbsp;&lt;STRONG&gt;SQL virtual machines&lt;/STRONG&gt;&amp;nbsp;resource.&lt;/LI&gt;
&lt;LI&gt;Under&amp;nbsp;&lt;STRONG&gt;Settings&lt;/STRONG&gt;, select&amp;nbsp;&lt;STRONG&gt;Configure&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Choose&amp;nbsp;&lt;STRONG&gt;Azure Hybrid Benefit&lt;/STRONG&gt;&amp;nbsp;and confirm you have eligible licenses with Software Assurance.&lt;/LI&gt;
&lt;LI&gt;Select&amp;nbsp;&lt;STRONG&gt;Apply&lt;/STRONG&gt;&amp;nbsp;— the change takes effect immediately with no downtime.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H3&gt;Verify the extension and license type&lt;/H3&gt;
&lt;P&gt;You can confirm the extension is installed and quickly list which VMs are using Azure Hybrid Benefit with Azure PowerShell:&lt;/P&gt;
&lt;LI-CODE lang="powershell"&gt;# List SQL VMs that have Azure Hybrid Benefit (AHUB) enabled
Get-AzSqlVM | Where-Object {$_.SqlServerLicenseType -eq 'AHUB'}&lt;/LI-CODE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Tip:&lt;/STRONG&gt;&amp;nbsp;To check the extension itself on a specific VM, look under&amp;nbsp;&lt;EM&gt;Extensions&lt;/EM&gt; on the Virtual machine resource in the portal (not the SQL virtual machines resource) - you should see SqlIaasExtension listed.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;H2&gt;Wrapping up&lt;/H2&gt;
&lt;P&gt;The SQL IaaS Agent extension is the connective tissue between SQL Server running on your Linux VM and Azure’s management experience. Registering unlocks simplified license management, straightforward compliance for Azure Hybrid Benefit, and better visibility across your SQL Server estate - all at no additional cost. Whether you are deploying something new or optimizing an existing workload, registering with the extension and choosing the right license model (PAYG, AHUB, or HA/DR) is a simple, high-value step.&lt;/P&gt;
&lt;H2&gt;Official documentation &amp;amp; references&lt;/H2&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/sql-server-iaas-agent-extension-linux?view=azuresql" target="_blank" rel="noopener"&gt;SQL Server IaaS Agent extension for Linux&lt;/A&gt;&amp;nbsp;— Microsoft Learn&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/licensing-model-azure-hybrid-benefit-ahb-change?view=azuresql" target="_blank" rel="noopener"&gt;Change the license model for a SQL virtual machine in Azure&lt;/A&gt;&amp;nbsp;— Microsoft Learn&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/sql-iaas-agent-extension-register-vm-linux?view=azuresql" target="_blank" rel="noopener"&gt;Register a Linux SQL Server VM with the SQL Server IaaS Agent extension&lt;/A&gt; — Microsoft Learn&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Thu, 20 Aug 2026 06:42:26 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/managing-sql-server-on-linux-azure-vms-with-the-sql-iaas-agent/ba-p/4547717</guid>
      <dc:creator>Attinder_Pal_Singh</dc:creator>
      <dc:date>2026-08-20T06:42:26Z</dc:date>
    </item>
    <item>
      <title>Microsoft Drivers for PHP for SQL Server 5.13.3: PIE support on every platform</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-drivers-for-php-for-sql-server-5-13-3-pie-support-on/ba-p/4546843</link>
      <description>&lt;P data-line="2"&gt;Version 5.13.3 of the Microsoft Drivers for PHP for SQL Server is now available on &lt;A href="https://php.github.io/pie/" data-href="https://php.github.io/pie/" target="_blank"&gt;PIE, the PHP Installer for Extensions&lt;/A&gt;, the official replacement for the deprecated PECL installer. You can now install SQLSRV and PDO_SQLSRV on Linux, macOS, and Windows through the same Composer-style tooling you already use for your PHP dependencies.&lt;/P&gt;
&lt;P data-line="4"&gt;This release completes the PIE rollout that started in 5.13.2. That release also carried two PDO_SQLSRV security fixes, so we recommend upgrading regardless of how you install.&lt;/P&gt;
&lt;H2 data-line="6"&gt;Install with PIE&lt;/H2&gt;
&lt;P data-line="8"&gt;After&amp;nbsp;&lt;A href="https://php.github.io/pie/" data-href="https://php.github.io/pie/" target="_blank"&gt;installing PIE&lt;/A&gt;, install either or both drivers with their Packagist package names:&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pie install microsoft/sqlsrv
pie install microsoft/pdo_sqlsrv&lt;/LI-CODE&gt;
&lt;P data-line="15"&gt;The drivers require PHP 8.3 or later and the Microsoft ODBC Driver 17 or 18 for SQL Server. PDO_SQLSRV also requires the PDO extension, which is included with PHP by default. PIE itself needs PHP 8.1 or later to run, and it can target any other PHP version you have installed.&lt;/P&gt;
&lt;P data-line="17"&gt;On Linux and macOS, PIE builds the extension from source and will offer to install any missing build tools first. On Windows, PIE downloads a prebuilt DLL matching your PHP version, thread-safety mode, and architecture, so no build toolchain is needed.&lt;/P&gt;
&lt;P data-line="19"&gt;Windows support arrived in 5.13.3. If you tried pie install on Windows with 5.13.2 and hit This extension does not support the "windows" operating system family, upgrading resolves it.&lt;/P&gt;
&lt;H2 data-line="21"&gt;PECL still works&lt;/H2&gt;
&lt;P data-line="23"&gt;You don't have to switch today. Version 5.13.3 is published to PECL as usual, alongside the downloadable release archives, so pecl install sqlsrv and pecl install pdo_sqlsrv continue to work. PIE is where we recommend new installations start.&lt;/P&gt;
&lt;H2 data-line="25"&gt;Security updates&lt;/H2&gt;
&lt;P data-line="27"&gt;Version 5.13.2 included two PDO_SQLSRV security fixes, both carried forward in 5.13.3:&lt;/P&gt;
&lt;UL data-line="29"&gt;
&lt;LI data-line="29"&gt;PDO::lastInsertId($name)&amp;nbsp;now uses a parameterized query when looking up a sequence name. This prevents the supplied name from changing the query and also fixes lookups for sequence names containing non-ASCII characters.&lt;/LI&gt;
&lt;LI data-line="30"&gt;Binary parameters containing embedded NUL (0x00) bytes are no longer silently truncated when PDO emulated prepares are used with&amp;nbsp;PDO::SQLSRV_ENCODING_BINARY.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="32"&gt;If your application uses PDO_SQLSRV and you are on 5.13.1 or earlier, upgrade.&lt;/P&gt;
&lt;H2 data-line="34"&gt;Additional fixes&lt;/H2&gt;
&lt;P data-line="36"&gt;5.13.2 also:&lt;/P&gt;
&lt;UL data-line="38"&gt;
&lt;LI data-line="38"&gt;Fixes a Windows thread-safe shared-build linker failure.&lt;/LI&gt;
&lt;LI data-line="39"&gt;Clears stale unixODBC INI cache data when the module shuts down on Linux and macOS.&lt;/LI&gt;
&lt;LI data-line="40"&gt;Fixes an AddressSanitizer One Definition Rule violation when SQLSRV and PDO_SQLSRV are loaded together.&lt;/LI&gt;
&lt;LI data-line="41"&gt;Addresses CodeQL static-analysis findings.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="43"&gt;Get version 5.13.3&lt;/H2&gt;
&lt;UL data-line="45"&gt;
&lt;LI data-line="45"&gt;Install&amp;nbsp;&lt;A href="https://packagist.org/packages/microsoft/sqlsrv" data-href="https://packagist.org/packages/microsoft/sqlsrv" target="_blank"&gt;SQLSRV from Packagist&lt;/A&gt;&amp;nbsp;with PIE.&lt;/LI&gt;
&lt;LI data-line="46"&gt;Install&amp;nbsp;&lt;A href="https://packagist.org/packages/microsoft/pdo_sqlsrv" data-href="https://packagist.org/packages/microsoft/pdo_sqlsrv" target="_blank"&gt;PDO_SQLSRV from Packagist&lt;/A&gt;&amp;nbsp;with PIE.&lt;/LI&gt;
&lt;LI data-line="47"&gt;Download the&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/releases/tag/v5.13.3" data-href="https://github.com/microsoft/msphpsql/releases/tag/v5.13.3" target="_blank"&gt;5.13.3 release packages&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="48"&gt;Review the&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/blob/dev/CHANGELOG.md#5133---2026-08-07" data-href="https://github.com/microsoft/msphpsql/blob/dev/CHANGELOG.md#5133---2026-08-07" target="_blank"&gt;full changelog&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="49"&gt;Read the&amp;nbsp;&lt;A href="https://learn.microsoft.com/sql/connect/php/microsoft-php-driver-for-sql-server" data-href="https://learn.microsoft.com/sql/connect/php/microsoft-php-driver-for-sql-server" target="_blank"&gt;Microsoft Drivers for PHP for SQL Server documentation&lt;/A&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="51"&gt;Please report issues and share feedback in the&amp;nbsp;&lt;A href="https://github.com/microsoft/msphpsql/issues" data-href="https://github.com/microsoft/msphpsql/issues" target="_blank"&gt;msphpsql GitHub repository&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Aug 2026 17:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/microsoft-drivers-for-php-for-sql-server-5-13-3-pie-support-on/ba-p/4546843</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-08-14T17:00:00Z</dc:date>
    </item>
    <item>
      <title>Cumulative Update #8 for SQL Server 2025 RTM</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-8-for-sql-server-2025-rtm/ba-p/4546835</link>
      <description>&lt;P&gt;The 8th 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;CU8 KB Article: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsupport.microsoft.com%2Fhelp%2F5104822&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C59e29c13f75447c7b46d08def97a0f34%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639222499784031879%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=2wczGcAuin8BrraRy1YgIhgW7CqYrK14fblAHhlpfjc%3D&amp;amp;reserved=0" target="_blank"&gt;https://support.microsoft.com/help/5104822&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%7C59e29c13f75447c7b46d08def97a0f34%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639222499784046707%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=U8dP4eY%2FrUKLvx%2FW2gL2J5sdjTNVZIO1C2tjJZWZyic%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://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fdetails.aspx%3Ffamilyid%3D10a21237-8b59-4fcd-b878-bfe8fcabdc7a&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C59e29c13f75447c7b46d08def97a0f34%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639222499784056460%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=624eBJV2syJDyq64oLYdMD7FjyDmPe8Z8sTVlqcNGeE%3D&amp;amp;reserved=0" target="_blank"&gt;https://www.microsoft.com/download/details.aspx?familyid=10a21237-8b59-4fcd-b878-bfe8fcabdc7a&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Update Center for Microsoft SQL Server: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Ftroubleshoot%2Fsql%2Freleases%2Fdownload-and-install-latest-updates&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C59e29c13f75447c7b46d08def97a0f34%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639222499784065912%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=ig7%2B3JuVx0lPduvwMzRJwRgktIU1OrXEkvUtYEYGfDQ%3D&amp;amp;reserved=0" 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, 13 Aug 2026 20:35:50 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-8-for-sql-server-2025-rtm/ba-p/4546835</guid>
      <dc:creator>SrinivasSQL</dc:creator>
      <dc:date>2026-08-13T20:35:50Z</dc:date>
    </item>
    <item>
      <title>Announcing SQL Server Management Studio (SSMS) 22.9.0</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-sql-server-management-studio-ssms-22-9-0/ba-p/4546020</link>
      <description>&lt;P&gt;Today we released SQL Server Management Studio (SSMS) 22.9.0, with updates to GitHub Copilot, the connection experience, Database DevOps, SQL formatting, and more. As always, we recommend that users update to the latest release when it’s available, as it’s the generally available and supported release. You can view the&amp;nbsp;&lt;A class="lia-external-url" href="https://learn.microsoft.com/ssms/release-notes-22" data-href="https://learn.microsoft.com/ssms/release-notes-22" target="_blank"&gt;release notes&lt;/A&gt; for more details about the new features and fixes. We continue to monitor customer feedback and add functionality with each release, so if you’re using GitHub Copilot, Database DevOps, or SQL formatting, we appreciate you trying out what’s new and reporting any issues or requests on our &lt;A class="lia-external-url" href="https://aka.ms/ssms-feedback" data-href="https://aka.ms/ssms-feedback" target="_blank"&gt;feedback site&lt;/A&gt;.&lt;/P&gt;
&lt;H1&gt;GitHub Copilot in SSMS: Changes to Ask Mode&lt;/H1&gt;
&lt;P data-line="8"&gt;We've made an important behavior change to&amp;nbsp;&lt;STRONG&gt;Ask Mode&lt;/STRONG&gt;&amp;nbsp;in GitHub Copilot in SSMS. Ask Mode is intended to be a read-only experience for getting guidance and script help, and we've heard clear feedback that users expect that experience to stay read-only regardless of credential scope.&lt;/P&gt;
&lt;P data-line="10"&gt;To align with that expectation, Ask Mode no longer executes arbitrary queries, whether generated by the model or provided in chat. Instead, Ask Mode now returns T-SQL scripts in its responses for you to review and run yourself.&lt;/P&gt;
&lt;P data-line="12"&gt;For most Ask Mode scenarios (like writing, refining, and understanding scripts) this should feel familiar. Copilot can still explore schema context to provide useful guidance, but it will not execute scripts to retrieve user data. This creates a clearer separation between advisory and execution experiences, keeps you in control, and sets a more intuitive boundary as we continue toward broader Agent Mode availability.&lt;/P&gt;
&lt;H1 data-line="12"&gt;GitHub Copilot in SSMS: Agent Mode Progress&lt;/H1&gt;
&lt;P&gt;Agent Mode continues to evolve in preview. In 22.9, we've added a set of tools that allows GitHub Copilot to interact with connected objects in Object Explorer. This gives Agent Mode more awareness of the objects you're working with and lets it participate more naturally in workflows that start from Object Explorer.&lt;/P&gt;
&lt;H1&gt;Updates to the Connection Dialog&lt;/H1&gt;
&lt;img&gt;Toggle between horizontal and vertical layouts&lt;/img&gt;
&lt;P&gt;This release brings a whole bunch of updates and improvements to the Modern Connection Dialog! These changes aim to make the connection dialog more flexible and accessible:&lt;/P&gt;
&lt;UL data-line="22"&gt;
&lt;LI data-line="22"&gt;&lt;STRONG&gt;Azure and Fabric browsing&lt;/STRONG&gt;&amp;nbsp;now supports subscription search and filtering. This applies when browsing Azure resources and workspaces as well as Fabric resources.&lt;/LI&gt;
&lt;LI data-line="23"&gt;The&amp;nbsp;&lt;STRONG&gt;Browse&lt;/STRONG&gt;&amp;nbsp;tab now includes search and filtering.&lt;/LI&gt;
&lt;LI data-line="24"&gt;You can now browse&amp;nbsp;&lt;STRONG&gt;Azure SQL Managed Instances&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI data-line="25"&gt;The server name field is now an editable drop-down menu, improving keyboard accessibility.&lt;/LI&gt;
&lt;LI data-line="26"&gt;The dialog now supports a horizontal layout.&lt;/LI&gt;
&lt;LI data-line="27"&gt;&lt;STRONG&gt;Hostname in certificate&lt;/STRONG&gt;&amp;nbsp;is available in the default connection properties view.&lt;/LI&gt;
&lt;LI data-line="28"&gt;&lt;STRONG&gt;Connection import and export&lt;/STRONG&gt;&amp;nbsp;is now supported.&lt;/LI&gt;
&lt;LI data-line="29"&gt;The maximum number of recent and favorite connections has increased to 60.&lt;/LI&gt;
&lt;LI data-line="30"&gt;Available SSMS themes are supported more consistently throughout the connection experience.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="32"&gt;These changes make it easier to find resources, preserve connection setups, and work with the connection dialog in the way that best fits your screen and workflow.&lt;/P&gt;
&lt;img&gt;Quickly select your connection with the Server Name drop down field.&lt;/img&gt;
&lt;H1&gt;Database DevOps (preview)&lt;/H1&gt;
&lt;P data-line="40"&gt;Database DevOps in SSMS continues to evolve. In 22.9, the&amp;nbsp;&lt;STRONG&gt;Add Database Reference&lt;/STRONG&gt;&amp;nbsp;dialog has a refreshed UI with improved theme support and additional reference types. You can now choose among four reference types:&lt;/P&gt;
&lt;UL data-line="42"&gt;
&lt;LI data-line="42"&gt;dacpac&lt;/LI&gt;
&lt;LI data-line="43"&gt;database project&lt;/LI&gt;
&lt;LI data-line="44"&gt;NuGet package&lt;/LI&gt;
&lt;LI data-line="45"&gt;system database&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="47"&gt;We've also updated SqlProj document tab names to remove the confusing&amp;nbsp;&lt;STRONG&gt;- not connected&lt;/STRONG&gt;&amp;nbsp;suffix. See&amp;nbsp;&lt;A class="lia-external-url" href="https://developercommunity.visualstudio.com/t/Document-ab-names-in-SSMS-sqlproj-are-no/11075237" data-href="https://developercommunity.visualstudio.com/t/Document-ab-names-in-SSMS-sqlproj-are-no/11075237" target="_blank"&gt;Document tab names in SSMS sqlproj are not good&lt;/A&gt;.&lt;/P&gt;
&lt;H1 data-line="47"&gt;SQL Formatter (preview)&lt;/H1&gt;
&lt;P data-line="51"&gt;The SQL Formatter preview now gives you more control over formatting and a clearer way to understand the result before applying it:&lt;/P&gt;
&lt;UL data-line="53"&gt;
&lt;LI data-line="53"&gt;Choose whether indentation uses tabs or spaces.&lt;/LI&gt;
&lt;LI data-line="54"&gt;Configure trailing comma style.&lt;/LI&gt;
&lt;LI data-line="55"&gt;Choose whether column aliases use the&amp;nbsp;AS&amp;nbsp;keyword, an equals sign, or preserve the original style.&lt;/LI&gt;
&lt;LI data-line="56"&gt;Insert a new line before the&amp;nbsp;ON&amp;nbsp;keyword.&lt;/LI&gt;
&lt;LI data-line="57"&gt;Preview before-and-after T-SQL in the SQL Formatter settings dialog.&lt;/LI&gt;
&lt;LI data-line="57"&gt;The&amp;nbsp;&lt;STRONG style="color: rgb(30, 30, 30);"&gt;Include Semicolons&lt;/STRONG&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt; setting has also been removed.&lt;/SPAN&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;These options are a starting point for making formatting work better across different SQL styles, and we welcome your feedback as the preview continues to improve.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;Lots of Bug Fixes!&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;As always, t&lt;/SPAN&gt;he full list is in the &lt;A href="https://learn.microsoft.com/ssms/release-notes-22" data-href="https://learn.microsoft.com/ssms/release-notes-22" target="_blank"&gt;release notes&lt;/A&gt;, but a few fixes that are worth calling out include:&lt;/P&gt;
&lt;UL data-line="69"&gt;
&lt;LI data-line="69"&gt;&lt;STRONG&gt;Connection dialog&lt;/STRONG&gt; — You can now save multiple connection strings with different application intent values. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SMSS-22-Unable-to-save-2-connection-st/11004674" data-href="https://developercommunity.visualstudio.com/t/SMSS-22-Unable-to-save-2-connection-st/11004674" target="_blank"&gt;Unable to save 2 connection strings with different application intents using the new connect screen&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="70"&gt;&lt;STRONG&gt;Object Explorer&lt;/STRONG&gt;&amp;nbsp;— Some users could not view SQL Server Agent details despite having the proper permissions. That issue is fixed.&lt;/LI&gt;
&lt;LI data-line="71"&gt;&lt;STRONG&gt;Schema Compare&lt;/STRONG&gt;&amp;nbsp;— Fixed several issues involving comment-only differences, schemas that incorrectly showed no differences, the&amp;nbsp;&lt;STRONG&gt;Ignore Comments&lt;/STRONG&gt; setting, stored procedure formatting, and whitespace highlighting in the diff viewer. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/Schema-Compare-Preview-fails-to-display-/11105811" data-href="https://developercommunity.visualstudio.com/t/Schema-Compare-Preview-fails-to-display-/11105811" target="_blank"&gt;Schema Compare Preview fails to display comment-only differences in front of create views&lt;/A&gt;,&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SSMS-Schema-Compare-shows-no-differences/11109078" data-href="https://developercommunity.visualstudio.com/t/SSMS-Schema-Compare-shows-no-differences/11109078" target="_blank"&gt;Schema compare shows no differences between different database schemas&lt;/A&gt;,&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/Compare-Schemas-ignores-comment-differen/11104855" data-href="https://developercommunity.visualstudio.com/t/Compare-Schemas-ignores-comment-differen/11104855" target="_blank"&gt;Compare Schemas ignores comment differences regardless of Ignore Comments setting&lt;/A&gt;,&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/When-comparing-stored-procedures-in-Sche/11117458" data-href="https://developercommunity.visualstudio.com/t/When-comparing-stored-procedures-in-Sche/11117458" target="_blank"&gt;When comparing stored procedures in Schema Compare, they are reformatted&lt;/A&gt;, and&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/Schema-Compare-incorrectly-flags-differe/11117487" data-href="https://developercommunity.visualstudio.com/t/Schema-Compare-incorrectly-flags-differe/11117487" target="_blank"&gt;Schema Compare incorrectly flags differences in whitespace in table comparison&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="72"&gt;&lt;STRONG&gt;SQL Agent&lt;/STRONG&gt; — Users no longer need&amp;nbsp;EXECUTE&amp;nbsp;permission on&amp;nbsp;xp_instance_regread&amp;nbsp;just to view or run SQL Server Agent jobs. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SQL-Agent-blocks-AD-groups-from-viewing-/11111711" data-href="https://developercommunity.visualstudio.com/t/SQL-Agent-blocks-AD-groups-from-viewing-/11111711" target="_blank"&gt;SQL Agent blocks AD groups from viewing jobs without xp_instance_regread access&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="73"&gt;&lt;STRONG&gt;SQL Formatter&lt;/STRONG&gt; — Fixed an issue that merged CONSTRAINT lines into the preceding commented line. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SQL-Formatter-merges-CONSTRAINT-line-int/11104795" data-href="https://developercommunity.visualstudio.com/t/SQL-Formatter-merges-CONSTRAINT-line-int/11104795" target="_blank"&gt;SQL Formatter merges CONSTRAINT line into preceding -- comment&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="74"&gt;&lt;STRONG&gt;Results Grid&lt;/STRONG&gt; — Toolstrip labels no longer truncate in some languages. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/Visibility-counts-completed-rows/11076037" data-href="https://developercommunity.visualstudio.com/t/Visibility-counts-completed-rows/11076037" target="_blank"&gt;Visibility counts completed rows&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="75"&gt;&lt;STRONG&gt;Theme&lt;/STRONG&gt; — The SSMS theme no longer reverts to Cool Breeze after restarting. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SSMS-theme-setting-reverts-from-Dark-to-/11121602" data-href="https://developercommunity.visualstudio.com/t/SSMS-theme-setting-reverts-from-Dark-to-/11121602" target="_blank"&gt;SSMS theme setting reverts from Dark to Cool Breeze after restart&lt;/A&gt;.&lt;/LI&gt;
&lt;LI data-line="76"&gt;&lt;STRONG&gt;Toolbar&lt;/STRONG&gt; — Fixed an issue that caused several toolbar icons to disappear. See&amp;nbsp;&lt;A href="https://developercommunity.visualstudio.com/t/SSMS-toolbar-icons-missing-for-query-con/11104974" data-href="https://developercommunity.visualstudio.com/t/SSMS-toolbar-icons-missing-for-query-con/11104974" target="_blank"&gt;SSMS toolbar icons missing for query controls and execution plan buttons&lt;/A&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2026 19:58:53 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/announcing-sql-server-management-studio-ssms-22-9-0/ba-p/4546020</guid>
      <dc:creator>mbarickman</dc:creator>
      <dc:date>2026-08-11T19:58:53Z</dc:date>
    </item>
    <item>
      <title>Query Store transaction preventing restoring database</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-engine/query-store-transaction-preventing-restoring-database/m-p/4545698#M414</link>
      <description>&lt;P&gt;I have a database backup that was taken on SQL Server 2019 instance. While trying to restore it to a SQL Server 2025 instance, the files restored without issue, but it remained "In Recovery" for three days before I tried to take it to Emergency, Single User, and back online, though it still remained in recovery.&lt;/P&gt;&lt;P&gt;I then took the backup to a SQL Server 2019 instance and was able to restore it and bring it online there. Though the logs on both servers had shown similar errors to these two. The Page and Log record Id were consistant.&lt;/P&gt;&lt;P&gt;```text&lt;/P&gt;&lt;P&gt;Database ID 5, Page (1:47416) is marked RestorePending, which may indicate disk corruption.&lt;/P&gt;&lt;P&gt;During undoing of logged operation in database (page(1:301040) if any), an error occurred at log record ID (15885:36832:180).&lt;/P&gt;&lt;P&gt;```&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Doing some investigation has provided that there is a stuck transaction, and I was able to pin this down to Query Store.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;OPENTRAN (This spid was from the original server.):&lt;/P&gt;&lt;P&gt;```text&lt;/P&gt;&lt;P&gt;ransaction information for database 'BrokenDatabase'.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Oldest active transaction:&lt;/P&gt;&lt;P&gt;SPID (server process ID): 26s&lt;/P&gt;&lt;P&gt;UID (user ID) : -1&lt;/P&gt;&lt;P&gt;Name : DELETE&lt;/P&gt;&lt;P&gt;LSN : (15885:19072:1)&lt;/P&gt;&lt;P&gt;Start time : Mar 1 2025 7:27:58:633PM&lt;/P&gt;&lt;P&gt;SID : 0x01&lt;/P&gt;&lt;P&gt;DBCC execution completed. If DBCC printed error messages, contact your system administrator.&lt;/P&gt;&lt;P&gt;```&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I had the Top and bottom 50 of 938 transactions from fn_dblog, but since it contains data this community will not allow it.&amp;nbsp; Makes it harder to get an answer without the data showing that query store is the issue, but to play by the rules you have give lackluster information, because the guidelines are even searching through code blocks, markdown, and tables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;With Query Store in the Read_Write mode, I was unable to return anything from sys.query_store_plan and / or sys.query_store_runtime_stats, because they were locked by the ASYNC_LOAD of QDS.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All that I have collected show that is internal to the Query Store.&lt;/P&gt;&lt;P&gt;sys.internal_tables:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| name | object_id | principal_id | schema_id | parent_object_id | type | type_desc | create_date | modify_date | is_ms_shipped | is_published | is_schema_published | internal_type | internal_type_desc | parent_id | parent_minor_id | lob_data_space_id | filestream_data_space_id |&lt;/P&gt;&lt;P&gt;| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |&lt;/P&gt;&lt;P&gt;| plan_persist_runtime_stats | 213575799 | NULL | 4 | 0 | IT | INTERNAL_TABLE | 2019-09-24 | 2019-12-28 | 0 | 0 | 0 | 243 | QUERY_DISK_STORE_RUNTIME_STATS | 0 | 0 | 0 | NULL |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;sys.dm_tran_active_transactions:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;| transaction_id | database_id | database_transaction_begin_time | database_transaction_type | database_transaction_state | database_transaction_status | database_transaction_status2 | database_transaction_log_record_count | database_transaction_replicate_record_count | database_transaction_log_bytes_used | database_transaction_log_bytes_reserved | database_transaction_log_bytes_used_system | database_transaction_log_bytes_reserved_system | database_transaction_begin_lsn | database_transaction_last_lsn | database_transaction_most_recent_savepoint_lsn | database_transaction_commit_lsn | database_transaction_last_rollback_lsn | database_transaction_next_undo_lsn |&lt;/P&gt;&lt;P&gt;| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |&lt;/P&gt;&lt;P&gt;| 255756374 | 5 | NULL | 1 | 4 | 524289 | 1 | 0 | 0 | 0 | 10677320 | 0 | 0 | 15885-00000-19072-00001 | 15885-00000-36952-00023 | NULL | NULL | NULL | 15885-00000-36832-00179 |&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Last Thursday, I was able to force the database to turn query store off, I tried after that setting it for Read_only and then clearing Query Store, but the clearing went into a lock for ASYNC_LOAD of QDS, after 6 hours of nothing happening and checking requests and seeing the lock, I ended that task. It was not actively doing anything just sleeping.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My ultimate goal is to be able to get his database to the SQL Server 2025 instance and have it online. What can I do with the original backup or currently the online version of the database on the SQL Server 2019 instance to be able to make that happen?&lt;/P&gt;</description>
      <pubDate>Mon, 10 Aug 2026 22:17:06 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-engine/query-store-transaction-preventing-restoring-database/m-p/4545698#M414</guid>
      <dc:creator>MikeRM2</dc:creator>
      <dc:date>2026-08-10T22:17:06Z</dc:date>
    </item>
    <item>
      <title>mssql-python 1.13.0: Arrow Bulk Copy, Smarter Tokens, Slimmer Wheels</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-13-0-arrow-bulk-copy-smarter-tokens-slimmer/ba-p/4544858</link>
      <description>&lt;P data-line="2"&gt;mssql-python&amp;nbsp;1.13.0 is now available on PyPI. This release adds an Apache Arrow fast path for bulk copy, first-class support for&amp;nbsp;azure-identity&amp;nbsp;credential objects, identity-aware connection pooling, and it completes the move of the ODBC driver binaries into the standalone&amp;nbsp;mssql-python-odbc&amp;nbsp;package.&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;H2 data-line="8"&gt;Highlights&lt;/H2&gt;
&lt;H3 data-line="10"&gt;Apache Arrow bulk copy&lt;/H3&gt;
&lt;P data-line="12"&gt;Loading data that already lives in Arrow no longer has to round-trip through Python tuples. The new&amp;nbsp;Cursor.bulkcopy_arrow()&amp;nbsp;reads each batch's typed Arrow buffers directly in the Rust TDS core and streams them into the bulk-load packets, releasing the GIL for the duration of the transfer.&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import pyarrow as pa
from mssql_python import connect

conn = connect("Server=&amp;lt;server&amp;gt;.database.windows.net;Database=&amp;lt;database&amp;gt;;Encrypt=yes")
cursor = conn.cursor()

table = pa.table({"id": [1, 2, 3], "name": ["a", "b", "c"]})
result = cursor.bulkcopy_arrow("dbo.MyTable", table)
print(result["rows_copied"], result["rows_per_second"])&lt;/LI-CODE&gt;
&lt;P&gt;Source accepts any of the following:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;pyarrow.Table, pyarrow.RecordBatch, or pyarrow.RecordBatchReader&lt;/LI&gt;
&lt;LI&gt;Any object exposing the Arrow C Data Interface (__arrow_c_stream__ or __arrow_c_array__), which covers polars, pandas 2.2+, DuckDB, and ADBC results&lt;/LI&gt;
&lt;LI&gt;Any iterable of record batches&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;A polars DataFrame, a pandas 2.2+ DataFrame, or a DuckDB relation can be passed straight to bulkcopy_arrow() with no explicit conversion step.&lt;/P&gt;
&lt;P&gt;Everything else carries over from the classic bulkcopy(): same schema handling, same column mappings, same options, same statistics dictionary in return. Bulkcopy() now raises TypeError when passed an Arrow object, with a message pointing at bulkcopy_arrow(), so there is no silent slow path.&lt;/P&gt;
&lt;H3 data-line="32"&gt;token_provider=&amp;nbsp;for Microsoft Entra ID credentials&lt;/H3&gt;
&lt;P data-line="34"&gt;connect()&amp;nbsp;accepts a&amp;nbsp;token_provider&amp;nbsp;argument: any object with a&amp;nbsp;.get_token(scope)&amp;nbsp;method that returns an object with a&amp;nbsp;.token&amp;nbsp;attribute. Every&amp;nbsp;azure-identity&amp;nbsp;credential qualifies.&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;from azure.identity import AzureCliCredential
from mssql_python import connect

conn = connect(
    "Server=&amp;lt;server&amp;gt;.database.windows.net;Database=&amp;lt;database&amp;gt;",
    token_provider=AzureCliCredential(),
)&lt;/LI-CODE&gt;
&lt;P data-line="46"&gt;Use this when you need explicit control over token acquisition, such as excluding specific providers, using a credential that is not in the built-in map, or passing custom options to the credential constructor. For environment-portable code,&amp;nbsp;Authentication=ActiveDirectoryDefault&amp;nbsp;in the connection string remains the simpler choice.&amp;nbsp;token_provider=&amp;nbsp;is mutually exclusive with&amp;nbsp;Authentication=&amp;nbsp;and with a raw token in&amp;nbsp;attrs_before[SQL_COPT_SS_ACCESS_TOKEN].&lt;/P&gt;
&lt;P data-line="48"&gt;The token scope is fixed to the Azure commercial cloud. For sovereign clouds, acquire the token yourself and pass it through attrs_before.&lt;/P&gt;
&lt;H3 data-line="52"&gt;Identity-aware connection pooling&lt;/H3&gt;
&lt;P data-line="54"&gt;The connection pool now keys on the security context of a connection, not just the connection string. Two consequences:&lt;/P&gt;
&lt;UL data-line="56"&gt;
&lt;LI data-line="56"&gt;Connections established under different identities (access tokens, integrated auth) can no longer be handed to the wrong caller.&lt;/LI&gt;
&lt;LI data-line="57"&gt;Token acquisition is deferred until a pool miss, so a pool hit no longer pays for a round trip to the identity provider on every&amp;nbsp;connect().&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="59"&gt;Pooled connections whose token is close to expiry are refreshed automatically rather than being reused until the server rejects them.&lt;/P&gt;
&lt;H3 data-line="63"&gt;ODBC driver ships exclusively via&amp;nbsp;mssql-python-odbc&lt;/H3&gt;
&lt;P data-line="65"&gt;v1.12.0 introduced the standalone&amp;nbsp;mssql-python-odbc&amp;nbsp;package while keeping the bundled&amp;nbsp;libs/&amp;nbsp;tree as a fallback. That fallback is now removed.&amp;nbsp;mssql-python&amp;nbsp;hard-depends on&amp;nbsp;mssql-python-odbc==18.6.2.1, so&amp;nbsp;pip install mssql-python&amp;nbsp;continues to pull the driver transparently, with no extra step for users.&lt;/P&gt;
&lt;P data-line="67"&gt;Why it matters:&lt;/P&gt;
&lt;UL data-line="69"&gt;
&lt;LI data-line="69"&gt;Smaller&amp;nbsp;mssql-python&amp;nbsp;wheels.&lt;/LI&gt;
&lt;LI data-line="70"&gt;ODBC binary updates ship on their own cadence, independent of&amp;nbsp;mssql-python&amp;nbsp;releases.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-line="72"&gt;If your environment installs packages from a private index or an offline mirror, make sure&amp;nbsp;mssql-python-odbc&amp;nbsp;is mirrored alongside&amp;nbsp;mssql-python&amp;nbsp;before upgrading.&lt;/P&gt;
&lt;H2 data-line="74"&gt;Bug fixes&lt;/H2&gt;
&lt;UL data-line="76"&gt;
&lt;LI data-line="76"&gt;&lt;STRONG&gt;executemany()&amp;nbsp;could silently insert zero rows.&lt;/STRONG&gt; Numeric array parameter binding (TINYINT, SMALLINT, INT, FLOAT) left indicator slots uninitialized when a NULL appeared partway through a batch, which could drop the batch without raising.&lt;/LI&gt;
&lt;LI data-line="77"&gt;&lt;STRONG&gt;SQL_WVARCHAR&amp;nbsp;output converters no longer act as a catch-all.&lt;/STRONG&gt; The fallback is now gated on columns whose mapped type is&amp;nbsp;str&amp;nbsp;or&amp;nbsp;bytes, so a converter registered for wide strings stops intercepting numeric and date columns.&lt;/LI&gt;
&lt;LI data-line="78"&gt;&lt;STRONG&gt;Integer-keyed output converters now fire.&lt;/STRONG&gt;&amp;nbsp;add_output_converter(SQL_DECIMAL, ...)&amp;nbsp;and other integer ODBC SQL type codes dispatch correctly, matching pyodbc behavior.&lt;/LI&gt;
&lt;LI data-line="79"&gt;&lt;STRONG&gt;RecordBatchReader.close()&amp;nbsp;works for Arrow result sets.&lt;/STRONG&gt;&amp;nbsp;Cursor.arrow_reader()&amp;nbsp;returns a wrapper whose&amp;nbsp;close()&amp;nbsp;cancels any in-flight fetch, releases the server-side cursor and its locks, drains diagnostics into&amp;nbsp;cursor.messages, and leaves the parent cursor usable. Teardown also runs on normal exhaustion, on&amp;nbsp;with-block exit, and on garbage collection.&lt;/LI&gt;
&lt;LI data-line="80"&gt;&lt;STRONG&gt;No more&amp;nbsp;AttributeError&amp;nbsp;from&amp;nbsp;Cursor.__del__.&lt;/STRONG&gt;&amp;nbsp;Cursor.__init__&amp;nbsp;sets&amp;nbsp;closed&amp;nbsp;and&amp;nbsp;hstmt&amp;nbsp;before anything can raise, and&amp;nbsp;__del__&amp;nbsp;uses&amp;nbsp;sys.is_finalizing()&amp;nbsp;as its interpreter-shutdown guard.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="86"&gt;Upgrading&lt;/H2&gt;
&lt;P data-line="88"&gt;For most users,&amp;nbsp;pip install --upgrade mssql-python&amp;nbsp;is all that is needed. Two things to check:&lt;/P&gt;
&lt;OL data-line="90"&gt;
&lt;LI data-line="90"&gt;&lt;STRONG&gt;Offline or private-index installs&lt;/STRONG&gt;&amp;nbsp;need&amp;nbsp;mssql-python-odbc==18.6.2.1&amp;nbsp;available alongside&amp;nbsp;mssql-python.&lt;/LI&gt;
&lt;LI data-line="99"&gt;&lt;STRONG&gt;bulkcopy()&amp;nbsp;now rejects Arrow-shaped input.&lt;/STRONG&gt; Anything exposing __arrow_c_stream__ or __arrow_c_array__, which includes pandas 2.2+ and polars DataFrames as well as pyarrow containers, raises TypeError pointing at bulkcopy_arrow(). Those inputs never loaded correctly through bulkcopy(), so this replaces a confusing failure with a clear one. Any code that was catching the old error will see an actionable message.&lt;/LI&gt;
&lt;/OL&gt;
&lt;H2 data-line="93"&gt;Feedback&lt;/H2&gt;
&lt;P data-line="95"&gt;Full release notes are on the&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/releases" data-href="https://github.com/microsoft/mssql-python/releases" target="_blank"&gt;releases page&lt;/A&gt;. File issues and feature requests at&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/issues" data-href="https://github.com/microsoft/mssql-python/issues" target="_blank"&gt;github.com/microsoft/mssql-python/issues&lt;/A&gt;, or email us at&amp;nbsp;&lt;A href="mailto:mssql-python@microsoft.com" data-href="mailto:mssql-python@microsoft.com" target="_blank"&gt;mssql-python@microsoft.com&lt;/A&gt;.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Aug 2026 17:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-1-13-0-arrow-bulk-copy-smarter-tokens-slimmer/ba-p/4544858</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-08-07T17:00:00Z</dc:date>
    </item>
    <item>
      <title>mssql-django 1.8.0: Django 6.1 Support within 48 Hours of Django 6.1 GA</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-8-0-django-6-1-support-within-48-hours-of-django/ba-p/4545141</link>
      <description>&lt;P data-line="2"&gt;Django 6.1 GA'd on August 5. mssql-django 1.8.0 was on PyPI within 48 hours.&lt;/P&gt;
&lt;P data-line="4"&gt;This is the first time the backend has shipped support for a new Django release in lockstep with Django itself. If you run SQL Server, Azure SQL, or SQL database in Microsoft Fabric, you can move to 6.1 today without code changes.&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-django Django&lt;/LI-CODE&gt;
&lt;H2 data-line="10"&gt;How it shipped this fast&lt;/H2&gt;
&lt;P data-line="12"&gt;The work started in June, against the 6.1 beta.&lt;/P&gt;
&lt;UL data-line="14"&gt;
&lt;LI data-line="14"&gt;The beta went into the full CI matrix weeks before GA, we knew about every backend API break in June.&lt;/LI&gt;
&lt;LI data-line="15"&gt;Fixes were developed on an integration branch and validated on live CI against real 6.1 builds on SQL Server 2025.&lt;/LI&gt;
&lt;LI data-line="16"&gt;By GA day, the release was tested and ready to publish.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="18"&gt;What's new&lt;/H2&gt;
&lt;P data-line="20"&gt;Django 6.1 changed several parts of the database backend API. Every change here is version-gated, so earlier Django versions are unaffected.&lt;/P&gt;
&lt;UL data-line="22"&gt;
&lt;LI data-line="22"&gt;&lt;STRONG&gt;Query compilation&lt;/STRONG&gt; for 6.1's sliced and offset queries. Django 6.1 deprecated SQLCompiler.quote_name_unless_alias() in favor of SQLCompiler.quote_name(); sliced querysets and OFFSET ... FETCH now compile without Django 7.0 deprecation warnings.&lt;/LI&gt;
&lt;LI data-line="23"&gt;&lt;STRONG&gt;Database introspection.&lt;/STRONG&gt; get_relations() returns 6.1's expanded shape, including the database-level ON DELETE rule, so inspectdb keeps working.&lt;/LI&gt;
&lt;LI data-line="24"&gt;&lt;STRONG&gt;Upfront errors&lt;/STRONG&gt; for the 6.1 features SQL Server cannot support.&lt;/LI&gt;
&lt;LI data-line="25"&gt;&lt;STRONG&gt;Regression tests, CI, and packaging&lt;/STRONG&gt; for 6.1 on Windows and Linux with Python 3.12, 3.13, and 3.14.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="27"&gt;What doesn't work on 6.1&lt;/H2&gt;
&lt;P data-line="29"&gt;Two 6.1 features are unavailable:&lt;/P&gt;
&lt;P data-line="31"&gt;&lt;STRONG&gt;Database-level referential actions&lt;/STRONG&gt;&amp;nbsp;(DB_CASCADE,&amp;nbsp;DB_SET_NULL,&amp;nbsp;DB_SET_DEFAULT). SQL Server disallows multiple cascade paths to the same table, and that is still true in SQL Server 2025. Using one fails Django's system checks with&amp;nbsp;fields.E324; use Django's&amp;nbsp;on_delete&amp;nbsp;handling instead.&lt;/P&gt;
&lt;P data-line="33"&gt;&lt;STRONG&gt;Bitwise aggregates&lt;/STRONG&gt; (BitAnd, BitOr, BitXor). SQL Server has no native bitwise aggregate function, and the backend doesn't emulate one yet, so these raise NotSupportedError. If this is important to you, drop a comment on issue &lt;A href="https://github.com/microsoft/mssql-django/issues/572" data-href="https://github.com/microsoft/mssql-django/issues/572" target="_blank"&gt;#572&lt;/A&gt;&amp;nbsp;with your use case.&lt;/P&gt;
&lt;H2 data-line="35"&gt;Supported versions&lt;/H2&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;Component&lt;/th&gt;&lt;th&gt;Supported 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, 6.1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Python&lt;/td&gt;&lt;td&gt;3.8 through 3.14; Django 6.0 and 6.1 require Python 3.12+&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;SQL Server&lt;/td&gt;&lt;td&gt;All supported versions&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Azure SQL&lt;/td&gt;&lt;td&gt;Azure SQL Database and Azure SQL Managed Instance&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Microsoft Fabric&lt;/td&gt;&lt;td&gt;SQL database in Microsoft Fabric&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;
&lt;P data-line="45"&gt;This matrix is wider than it should be. Django 5.1 and earlier and Python 3.9 and earlier are already past end of life upstream. A separate upcoming release will narrow this list to the versions their own projects still support.&lt;/P&gt;
&lt;H2 data-line="47"&gt;Upgrading&lt;/H2&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-django Django&lt;/LI-CODE&gt;
&lt;P data-line="53"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="53"&gt;1.8.0 release notes: &lt;A href="https://github.com/microsoft/mssql-django/releases/tag/1.8.0" data-href="https://github.com/microsoft/mssql-django/releases/tag/1.8.0" target="_blank"&gt;https://github.com/microsoft/mssql-django/releases/tag/1.8.0&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="53"&gt;README: &lt;A href="https://github.com/microsoft/mssql-django#supportability" data-href="https://github.com/microsoft/mssql-django#supportability" target="_blank"&gt;https://github.com/microsoft/mssql-django#supportability&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="53"&gt;Django 6.1 release notes: &lt;A href="https://docs.djangoproject.com/en/6.1/releases/6.1/" data-href="https://docs.djangoproject.com/en/6.1/releases/6.1/" target="_blank"&gt;https://docs.djangoproject.com/en/6.1/releases/6.1/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="53"&gt;PyPI: &lt;A href="https://pypi.org/project/mssql-django/" data-href="https://pypi.org/project/mssql-django/" target="_blank"&gt;https://pypi.org/project/mssql-django/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="53"&gt;Issues: &lt;A href="https://github.com/microsoft/mssql-django/issues" data-href="https://github.com/microsoft/mssql-django/issues" target="_blank"&gt;https://github.com/microsoft/mssql-django/issues&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Aug 2026 16:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-8-0-django-6-1-support-within-48-hours-of-django/ba-p/4545141</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-08-07T16:00:00Z</dc:date>
    </item>
    <item>
      <title>SQL Server 2022 (Compatibility Level 160): GetSchemaTable() returns null</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/sql-server-2022-compatibility-level-160-getschematable-returns/m-p/4544626#M6122</link>
      <description>&lt;P&gt;We have encountered a reproducible metadata derivation issue on some customer installations after moving databases to SQL Server 2022 compatibility level 160.&lt;/P&gt;&lt;P&gt;The issue occurs during ADO.NET schema discovery when DbCommandBuilder attempts to derive base-table and key information in order to automatically generate INSERT/UPDATE/DELETE commands.&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;Environment&lt;/STRONG&gt;&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;SQL Server 2022 (different releases)&lt;/LI&gt;&lt;LI&gt;Database compatibility level 160&lt;/LI&gt;&lt;LI&gt;Microsoft.Data.SqlClient (different versions) as well as System.Data.SqlClient&lt;/LI&gt;&lt;LI&gt;ADO.NET DbCommandBuilder&lt;/LI&gt;&lt;LI&gt;Parameterized SELECT statements&lt;/LI&gt;&lt;LI&gt;Identical database schema across customers&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Symptoms&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;For some customers (7 so far, since 2023) for certain tables and columns, DbDataReader.GetSchemaTable() returns null. As a consequence, automatic command generation fails with errors similar to:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Dynamic SQL generation is not supported against a SelectCommand that does not return any base table information.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The underlying SELECT statement itself works correctly and returns rows when executed normally. The issue only occurs during metadata derivation.&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;Example&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;The following pattern triggers the problem:&lt;/P&gt;&lt;LI-CODE lang="sql"&gt;SELECT
   *
FROM SomeTable
WHERE SomePrimaryKeyColumn = @Parameter&lt;/LI-CODE&gt;&lt;P&gt;GetSchemaTable() returns null.&lt;/P&gt;&lt;P&gt;However, if we use a constant value instead of a parameter or cast the value of the column explicitly, GetSchemaTable() returns valid metadata.&lt;/P&gt;&lt;LI-CODE lang=""&gt;SELECT
   *
FROM SomeTable
WHERE SomePrimaryKeyColumn = 0&lt;/LI-CODE&gt;&lt;P&gt;or&lt;/P&gt;&lt;LI-CODE lang=""&gt;SELECT
   *
FROM SomeTable
WHERE CAST(SomePrimaryKeyColumn AS int) = @Parameter&lt;/LI-CODE&gt;&lt;H3&gt;&lt;STRONG&gt;Characteristics of the issue&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;The behavior is deterministic.&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;It always affects the same &lt;STRONG&gt;primary key&lt;/STRONG&gt; column(s) of a composite primary key.&lt;/LI&gt;&lt;LI&gt;It is independent of the SELECT list.&lt;/LI&gt;&lt;LI&gt;It depends on the presence of a parameterized predicate.&lt;/LI&gt;&lt;LI&gt;The actual parameter value does not matter.&lt;/LI&gt;&lt;LI&gt;NULL, DBNull.Value and non-null integer values all show the same behavior.&lt;/LI&gt;&lt;LI&gt;The parameter type is always int.&lt;/LI&gt;&lt;LI&gt;The issue currently affects only few tables. Different tables for different customers.&lt;/LI&gt;&lt;LI&gt;Other columns in the same tables may work correctly.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;&lt;STRONG&gt;Metadata retrieval mode&lt;/STRONG&gt;&lt;/H3&gt;&lt;P&gt;The issue only occurs when the command is executed using:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;CommandBehavior.SchemaOnly | CommandBehavior.KeyInfo&lt;/LI-CODE&gt;&lt;P&gt;which is the mode internally used by DbCommandBuilder to derive schema and key information If SchemaOnly is removed, metadata retrieval succeeds.&lt;/P&gt;&lt;P&gt;Observed behavior:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;SchemaOnly | KeyInfo -&amp;gt; GetSchemaTable() returns null&lt;/LI&gt;&lt;LI&gt;KeyInfo only&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;gt; Metadata returned correctly&lt;/LI&gt;&lt;LI&gt;Normal execution&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; Query executes and returns metadata correctly&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Therefore the problem appears to be specific to SQL Server's metadata-only derivation path rather than normal query execution.&lt;/P&gt;&lt;H3&gt;&lt;STRONG&gt;Things we verified&lt;/STRONG&gt;&lt;/H3&gt;&lt;H4&gt;Database schema&lt;/H4&gt;&lt;P&gt;The database schema is identical across customer installations. The issue cannot be correlated with schema differences.&lt;/P&gt;&lt;H4&gt;Query text / Select list&lt;/H4&gt;&lt;P&gt;The issue is independent of the projection.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;LI-CODE lang=""&gt;SELECT *&lt;/LI-CODE&gt;&lt;P&gt;and&lt;/P&gt;&lt;LI-CODE lang="sql"&gt;SELECT ColumnA&lt;/LI-CODE&gt;&lt;P&gt;show the same behavior. Only the predicate appears to matter.&lt;/P&gt;&lt;H4&gt;Execution vs metadata retrieval&lt;/H4&gt;&lt;P&gt;The query executes successfully. Only metadata discovery fails.&lt;/P&gt;&lt;H4&gt;Plan cache&lt;/H4&gt;&lt;P&gt;The behavior does not appear to be related to plan cache reuse. The same affected predicate consistently fails during schema discovery.&lt;/P&gt;&lt;H3&gt;SQL Profiler observations&lt;/H3&gt;&lt;P&gt;During schema derivation we observed the following with SQL Profiler (re-worked to an example and reformatted to make it more easily readable for a human being):&lt;/P&gt;&lt;LI-CODE lang="sql"&gt; exec sp_executesql N'SET FMTONLY OFF; SET NO_BROWSETABLE ON; SET FMTONLY ON;
        SELECT  
            SomeColumn
       FROM SomeTable
       WHERE         PrimaryKeyColumn1 = @PrimaryKeyColumn1
                 AND PrimaryKeyColumn2 = @PrimaryKeyColumn2
                 AND PrimaryKeyColumn3 = @PrimaryKeyColumn3
                 AND PrimaryKeyColumn4 = @PrimaryKeyColumn4 '
      ,N'@PrimaryKeyColumn1 int,@PrimaryKeyColumn2 int,@PrimaryKeyColumn3 int,@PrimaryKeyColumn4 int'
      ,@PrimaryKeyColumn1=NULL,@PrimaryKeyColumn2=NULL,@PrimaryKeyColumn3=NULL,@PrimaryKeyColumn4=NULL&lt;/LI-CODE&gt;&lt;P&gt;The issue occurs only in the metadata-only path used by SchemaOnly | KeyInfo. When the same query is actually executed, metadata and result data are returned correctly.&lt;/P&gt;&lt;H3&gt;Compatibility level observations&lt;/H3&gt;&lt;P&gt;The issue is reproducible at:&lt;/P&gt;&lt;LI-CODE lang=""&gt;COMPATIBILITY_LEVEL = 160&lt;/LI-CODE&gt;&lt;P&gt;only. It disappears when the database compatibility level is lowered to:&lt;/P&gt;&lt;LI-CODE lang=""&gt;COMPATIBILITY_LEVEL = 150&lt;/LI-CODE&gt;&lt;P&gt;or smaller. More interestingly, the database can remain at compatibility level 160 while the problem disappears if the query is compiled using compatibility level 150 (or smaller) optimizer behavior:&lt;/P&gt;&lt;LI-CODE lang=""&gt;OPTION (USE HINT('QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_150'))&lt;/LI-CODE&gt;&lt;P&gt;With this hint, GetSchemaTable() successfully returns metadata.&lt;/P&gt;&lt;H3&gt;Additional observations&lt;/H3&gt;&lt;P&gt;The following query hints also make schema derivation succeed:&lt;/P&gt;&lt;LI-CODE lang="sql"&gt;OPTION (RECOMPILE)&lt;/LI-CODE&gt;&lt;P&gt;and&lt;/P&gt;&lt;LI-CODE lang="sql"&gt;OPTION (OPTIMIZE FOR UNKNOWN)&lt;/LI-CODE&gt;&lt;P&gt;This suggests that the metadata derivation path is sensitive to optimizer behavior, despite the fact that the query is not actually executed.&lt;/P&gt;&lt;H3&gt;Question&lt;/H3&gt;&lt;P&gt;Has anyone encountered a SQL Server 2022 / Compatibility Level 160 issue where:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;GetSchemaTable() returns null&lt;/LI&gt;&lt;LI&gt;the command is executed with SchemaOnly | KeyInfo&lt;/LI&gt;&lt;LI&gt;the underlying query executes normally&lt;/LI&gt;&lt;LI&gt;the problem only occurs for specific parameterized predicates&lt;/LI&gt;&lt;LI&gt;compatibility level 150 or smaller works&lt;/LI&gt;&lt;LI&gt;QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_150 also works while the database remains at level 160&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If so, do you have any idea on how to solve this?&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2026 09:14:39 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/sql-server-2022-compatibility-level-160-getschematable-returns/m-p/4544626#M6122</guid>
      <dc:creator>Anna_Heinemann</dc:creator>
      <dc:date>2026-08-06T09:14:39Z</dc:date>
    </item>
    <item>
      <title>Can anyone explain this error and maybe even suggest how to avoid it?</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/can-anyone-explain-this-error-and-maybe-even-suggest-how-to/m-p/4542904#M6119</link>
      <description>&lt;P&gt;I came across a very strange and unexpected error today, and while I managed to make it "go away" I cannot for the life of me understand why it happened in the first place. And I would like to invite a discussion on what could have caused it, whether it's possible to recognise the situation if it occurs again, and how to prevent it happening in future.&lt;BR /&gt;&lt;BR /&gt;I cannot use proprietary data so I can only describe the problem in generic terms&lt;BR /&gt;&lt;BR /&gt;I am transferring data between two Azure databases. To do this, I use an external data source. The "from" and "to" tables have the exact same layout, so:&lt;BR /&gt;&lt;BR /&gt;Step 1, I create a "work" table by doing a SELECT INTO&lt;BR /&gt;&lt;BR /&gt;SELECT TOP 0 [Column1], [Column2], [Column3] INTO [KII].[KIIWorkTable] FROM [dbo].[maintable]&lt;BR /&gt;&lt;BR /&gt;Step 2, I add the [$ShardName] column&lt;BR /&gt;&lt;BR /&gt;ALTER TABLE [KII].[KIIWorkTable] ADD [$ShardName] NVARCHAR(128) NOT NULL&lt;BR /&gt;&lt;BR /&gt;Step 3, read the data from the external data source which also has the maintable with an identical definition&lt;BR /&gt;&lt;BR /&gt;INSERT&lt;BR /&gt;&amp;nbsp; INTO [KII].[KIIWorkTable]&lt;BR /&gt;EXEC sp_execute_remote [externaldatasource], N'SELECT [Column1], [Column2], [Column3] FROM [dbo].[maintable]&lt;BR /&gt;&lt;BR /&gt;Step 4, remove the shard name. I don't need it anymore&lt;BR /&gt;&lt;BR /&gt;ALTER TABLE [KII].[KIIWorkTable] DROP COLUMN [$ShardName]&lt;BR /&gt;&lt;BR /&gt;So far everything worked perfectly, but now something really bizarre happens&lt;BR /&gt;&lt;BR /&gt;Step 5, insert the additional rows:&lt;BR /&gt;INSERT&lt;BR /&gt;&amp;nbsp; INTO [dbo].[maintable]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ([Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Column2],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[Column3])&lt;BR /&gt;SELECT [KID].[Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[KID].[Column2],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[KID].[Column3]&lt;BR /&gt;&amp;nbsp; FROM [KII].[KIIWorkTable] [KID]&lt;BR /&gt;&lt;BR /&gt;And SQL complains that the columns in the insert do not match the columns in the select. Of course in my real world scenario the tables have a lot more columns and the situation is much more complex, but I eventually narrow it down by starting with just one column and slowly trying it again and again, adding more columns as I go on&lt;BR /&gt;&lt;BR /&gt;INSERT&lt;BR /&gt;&amp;nbsp; INTO [dbo].[maintable]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;([Column1])&lt;BR /&gt;SELECT [KID].[Column1] .....&lt;BR /&gt;&lt;BR /&gt;Works perfectly&lt;BR /&gt;&lt;BR /&gt;I keep going until I hit [Column2] and the problem resurfaces&lt;BR /&gt;&lt;BR /&gt;I skip [Column2]&lt;BR /&gt;&lt;BR /&gt;INSERT&lt;BR /&gt;&amp;nbsp; INTO [dbo].[maintable]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;([Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Column3])&lt;BR /&gt;SELECT [KID].[Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[KID].[Column3] ......&lt;BR /&gt;&lt;BR /&gt;It works perfectly. It doesn't work if I keep [Column2] between the first and last column, but&lt;BR /&gt;&lt;BR /&gt;INSERT&lt;BR /&gt;&amp;nbsp; INTO [dbo].[maintable]&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;([Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Column3],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [Column2])&lt;BR /&gt;SELECT [KID].[Column1],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[KID].[Column3],&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[KID].[Column2] ......&lt;BR /&gt;&lt;BR /&gt;What the..... NOW it works!?!!&lt;BR /&gt;&lt;BR /&gt;So obviously there is something not quite right with [Column2]. I look at the table and I see [Column2] is nullable and it contains NULLs in some rows. And I happen to know that it's an integer, and the database design is not ideal, but for our business logic NULL and 0 are interchangeable so I run an update&lt;BR /&gt;&lt;BR /&gt;UPDATE [dbo].[maintable] SET [Column2] = 0 WHERE [Column2] IS NULL&lt;BR /&gt;&lt;BR /&gt;And now the original statement works as expected. While doing this fixed the problem, I know NULL values aren't the problem. I have done the same thing for several other tables and even this table has other columns that are nullable and that contain nulls, and the same thing doesn't happen for those. I can keep the columns in the order they are defined in the DB schema and the inserts just work, nulls or no nulls.&lt;BR /&gt;&lt;BR /&gt;So I'm just wondering what the underlying reason for this could be. Is there anything I can run in t-sql to recognise the scenario if it occurs so I can fix it BEFORE it causes an issue?&lt;/P&gt;</description>
      <pubDate>Fri, 31 Jul 2026 16:02:31 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/can-anyone-explain-this-error-and-maybe-even-suggest-how-to/m-p/4542904#M6119</guid>
      <dc:creator>rozeboosjeagain</dc:creator>
      <dc:date>2026-07-31T16:02:31Z</dc:date>
    </item>
    <item>
      <title>services.exe	D:\MSSQL\MSSQL17.MSSQLSERVER\MSSQL\Binn\SQLAGENT.EXE	ACCESS DENIED</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/services-exe-d-mssql-mssql17-mssqlserver-mssql-binn-sqlagent-exe/m-p/4540914#M6117</link>
      <description>&lt;P&gt;I've been getting failed installs with SQL Server Developer Standard Edition on Windows 2025 Standard edition, error has been:&amp;nbsp;&lt;/P&gt;&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;services.exe&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;QueryOpen&lt;/td&gt;&lt;td&gt;D:\MSSQL\MSSQL17.MSSQLSERVER\MSSQL\Binn\sqlceip.exe&lt;/td&gt;&lt;td&gt;ACCESS DENIED&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;services.exe&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;QueryOpen&lt;/td&gt;&lt;td&gt;D:\MSSQL\MSSQL17.MSSQLSERVER\MSSQL\Binn\SQLAGENT.EXE&lt;/td&gt;&lt;td&gt;ACCESS DENIED&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/DIV&gt;&lt;P&gt;I ended up granting local admin rights to the service account I'm using for the SQL Server, whcih allowed the install to complete but still had the same error on sqlceip.exe. I'm logged in to the server the install is running on, as a Domain Admin.&lt;/P&gt;&lt;P&gt;The detail file from the setup bootstrap files shows these errors, see below.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any idea why this is happening?&lt;/P&gt;&lt;LI-CODE lang=""&gt; 2026-07-26 13:54:31 Slp: Prompting user if they want to retry this action due to the following failure:
(01) 2026-07-26 13:54:31 Slp: ----------------------------------------
(01) 2026-07-26 13:54:31 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
(01) 2026-07-26 13:54:31 Slp: Inner exceptions are being indented
(01) 2026-07-26 13:54:31 Slp: 
(01) 2026-07-26 13:54:31 Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
(01) 2026-07-26 13:54:31 Slp:     Message: 
(01) 2026-07-26 13:54:31 Slp:         Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:31 Slp:     HResult : 0x84bb0001
(01) 2026-07-26 13:54:31 Slp:         FacilityCode : 1211 (4bb)
(01) 2026-07-26 13:54:31 Slp:         ErrorCode : 1 (0001)
(01) 2026-07-26 13:54:31 Slp:     Data: 
(01) 2026-07-26 13:54:31 Slp:       DisableRetry = true
(01) 2026-07-26 13:54:31 Slp:     Inner exception type: System.UnauthorizedAccessException
(01) 2026-07-26 13:54:31 Slp:         Message: 
(01) 2026-07-26 13:54:31 Slp:                 Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:31 Slp:         HResult : 0x80070005
(01) 2026-07-26 13:54:31 Slp:         Stack: 
(01) 2026-07-26 13:54:31 Slp:                 at Microsoft.SqlServer.Configuration.Sco.Service.StartService(String[] startParams)
(01) 2026-07-26 13:54:31 Slp: ----------------------------------------
(01) 2026-07-26 13:54:33 Slp: User has chosen to retry this action
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to close service handle for service SQLSERVERAGENT
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to close SC Manager
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to open SC Manager
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to open service handle for service SQLSERVERAGENT
(01) 2026-07-26 13:54:33 Slp: Prompting user if they want to retry this action due to the following failure:
(01) 2026-07-26 13:54:33 Slp: ----------------------------------------
(01) 2026-07-26 13:54:33 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
(01) 2026-07-26 13:54:33 Slp: Inner exceptions are being indented
(01) 2026-07-26 13:54:33 Slp: 
(01) 2026-07-26 13:54:33 Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
(01) 2026-07-26 13:54:33 Slp:     Message: 
(01) 2026-07-26 13:54:33 Slp:         Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:33 Slp:     HResult : 0x84bb0001
(01) 2026-07-26 13:54:33 Slp:         FacilityCode : 1211 (4bb)
(01) 2026-07-26 13:54:33 Slp:         ErrorCode : 1 (0001)
(01) 2026-07-26 13:54:33 Slp:     Data: 
(01) 2026-07-26 13:54:33 Slp:       DisableRetry = true
(01) 2026-07-26 13:54:33 Slp:     Inner exception type: System.UnauthorizedAccessException
(01) 2026-07-26 13:54:33 Slp:         Message: 
(01) 2026-07-26 13:54:33 Slp:                 Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:33 Slp:         HResult : 0x80070005
(01) 2026-07-26 13:54:33 Slp:         Stack: 
(01) 2026-07-26 13:54:33 Slp:                 at Microsoft.SqlServer.Configuration.Sco.Service.StartService(String[] startParams)
(01) 2026-07-26 13:54:33 Slp: ----------------------------------------
(01) 2026-07-26 13:54:33 Slp: User has chosen to retry this action
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to close service handle for service SQLSERVERAGENT
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to close SC Manager
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to open SC Manager
(01) 2026-07-26 13:54:33 Slp: Sco: Attempting to open service handle for service SQLSERVERAGENT
(01) 2026-07-26 13:54:33 Slp: Prompting user if they want to retry this action due to the following failure:
(01) 2026-07-26 13:54:33 Slp: ----------------------------------------
(01) 2026-07-26 13:54:33 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
(01) 2026-07-26 13:54:33 Slp: Inner exceptions are being indented
(01) 2026-07-26 13:54:33 Slp: 
(01) 2026-07-26 13:54:33 Slp: Exception type: Microsoft.SqlServer.Configuration.Sco.ScoException
(01) 2026-07-26 13:54:33 Slp:     Message: 
(01) 2026-07-26 13:54:33 Slp:         Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:33 Slp:     HResult : 0x84bb0001
(01) 2026-07-26 13:54:33 Slp:         FacilityCode : 1211 (4bb)
(01) 2026-07-26 13:54:33 Slp:         ErrorCode : 1 (0001)
(01) 2026-07-26 13:54:33 Slp:     Data: 
(01) 2026-07-26 13:54:33 Slp:       DisableRetry = true
(01) 2026-07-26 13:54:33 Slp:     Inner exception type: System.UnauthorizedAccessException
(01) 2026-07-26 13:54:33 Slp:         Message: 
(01) 2026-07-26 13:54:33 Slp:                 Attempted to perform an unauthorized operation.
(01) 2026-07-26 13:54:33 Slp:         HResult : 0x80070005
(01) 2026-07-26 13:54:33 Slp:         Stack: 
(01) 2026-07-26 13:54:33 Slp:                 at Microsoft.SqlServer.Configuration.Sco.Service.StartService(String[] startParams)
(01) 2026-07-26 13:54:33 Slp: ----------------------------------------
(01) 2026-07-26 13:54:34 Slp: User has chosen to cancel this action&lt;/LI-CODE&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>Sun, 26 Jul 2026 15:45:11 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/services-exe-d-mssql-mssql17-mssqlserver-mssql-binn-sqlagent-exe/m-p/4540914#M6117</guid>
      <dc:creator>Firmbyte</dc:creator>
      <dc:date>2026-07-26T15:45:11Z</dc:date>
    </item>
    <item>
      <title>mssql-python v1.12.0: Standalone ODBC package, bulk copy fixes</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-v1-12-0-standalone-odbc-package-bulk-copy-fixes/ba-p/4540553</link>
      <description>&lt;P data-line="2"&gt;We're pleased to announce the 12th release of the Microsoft Python Driver for SQL Server since GA: &lt;STRONG&gt;v1.12.0&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P data-line="2"&gt;Want to try it?&lt;/P&gt;
&lt;LI-CODE lang="bash"&gt;pip install --upgrade mssql-python&lt;/LI-CODE&gt;
&lt;H2 data-line="12"&gt;What's new&lt;/H2&gt;
&lt;H3 data-line="14"&gt;Standalone&amp;nbsp;mssql-python-odbc&amp;nbsp;package for ODBC driver binaries&lt;/H3&gt;
&lt;P data-line="16"&gt;You may remember that we ran out of space to publish on PyPi a few releases ago. To prevent that from happening again, the ODBC driver binaries that mssql-python needs at runtime are now also published as a separate, pure-data companion package: &lt;STRONG&gt;mssql-python-odbc&lt;/STRONG&gt;&amp;nbsp;(import name&amp;nbsp;mssql_python_odbc, currently pinned to&amp;nbsp;18.6.2).&lt;/P&gt;
&lt;P data-line="18"&gt;mssql-python&amp;nbsp;declares&amp;nbsp;mssql-python-odbc==18.6.2&amp;nbsp;in&amp;nbsp;install_requires, so&amp;nbsp;pip install mssql-python&amp;nbsp;transparently pulls the driver package alongside it. At import time, the native loader prefers the external&amp;nbsp;mssql_python_odbc&amp;nbsp;package when it is present, and falls back to the ODBC driver binaries still bundled inside the&amp;nbsp;mssql-python&amp;nbsp;wheel when it is not. Existing installations keep working with no code changes. The fallback is GIL-safe and Alpine/musl-safe.&lt;/P&gt;
&lt;P data-line="20"&gt;&lt;STRONG&gt;Who benefits&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL data-line="22"&gt;
&lt;LI data-line="22"&gt;Users who want to keep driver binaries pinned or updated independently of the Python driver code.&lt;/LI&gt;
&lt;LI data-line="23"&gt;Redistributors who want a slimmer&amp;nbsp;mssql-python&amp;nbsp;wheel over time.&lt;/LI&gt;
&lt;LI data-line="24"&gt;Anyone who has hit duplicate-ownership issues from bundled ODBC files.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="30"&gt;Bug fixes&lt;/H2&gt;
&lt;H3 data-line="32"&gt;Bulk copy now honors the connection timeout&lt;/H3&gt;
&lt;P data-line="34"&gt;cursor.bulkcopy()&amp;nbsp;opens a separate connection through&amp;nbsp;mssql_py_core, which previously defaulted to a hardcoded 15-second connect timeout with no way to override it from Python.&lt;/P&gt;
&lt;P data-line="36"&gt;The cursor's query timeout (set via&amp;nbsp;connect(timeout=X)) is now forwarded into&amp;nbsp;mssql_py_core's&amp;nbsp;connect_timeout&amp;nbsp;when it is set.&amp;nbsp;timeout=0&amp;nbsp;is preserved as "no override" and leaves&amp;nbsp;mssql_py_core&amp;nbsp;on its 15-second default. The cursor's timeout snapshot at the time of the&amp;nbsp;bulkcopy()&amp;nbsp;call is what is used, so later changes to the parent connection do not affect an in-flight bulk copy.&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;import mssql_python

# Give bulk copy 60 seconds to establish the second connection.
conn = mssql_python.connect(conn_str, timeout=60)
cursor = conn.cursor()
cursor.bulkcopy(rows, table="dbo.MyTable")&lt;/LI-CODE&gt;
&lt;P data-line="47"&gt;&lt;STRONG&gt;Who benefits&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI data-line="47"&gt;Applications that call bulkcopy() against slow, throttled, or high-latency SQL Server endpoints (VPN, cross-region)&lt;/LI&gt;
&lt;LI data-line="47"&gt;Applications that need to fail fast with a shorter timeout.&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3 data-line="51"&gt;Bulk copy into custom CLR UDT columns&lt;/H3&gt;
&lt;P data-line="53"&gt;cursor.bulkcopy()&amp;nbsp;into a column whose type is a custom, assembly-registered CLR UDT (any UDT other than the built-in&amp;nbsp;geography,&amp;nbsp;geometry, or&amp;nbsp;hierarchyid) previously failed with:&lt;/P&gt;
&lt;LI-CODE lang=""&gt;Protocol Error: Unsupported TDS type for bulk copy: 0xF0&lt;/LI-CODE&gt;
&lt;P data-line="59"&gt;The native core had no handler for the UDT (0xF0) type token when writing COLMETADATA. The Rust core now maps UDT columns to varbinary(max) on the wire and streams the supplied bytes as the UDT's serialized form (its IBinarySerialize payload), matching how pyodbc and python-tds load UDT columns. SQL Server materializes the UDT on insert.&lt;/P&gt;
&lt;H2 data-line="61"&gt;More information&lt;/H2&gt;
&lt;P data-line="63"&gt;&lt;SPAN style="color: rgb(30, 30, 30);"&gt;PyPI:&amp;nbsp;&lt;/SPAN&gt;&lt;A style="background-color: rgb(255, 255, 255); font-style: normal; font-weight: 400;" href="https://pypi.org/project/mssql-python/1.12.0/" data-href="https://pypi.org/project/mssql-python/1.12.0/" target="_blank"&gt;https://pypi.org/project/mssql-python/1.12.0/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Release notes:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python/releases" data-href="https://github.com/microsoft/mssql-python/releases" target="_blank"&gt;https://github.com/microsoft/mssql-python/releases&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;README:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python#microsoft-python-driver-for-sql-server" data-href="https://github.com/microsoft/mssql-python#microsoft-python-driver-for-sql-server" target="_blank"&gt;https://github.com/microsoft/mssql-python#microsoft-python-driver-for-sql-server&lt;/A&gt;&lt;/P&gt;
&lt;H2 data-line="65"&gt;Get involved&lt;/H2&gt;
&lt;P data-line="67"&gt;Bug reports, feature requests, and PRs are welcome on GitHub:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-python" data-href="https://github.com/microsoft/mssql-python" target="_blank"&gt;https://github.com/microsoft/mssql-python&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jul 2026 19:00:36 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-python-v1-12-0-standalone-odbc-package-bulk-copy-fixes/ba-p/4540553</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-07-24T19:00:36Z</dc:date>
    </item>
    <item>
      <title>mssql-django 1.7.4 Released</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-7-4-released/ba-p/4540480</link>
      <description>&lt;P data-line="2"&gt;mssql-django 1.7.4 is now available on PyPI.&lt;/P&gt;
&lt;P data-line="7"&gt;This release focused on two fixes in raw and annotated GROUP BY query handling.&lt;/P&gt;
&lt;H2 data-line="9"&gt;What is fixed&lt;/H2&gt;
&lt;H3 data-line="11"&gt;1) Escaped %% handling in GROUP BY params&lt;/H3&gt;
&lt;P data-line="13"&gt;GROUP BY queries that mixed escaped %% literals with real params could raise IndexError.&lt;/P&gt;
&lt;P data-line="15"&gt;In 1.7.4, placeholder rewriting now only touches %% and %s in the intended paths. These queries now execute correctly instead of failing.&lt;/P&gt;
&lt;P data-line="17"&gt;Example:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;from django.db import connection

sql = """
    SELECT LEFT(name, %s) AS prefix, COUNT(*)
    FROM testapp_customer_name
    WHERE notes LIKE 'promo%%'
    GROUP BY LEFT(name, %s)
"""

params = [3, 3]

with connection.cursor() as cursor:
    cursor.execute(sql, params)
    rows = cursor.fetchall()&lt;/LI-CODE&gt;
&lt;P data-line="36"&gt;Before 1.7.4: this pattern could raise&amp;nbsp;IndexError&amp;nbsp;when escaped&amp;nbsp;%%&amp;nbsp;and&amp;nbsp;%s&amp;nbsp;placeholders appeared together.&lt;/P&gt;
&lt;P data-line="38"&gt;In 1.7.4: the query executes and returns grouped rows as expected.&lt;/P&gt;
&lt;H3 data-line="17"&gt;2) IntegerChoices in raw GROUP BY queries&lt;/H3&gt;
&lt;P data-line="42"&gt;Passing IntegerChoices values into raw GROUP BY queries could raise NotImplementedError.&lt;/P&gt;
&lt;P data-line="44"&gt;In 1.7.4, type checks use isinstance, so IntegerChoices params are handled correctly while bool and plain int behavior stays consistent.&lt;/P&gt;
&lt;P data-line="46"&gt;Example:&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;from django.db import connection
from django.db.models import IntegerChoices


class Priority(IntegerChoices):
    LOW = 1, "Low"
    HIGH = 2, "High"


sql = """
    SELECT priority, COUNT(*)
    FROM testapp_choice_question
    WHERE priority = %s
    GROUP BY priority
"""

with connection.cursor() as cursor:
    cursor.execute(sql, [Priority.HIGH])
    rows = cursor.fetchall()&lt;/LI-CODE&gt;
&lt;P data-line="70"&gt;Before 1.7.4: passing&amp;nbsp;Priority.HIGH&amp;nbsp;could raise&amp;nbsp;NotImplementedError.&lt;/P&gt;
&lt;P data-line="72"&gt;In 1.7.4:&amp;nbsp;IntegerChoices&amp;nbsp;values bind correctly in raw&amp;nbsp;GROUP BY&amp;nbsp;queries.&lt;/P&gt;
&lt;H2 data-line="23"&gt;Tests&lt;/H2&gt;
&lt;P data-line="76"&gt;This release also adds regression coverage for:&lt;/P&gt;
&lt;UL data-line="78"&gt;
&lt;LI data-line="78"&gt;Escaped %% and unescaped % GROUP BY paths&lt;/LI&gt;
&lt;LI data-line="79"&gt;IntegerChoices in raw GROUP BY queries&lt;/LI&gt;
&lt;/UL&gt;
&lt;H2 data-line="30"&gt;Compatibility&lt;/H2&gt;
&lt;P data-line="83"&gt;mssql-django 1.7.4 remains a backward-compatible patch release with no breaking changes.&lt;/P&gt;
&lt;H2 data-line="34"&gt;Thank you&lt;/H2&gt;
&lt;P data-line="87"&gt;Thanks to everyone using mssql-django, especially those that reported these issues. Your reports and repros help improve reliability with every patch.&lt;/P&gt;
&lt;P data-line="89"&gt;If you hit an issue, please open one here:&amp;nbsp;&lt;A href="https://github.com/microsoft/mssql-django/issues" data-href="https://github.com/microsoft/mssql-django/issues" target="_blank"&gt;https://github.com/microsoft/mssql-django/issues&lt;/A&gt;&lt;/P&gt;
&lt;P data-line="89"&gt;PyPI:&amp;nbsp;&lt;A href="https://pypi.org/project/mssql-django/" data-href="https://pypi.org/project/mssql-django/" target="_blank"&gt;https://pypi.org/project/mssql-django/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-line="89"&gt;Release notes: &lt;A href="https://github.com/microsoft/mssql-django/releases/tag/1.7.4" data-href="https://github.com/microsoft/mssql-django/releases/tag/1.7.4" target="_blank"&gt;https://github.com/microsoft/mssql-django/releases/tag/1.7.4&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jul 2026 17:00:00 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/mssql-django-1-7-4-released/ba-p/4540480</guid>
      <dc:creator>DavidLevy</dc:creator>
      <dc:date>2026-07-24T17:00:00Z</dc:date>
    </item>
    <item>
      <title>Two additional controls with Automatic Plan Correction enabled</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/two-additional-controls-with-automatic-plan-correction-enabled/ba-p/4539771</link>
      <description>&lt;P&gt;A few weeks ago I posted my &lt;A href="https://www.linkedin.com/posts/erinstellato_first-friday-feedback-about-query-store-ugcPost-7476274877503553536-0oyf" target="_blank" rel="noopener"&gt;first Friday Feedback about Query Store&lt;/A&gt;, and one of the responses referenced a stored procedure I hadn't used before: &lt;A href="https://learn.microsoft.com/sql/relational-databases/system-stored-procedures/sp-configure-automatic-tuning-transact-sql" target="_blank" rel="noopener"&gt;sp_configure_automatic_tuning&lt;/A&gt;.&amp;nbsp; There was an assumption that this stored procedure wasn't documented and didn't work as expected.&amp;nbsp; Knowing how much I love &lt;A href="https://learn.microsoft.com/sql/relational-databases/performance/monitoring-performance-by-using-the-query-store" target="_blank" rel="noopener"&gt;Query Store&lt;/A&gt;, &lt;A href="https://learn.microsoft.com/sql/relational-databases/automatic-tuning/automatic-tuning#automatic-plan-correction" target="_blank" rel="noopener"&gt;Automatic Plan Correction&lt;/A&gt; &lt;STRONG&gt;and&lt;/STRONG&gt; documentation, I went searching. If you aren’t familiar with the stored procedure, read on.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;tl;dr&lt;/P&gt;
&lt;P&gt;Good news! The sp_configure_automatic_tuning stored procedure is fully documented and supported.&lt;/P&gt;
&lt;H3&gt;What does sp_configure_automatic_tuning do?&lt;/H3&gt;
&lt;P&gt;If you’ve enabled Automatic Plan Correction (APC) for your database, sp_configure_automatic_tuning gives you granular control at the individual query level. Not sure if APC is enabled for your database?&amp;nbsp; Run:&lt;/P&gt;
&lt;PRE class="lia-indent-padding-left-30px"&gt;USE [dbname];&lt;BR /&gt;GO&lt;BR /&gt;&lt;BR /&gt;SELECT *&lt;BR /&gt;FROM sys.database_automatic_tuning_options&lt;BR /&gt;WHERE name = 'FORCE_LAST_GOOD_PLAN'&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AND actual_state = 1;&lt;BR /&gt;GO&lt;/PRE&gt;
&lt;P&gt;With APC enabled, you can use sp_configure_automatic_tuning to:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Exclude specific queries from APC monitoring&lt;/LI&gt;
&lt;LI&gt;Apply an extended, time-based plan regression check to specific queries&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;Why you might need either option&lt;/H3&gt;
&lt;P&gt;As much as we try to design a feature for every scenario, there are always unique workloads and edge cases that don’t fit exactly into problems that the feature is designed to solve.&lt;/P&gt;
&lt;H5&gt;FORCE_LAST_GOOD_PLAN OFF&lt;/H5&gt;
&lt;P&gt;You may have a complex query (or small set of them) that has enough variability across executions that causes APC to detect a regression and force a plan.&amp;nbsp; Once forced, APC monitors the performance of that forced plan, and it may detect that the plan regresses (because of the variability across executions) and then un-force it.&amp;nbsp; The act of repeated forcing and un-forcing may be more problematic than just letting the natural execution variance occur.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Separately, workloads often have complex, critical queries that you may want to exclude simply because you’re not comfortable with a plan being automatically forced.&amp;nbsp; In either scenario, you can tell the engine to skip a query, based on its query_id, because it either doesn’t benefit from automatic plan forcing, or you don’t want forcing even attempted.&lt;/P&gt;
&lt;P&gt;To disable APC for a given plan, once you have the query_id (e.g. 422), simply execute:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="lia-indent-padding-left-30px"&gt;EXECUTE sys.sp_configure_automatic_tuning 'FORCE_LAST_GOOD_PLAN', 'QUERY', 422, 'OFF';&lt;/PRE&gt;
&lt;H5&gt;FORCE_LAST_GOOD_PLAN_EXTENDED_CHECK ON&lt;/H5&gt;
&lt;P&gt;When a query’s plan changes, APC has a detection phase where it checks to see if the query’s performance has regressed. It monitors the query for a set number of executions, and if there is no regression for those executions, the detection phase is complete, and APC won’t look at the query again until the next plan change. &amp;nbsp;However, there are scenarios where the initial executions of the query are acceptable, but concurrent or subsequent executions are slower, and may even timeout.&amp;nbsp; In that case, we want APC to check the query’s performance again.&amp;nbsp; Enabling FORCE_LAST_GOOD_PLAN_EXTENDED_CHECK for a query means that APC &lt;STRONG&gt;will &lt;/STRONG&gt;check the query again, five minutes &lt;EM&gt;after &lt;/EM&gt;the initial plan change.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This scenario is described in more detail in Derek’s post from April, &lt;A href="https://techcommunity.microsoft.com/blog/sqlserver/query-plan-regressions-got-you-down-heres-how-automatic-plan-correction-can-turn/4515152" target="_blank" rel="noopener"&gt;Query plan regressions got you down? Here's how Automatic Plan Correction can turn it around&lt;/A&gt;, and if you use APC, I recommend taking time to read it (maybe even twice, because it has such great info).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To extend the check for a given query (e.g. 537), run:&lt;/P&gt;
&lt;PRE class="lia-indent-padding-left-30px"&gt;&lt;BR /&gt;EXECUTE sys.sp_configure_automatic_tuning 'FORCE_LAST_GOOD_PLAN_EXTENDED_CHECK', 'QUERY', 537, 'ON';&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also enable this capability globally using&amp;nbsp;&lt;A href="https://learn.microsoft.com/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql" target="_blank" rel="noopener"&gt;trace flag 12656&lt;/A&gt; (SQL 2022 CU4 and later).&lt;/P&gt;
&lt;H3&gt;Checking what queries have either option enabled&lt;/H3&gt;
&lt;P&gt;To see which queries have either option enabled, use &lt;A class="lia-external-url" href="https://learn.microsoft.com/sql/relational-databases/system-catalog-views/sys-database-automatic-tuning-configurations-transact-sql" target="_blank"&gt;sys.database_automatic_tuning_configurations&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class="lia-indent-padding-left-30px"&gt;SELECT * FROM sys.database_automatic_tuning_configurations;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just in case you didn’t visit the documentation 😉 the sp_configure_automatic_tuning stored procedure is available in:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SQL Server 2022 and later&lt;/LI&gt;
&lt;LI&gt;Azure SQL Database&lt;/LI&gt;
&lt;LI&gt;Azure SQL Managed Instance&lt;/LI&gt;
&lt;LI&gt;SQL database in Microsoft Fabric&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;The quest for feedback&lt;/H3&gt;
&lt;P&gt;If we haven’t met before 👋 I was previously the PM for SQL Server Management Studio (SSMS), and in that role I regularly reminded folks in blog posts to &lt;A class="lia-external-url" href="https://aka.ms/ssms-feedback" target="_blank" rel="noopener"&gt;file feedback items for SSMS&lt;/A&gt;.&amp;nbsp; While I’ve moved teams, it will come as no surprise that I’ll be asking folks to file feedback items for Query Store, Automatic Plan Correction, and anything in the Query Processing space &lt;A class="lia-external-url" href="https://aka.ms/sqlfeedback" target="_blank" rel="noopener"&gt;on the SQL feedback site&lt;/A&gt;.&amp;nbsp; If you filter for items in the Query Store group, you’ll see a few recent comments from me.&amp;nbsp; Unfortunately, the feedback site doesn’t have a great way to tag those who originally posted, or who commented.&amp;nbsp; I’m committed to figuring out a better solution (please be patient), but in the meantime, if you post something, please try and check back every so often in case there are follow up questions.&amp;nbsp; And as always, feel free to make time to review existing requests and upvote those that resonate with you.&amp;nbsp; We want to hear from you...about Query Store, APC, and whatever else is creating challenges in the SQL Engine space.&amp;nbsp; Thanks for reading!&lt;/P&gt;</description>
      <pubDate>Wed, 22 Jul 2026 15:34:29 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/two-additional-controls-with-automatic-plan-correction-enabled/ba-p/4539771</guid>
      <dc:creator>erinstellato</dc:creator>
      <dc:date>2026-07-22T15:34:29Z</dc:date>
    </item>
    <item>
      <title>Cumulative Update #7 for SQL Server 2025 RTM</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-7-for-sql-server-2025-rtm/ba-p/4538018</link>
      <description>&lt;P&gt;The 7th 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;CU7 KB Article: &lt;A href="https://support.microsoft.com/help/5096981" target="_blank"&gt;https://support.microsoft.com/help/5096981&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%7C1740c019894a4c80c21708dee3712773%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639198272288634588%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=yw%2BsPoWq6of%2BpMWvONMuKoy2PYc7vAPFGI9vQ5Vdm7A%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/en-us/download/details.aspx?id=108540" target="_blank"&gt;https://www.microsoft.com/en-us/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>Fri, 17 Jul 2026 00:30:30 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-7-for-sql-server-2025-rtm/ba-p/4538018</guid>
      <dc:creator>SrinivasSQL</dc:creator>
      <dc:date>2026-07-17T00:30:30Z</dc:date>
    </item>
    <item>
      <title>Cumulative Update #26 for SQL Server 2022 RTM</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-26-for-sql-server-2022-rtm/ba-p/4538016</link>
      <description>&lt;P&gt;The 26th cumulative update release for SQL Server 2022 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;CU26 KB Article: &lt;A href="https://support.microsoft.com/help/5093420" target="_blank"&gt;https://support.microsoft.com/help/5093420&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%7C24183ac0c72145c495e308dee370dcfb%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639198271059586568%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=%2F4thiIIjXB%2F8ZZS4Hd6eSh2WTa80WIP97Bhvn5VACLI%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® 2022 RTM Latest Cumulative Update: &lt;A href="https://www.microsoft.com/download/details.aspx?familyid=105013" target="_blank"&gt;https://www.microsoft.com/download/details.aspx?familyid=105013&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>Fri, 17 Jul 2026 00:24:10 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/cumulative-update-26-for-sql-server-2022-rtm/ba-p/4538016</guid>
      <dc:creator>SrinivasSQL</dc:creator>
      <dc:date>2026-07-17T00:24:10Z</dc:date>
    </item>
    <item>
      <title>SQL Server Audit Specification</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server/sql-server-audit-specification/m-p/4537189#M6097</link>
      <description>&lt;P&gt;Is it possible to predicate an Event in a Specification on a Principal Name?&lt;BR /&gt;&lt;BR /&gt;The Specification 'Properties' dialogue box seem to indicate filtering on is possible, including 'Object Class', Object Schema', 'Object Name', a but the Syntax doesn't show how.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jul 2026 07:42:47 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server/sql-server-audit-specification/m-p/4537189#M6097</guid>
      <dc:creator>TimSQL</dc:creator>
      <dc:date>2026-07-15T07:42:47Z</dc:date>
    </item>
    <item>
      <title>Security Update for SQL Server 2025 RTM CU6</title>
      <link>https://techcommunity.microsoft.com/t5/sql-server-blog/security-update-for-sql-server-2025-rtm-cu6/ba-p/4537091</link>
      <description>&lt;P&gt;The Security Update for SQL Server 2025 RTM CU6 is now available for download at the Microsoft Download Center and Microsoft Update Catalog sites. This package cumulatively includes all previous security fixes for SQL Server 2025 RTM CUs, plus it includes the new security fixes detailed in the KB Article.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Security Bulletins:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmsrc.microsoft.com%2Fupdate-guide%2Fvulnerability%2FCVE-2026-54118&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C11a6ed599d8042bc518c08dee0ab0e27%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639195222436321305%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=HnyDprCpe86fut1ZT9AXE3ESIufaIrr7cO6dYX6Wb6Q%3D&amp;amp;reserved=0" target="_blank"&gt;CVE-2026-54118 - Security Update Guide - Microsoft - Microsoft SQL Server Denial of Service Vulnerability&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;LI&gt;Security Update of SQL Server 2025 RTM CU6 KB Article: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fsupport.microsoft.com%2Fkb%2F5101346&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C11a6ed599d8042bc518c08dee0ab0e27%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639195222436338443%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=bq6JeB0%2BRy%2Bzon%2ByT9uqxtTblElwdGQbXwIuHl9Swcs%3D&amp;amp;reserved=0" target="_blank"&gt;KB5101346&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Microsoft Download Center: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fdownload%2Fdetails.aspx%3Ffamilyid%3D8cbfc62d-9944-42ba-aac6-0c5fa9dae68e&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C11a6ed599d8042bc518c08dee0ab0e27%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639195222436348793%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=Iyikhmd6VQTzAzKdBF4dNJREXQ7amgwL9vrjteVElHU%3D&amp;amp;reserved=0" target="_blank"&gt;https://www.microsoft.com/download/details.aspx?familyid=8cbfc62d-9944-42ba-aac6-0c5fa9dae68e&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Microsoft Update Catalog: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.catalog.update.microsoft.com%2FSearch.aspx%3Fq%3D5101346&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C11a6ed599d8042bc518c08dee0ab0e27%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639195222436358524%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=DUGSlMlcdYAxwjawhcSFAkCuU8zRmF5n2Yto%2FoABu0E%3D&amp;amp;reserved=0" target="_blank"&gt;https://www.catalog.update.microsoft.com/Search.aspx?q=5101346&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Latest Updates for Microsoft SQL Server: &lt;A href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Ftroubleshoot%2Fsql%2Freleases%2Fdownload-and-install-latest-updates&amp;amp;data=05%7C02%7Cskandi%40microsoft.com%7C11a6ed599d8042bc518c08dee0ab0e27%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C639195222436375375%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&amp;amp;sdata=iqEO9Ydt9oJ8HNnXmr6xoUCct32C2laCgHHZm32fet0%3D&amp;amp;reserved=0" 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>Wed, 15 Jul 2026 01:28:24 GMT</pubDate>
      <guid>https://techcommunity.microsoft.com/t5/sql-server-blog/security-update-for-sql-server-2025-rtm-cu6/ba-p/4537091</guid>
      <dc:creator>SrinivasSQL</dc:creator>
      <dc:date>2026-07-15T01:28:24Z</dc:date>
    </item>
  </channel>
</rss>

