對於 SQL Server 2017年的累積更新 4

適用於: SQL Server 2017 on Windows (all editions)SQL Server 2017 on Linux (all editions)

本文說明的 Microsoft SQL Server 2017年的累積更新套件 4 (組建14.0.3022.28)。此更新包含修正SQL Server 2017年發行之後所發行。

重要

安裝累積更新 4 (CU4)時,客戶可能會遇到 Linux 部署與 Pacemaker 管理可用性群組上 SQL Server 上的下列徵狀。

  • Pacemaker 會立即將降級到從屬伺服器,AG 資源的主要複本,然後永遠不會將升級為主要任何從屬。
  • 'crm_mon' 顯示從 '監視器'、 '通知' 提升' 'ocf:mssql:ag' 資源代理程式 」 AG 資源的動作報告任何錯誤。
  • 'crm_simulate-sL' 在 AG 資源的所有複本上顯示升級分數的 '-1'。

若要減輕問題,可能是

  1. 套用mssql-伺服器-ha.cu4.patch到 Pacemaker 的所有節點上的/usr/lib/ocf/resource.d/mssql/ag檔案叢集 where mssql-伺服器-哈安裝套件。
  2. 更新累積更新 5 (CU5),這是建議的選項。
  3. 回復為累積更新 3 (CU3)

重要

如果您使用查詢的存放區] 功能,以及您先前曾經安裝累積更新 2 (CU2) (14.0.3008.27),適用於您的下列需求:

之後您安裝累積更新 3 (CU3) (14.0.3015.40) 或更新版本的 CU,您必須立即執行下列的指令碼,以刪除所有已安裝 CU2 時,所收集的查詢儲存區的計劃:

SET NOCOUNT ON;DROP TABLE IF EXISTS #tmpUserDBs;SELECT [database_id], 0 AS [IsDone]INTO #tmpUserDBsFROM master.sys.databasesWHERE [database_id] > 4 AND [state] = 0 -- must be ONLINE AND is_read_only = 0 -- cannot be READ_ONLY AND [database_id] NOT IN (SELECT dr.database_id FROM sys.dm_hadr_database_replica_states dr -- Except all local Always On secondary replicas  INNER JOIN sys.dm_hadr_availability_replica_states rs ON dr.group_id = rs.group_id  INNER JOIN sys.databases d ON dr.database_id = d.database_id  WHERE rs.role = 2 -- Is Secondary   AND dr.is_local = 1   AND rs.is_local = 1)DECLARE @userDB sysname;WHILE (SELECT COUNT([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0) > 0BEGIN SELECT TOP 1 @userDB = DB_NAME([database_id]) FROM #tmpUserDBs WHERE [IsDone] = 0 -- PRINT 'Working on database ' + @userDB EXEC ('USE [' + @userDB + '];DECLARE @clearPlan bigint, @clearQry bigint;IF EXISTS (SELECT [actual_state] FROM sys.database_query_store_options WHERE [actual_state] IN (1,2))BEGIN IF EXISTS (SELECT plan_id FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27'') BEGIN  DROP TABLE IF EXISTS #tmpclearPlans;  SELECT plan_id, query_id, 0 AS [IsDone]  INTO #tmpclearPlans  FROM sys.query_store_plan WHERE engine_version = ''14.0.3008.27''  WHILE (SELECT COUNT(plan_id) FROM #tmpclearPlans WHERE [IsDone] = 0) > 0  BEGIN   SELECT TOP 1 @clearPlan = plan_id, @clearQry = query_id FROM #tmpclearPlans WHERE [IsDone] = 0   EXECUTE sys.sp_query_store_unforce_plan @clearQry, @clearPlan;   EXECUTE sys.sp_query_store_remove_plan @clearPlan;   UPDATE #tmpclearPlans   SET [IsDone] = 1   WHERE plan_id = @clearPlan AND query_id = @clearQry  END;  PRINT ''- Cleared possibly affected plans in database [' + @userDB + ']'' END ELSE BEGIN  PRINT ''- No affected plans in database [' + @userDB + ']'' ENDENDELSEBEGIN PRINT ''- Query Store not enabled in database [' + @userDB + ']''END')  UPDATE #tmpUserDBs  SET [IsDone] = 1  WHERE [database_id] = DB_ID(@userDB)END

累積更新

累積更新 (CU) 現在可從 Microsoft 下載中心下載。下載中心僅提供已發行的 SQL Server 2017 最新累積更新。

目前的套件的 Linux 時使用https://packages.microsoft.com/

注意事項

  • 每個新 CU 包含被包含在先前的 CU 已安裝版本的 SQL Server 的所有修正程式。
  • SQL Server 累積更新的憑證級別與 Service Pack 相同,您可以放心安裝。
  • Microsoft 建議在累積更新可用時持續主動安裝:
    • 歷史資料表明,很多支援案例都涉及已發行累積更新中已解決的問題。
    • 累積更新套件含的附加價值可能高於 Hotfix。 包括支援能力、可管理性和可靠性更新。
  • 建議您先測試累積更新,再將這些累積更新部署到生產環境中。

累積更新

累積更新 (CU) 現在可從 Microsoft 下載中心下載。下載中心僅提供已發行的 SQL Server 2017 最新累積更新。

目前的套件的 Linux 時使用https://packages.microsoft.com/

注意事項

  • 每個新 CU 包含被包含在先前的 CU 已安裝版本的 SQL Server 的所有修正程式。
  • SQL Server 累積更新的憑證級別與 Service Pack 相同,您可以放心安裝。
  • Microsoft 建議在累積更新可用時持續主動安裝:
    • 歷史資料表明,很多支援案例都涉及已發行累積更新中已解決的問題。
    • 累積更新套件含的附加價值可能高於 Hotfix。 包括支援能力、可管理性和可靠性更新。
  • 建議您先測試累積更新,再將這些累積更新部署到生產環境中。

如何取得此累積更新套件的 Windows


您也可以從 「 Microsoft 下載中心 」 內使用下列更新:如果下載頁面不顯示,請連絡「Microsoft 客戶服務及支援」以取得此累積更新套件。注意 SQL Server 2017 未來累積更新發行之後,此累積更新可從 Microsoft Windows 更新類別目錄找到並下載。 但 Microsoft 建議您安裝最新可用累積更新。

如何取得此累積更新套件的 Linux


若要更新最新的 CU Linux,您必須先設定的累積更新儲存機制。使用適當的平台特定更新命令,然後更新 SQL Server 套件。

取得安裝指示和目前的封裝下載的直接連結,請參閱版本資訊

這個累積更新套件所隨附的其他 hotfix


VSTS 錯誤編號 知識庫文件編號 描述 修正區域 平台
11281513 4042948 修正: 從 SSRS 2008 升級到 SSRS 2016 後資料驅動訂閱失敗 Reporting Services Windows
11281532 4053550 修正: 處理透過 Service Broker 的 XML 訊息會導致無反應的工作階段,在 SQL Server 2016年和 2017年 SQL 引擎 全部
11281570 4052123 修正: 滑動期限的驗證 cookie 無法運作,無法重新導向至登入網頁,在 SSRS 2016 和 2017 Reporting Services Windows
11307676 4057054 修正: 型別顯示不一致的 CXPACKET 和 CXCONSUMER 等候會導致某些平行查詢計劃 SQL Server 2017 SQL 效能 全部
11226058 4057087 修正: 無法還原資料庫使用取代選項如果檔名包含在 SQL Server 2017年中的兩個斜線運算子 SQL 引擎 全部
11507782 4076982 修正: Pacemaker 將現有的主要複本,在 SQL Server 上 Linux 的 2017年 AlwaysOn AG 的降級,並且永遠不會將升級一個新 高可用性 Linux
11457913 4077103 SQL Server 2017年在復原期間停止回應的修正: 在可用性群組中的記憶體中資料庫 記憶體內部 OLTP 全部
11457917 4077683 修正: 系統預存程序 sp_execute_external_script,並在 SQL Server 2017年的 DMV sys.dm_exec_cached_plans 造成記憶體遺漏 SQL 引擎 Windows
11035710 4055727 修正: 資料庫的復原需要長的時間,當它包含在 SQL Server 2016年和 2017年的記憶體最佳化資料表 記憶體內部 OLTP Windows
11305031 4053439 改進: 將 master 資料庫與記錄檔時發生錯誤在 SQL Server 2017年中的另一個位置上的 Linux SQL 引擎 Linux
11455811 4057759 當您切入階層成員,在 SSAS 2016 和 2017 以多維度的模式,則修正: 內部錯誤 Analysis Services Windows
11281541 3010148 修正: 非系統管理角色無法接收正確的 ChildCount 估計在 SSAS 中的父子式維度分葉成員 Analysis Services Windows
11281540 4052572 修正: SSAS 2016 和 2017年損毀間歇性地在您使用指令碼重新命名的多維度資料庫時,才 Analysis Services Windows
11524673 3216543 修正: 多連續的交易將資料插入 SQL Server 2016年和 2017年中的暫存資料表更多的 CPU 耗用量比在 SQL Server 2014 SQL 安全 Windows
11466444 4078301 改進: 增加 (現代) 可以執行的外部查詢的平行處理獲得資料的經驗 SSAS 2017 表格式模型中 Analysis Services Windows
11290048 4078302 修正: 處理表格式模型資料庫、 資料表或資料分割長到處理程序,在 SSAS 2017 Analysis Services Windows
11296787 4078303 在 MDX 查詢執行時,在 SQL Server 2017年的 SSAS 中的修正: 存取違規錯誤 Analysis Services Windows
11525703 4078288 修正: 預測函式不會傳回錯誤訊息,遺漏的欄,且未能處理學習參數在 SQL Server 2017年毫升服務的樹狀目錄/樹系模型 SQL 引擎 Windows
11511976 4077105 修正: 記憶體不足的錯誤時 SQL Server 處理序的虛擬位址空間是在 SQL Server 2014年和 2017年非常低 SQL 引擎 Windows
11511978 4058565 執行 SQL Server 2014年和 2017年中的大型物件的參考預存程序時,修正: 判斷提示錯誤 SQL 效能 Windows
11405613 4055556 當您重建的 SQL Server 2014年和 2016年中的線上的索引的單一磁碟分割的修正程式: 錯誤 SQL 效能 Windows
11455807 4056955 修正: 將轉換成 XML 的字串或二進位資料的查詢花費長時間編譯在 SQL Server 2016年和 2017 SQL 安全 Windows
11455793 4037412 當 SQL Server 複寫的發行項包含 GEOGRAPHY_AUTO_GRID 或 GEOMETRY_AUTO_GRID 的修正程式: 錯誤 SQL 引擎 Windows
11455794 4055456 修正: 功能選取項目上的 「 完全已安裝 」 錯誤頁面,當您修改目前安裝的 SQL Server 2016 SP1 或 SQL Server 2016 SP1 CU5 設定和安裝 Windows
11455797 4055281 當您執行查詢的 SQL Server 2016年和 2017年中的次要可用性群組的第二個複本上,修正:"Msg 3948 」 錯誤 高可用性 Windows
11281547 4049027 修正:"AdomdConnectionException"錯誤時 2016年和 2017年的 SSRS 資料來源會使用 msmdpump.dll Reporting Services Windows
11448088 4078095 改進: 改進的較小的系統上的 SQL Server 2017年效能 SQL 引擎 全部
11457912 4078096 修正: SQL Server 關機後重新啟動如果啟用 C2 稽核模式 SQL 引擎 全部
11317815 4078097 修正: NEWSEQUENTIALID 函式會產生重複的 GUID 後重新啟動 SQL Server 上 Linux 的 2017 SQL 引擎 Linux
11448085 4078098 修正: 資料庫結構描述不會升級或降級,當您安裝或解除安裝 SQL Server 上 Linux 的 2017年中的累積更新 SQL 引擎 全部
11514491 4077899 修正: PolyBase 不會安裝,因為安裝程式無法辨識 JRE 9,當您安裝 SQL Server 2017 SQL 引擎 Windows
11455799 4056821 修正: 永遠在可用性群組在 SQL Server 2016年和 2017年搭配使用時,記錄傳送失敗 高可用性 Windows
11281550 4044064 修正: 「 要求逾時 」 錯誤當您變更的 [MDS 安全小組,SQL Server 2016年和 2017年中安全性選項 資料品質服務 (DQS) Windows
11455809 4057055 修正: 發生死結中 SQL Server 2016年和 2017年的 columnstore 叢集的索引,在執行平行查詢時 SQL 引擎 Windows
11467181 4075203 修正: 記憶體暴增階段後太長 Linux 上的 SQL Server 2017年中啟用 TF834 SQL 引擎 Linux
11455814 4057280 修正: 高的 CPU 使用率時記憶體最佳化 SQL Server 2016年和 2017年中資料表的查詢中使用大型的索引 記憶體內部 OLTP 全部
11455813 4057190 當您重新設定管理資料倉儲中具名的執行個體的 SQL Server 2016年的 14684 和 2017年的修正程式: 錯誤 管理工具 Windows
11455788 4056117 修正: 判斷提示就會發生於您為 SQL Server 2016年和 2017年中的資料表值參數傳遞至預存程序記憶體最佳化資料表變數 SQL 引擎 Windows
11405622 4054398 修正:"因為沒有定序無效 comparison"零售宣告就會發生在 SQL Server 2014年和 2017年 SQL 引擎 Windows
11405603 4046745 修正: 更新陳述式無法以無訊息模式當您參考不存在的資料分割函數中 SQL Server 2014年或 2017年的 WHERE 子句中 SQL 引擎 全部
11281548 4048943 修正: 在 SQL Server 中的 AlwaysOn 可用性群組的主要複本上發生存取違規 高可用性 Windows
11405608 4048967 修正: 無法啟用或停用資料庫的異動資料擷取之後將它附加在 SQL Server 2014年或 2017 SQL 引擎 Windows
11281538 4048942 修正: 重新啟動 SQL Server 後產生 「 停止 IOCP 接聽程式 」 和 「 非傳送 IOCP 接聽程式 」 的記憶體傾印 SQL 引擎 全部
11454778 4074661 修正: Msdb 資料庫相容性層級會保持在 130 藉由匯集升級到 SQL Server 2017 管理工具 Windows
11415502 4073684 修正: 異動資料擷取不適用於 SQL Server 2017 SQL 引擎 Windows
11453962 4073670 修正: 無法建立根據屬於 Linux 上的 SQL Server 2017年中的父系網域的使用者登入 SQL 安全 Linux
11281552 4052633 在 SQL Server 中的修正: 使用批次模式雜湊計算多個可為 null 的資料行的彙總運算子會傳回不正確的選取查詢結果 SQL 效能 全部
11281551 4045795 修正: 執行緒集區耗盡及接連而中 AAG 的 CMEMTHREAD 爭用植入 SQL Server 2016年和 2017年中的資料 SQL 引擎 全部
11281542 4040934 修正: SQL Server 整合服務套件隨機懸置如果啟用了自訂的記錄 整合服務 Windows
11441099 4017445 修正: 取消復原執行緒之後就無法使用第二個複本中可用性資料庫 SQL Server 中卸除 高可用性 Windows
11317816 4073045 修正: 未預期的記憶體耗用量的 SQL Server 2017,Linux 上使用 TCP 通訊協定連線時 SQL 引擎 Linux
11281563 4052121 對分散式的可用性群組在 SQL Server 中執行的 DMV 查詢的修正: 存取違規 高可用性 Windows
11281515 4052131 修正: DMV sys.dm_os_windows_info 會傳回錯誤值的 Windows 10 和 Windows 伺服器 2016 SQL 引擎 Windows
8898811 3192154 當 SQL Server 2016年和 2017年中搜尋統計資料中所代表的範圍以外的值時,未最佳化的查詢計畫的選擇會導致效能不佳 SQL 效能 Windows

此更新注意事項


混合環境部署

當您在混合式環境 (例如 AlwaysOn、 複寫、 叢集中,和鏡像) 來部署 hotfix 時,我們建議您部署 hotfix 之前指向下列的文件:

累積更新套件資訊


先決條件

要套用此累積更新套件,必須執行 SQL Server 2017。

重新啟動資訊

套用這個累積更新套件之後,可能必須重新啟動電腦。

登錄資訊

如果要使用此套件的其中一個 Hotfix,您不需要對登錄進行任何變更。