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

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

本文將告訴累積更新套件 5 (CU5) (組建編號: 14.0.3023.8) 的 SQL Server 2017年。此更新包含修正初始版本的 SQL Server 2017年之後所發行。

累積更新

累積更新 (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,這和所有之後先前的 CUs 可以會找出並下載從Microsoft Update 類別目錄。不過,Microsoft 建議您永遠安裝最新累計可用的更新。

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


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

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

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


VSTS 錯誤編號 知識庫文件編號 描述 修正區域 平台
11561331 4089946 修正: SQL Server 時停止回應您移除可用性群組接聽程式,或變更其通訊埠編號 高可用性 全部
11447604 4038881 修正: 您使用 SSAS 2016 或 SSAS 2017 中的程序更新處理維度時發生未預期的例外狀況 Analysis Services Windows
11469023 4088270 修正: 暫存物件放在 SQL Server 時發生很大的 PAGELATCH_EX 爭用 SQL 引擎 Windows
11542851 4089473 較佳的含內查詢平行處理死結,SQL Server 2017年中的 [疑難排解 SQL 效能 全部
11569058 4090789 修正: 於記憶體中 OLTP 資料庫也會花很長的時間,SQL Server 2017年中復原 SQL 引擎 全部
11591383 4091245 修正: 查詢在 SQL Server 2017年整數資料行的資料表時發生存取違規 SQL 效能 Windows
11569472 4089948 在 SQL Server 2016年或 2017年中的資料分割的叢集的 columnstore 索引中插入值時,修正: 含內查詢死結 SQL 引擎 全部
11677397 4091722 修正: Pacemaker 將升級主要未同步處理的複本當您使用 SQL Server 上 Linux 的 2017 AlwaysOn AG 高可用性 Linux
11505194 4055674 修正: 遺漏分析服務處理的工作,在 SQL Server 2016年與 2017年整合服務的記錄檔 Analysis Services Windows
11632824 4091063 修正: 查詢存放區收集在 SQL Server 2017年的執行階段統計資料時發生存取違規 SQL 引擎 全部
11686345 4092667 在 SQL Server 2017年有二進位定序的資料庫中的修正程式: 錯誤 1921年與 1750 當您建立的節點或邊緣資料表 SQL 效能 全部
11578523 4089718 當從 SQL Server 2012 MDS 升級 2016年的改進: 效能問題 資料品質服務 (DQS) 全部
11705681 4093805 修正: 無法使用 「 docker 停止 」 命令,停止 SQL Server Linux Docker 容器 SQL 引擎 Linux
11455785 4058174 修正: 重型 tempdb 爭用,就會發生在 SQL Server 2016年或 2017 SQL 引擎 Windows
11301460 4058700 修正: 間歇性 9004 錯誤透過 SQL Server 2014,2016,並 2017年在待命模式還原備份時 SQL 引擎 全部
11552950 4092066 修正: 複寫資料庫定序使用 '_SC' 的定序副檔名是在 SQL Server 2016年時不會啟用 SQL 引擎 Windows
11516257 4087406 修正: 錯誤 9002 重要的記錄檔成長,SQL Server 2014,2016 和 2017年中沒有足夠的磁碟空間時 SQL 引擎 全部
11789381 4089276 當最佳化的點陣圖篩選套用到查詢計劃在 SQL Server 2016年和 2017年,可改善查詢效能 SQL 效能 全部

此更新注意事項


混合環境部署

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

累積更新套件資訊


先決條件

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

重新啟動資訊

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

登錄資訊

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

查詢的存放區通知


重要

如果您使用查詢的存放區] 功能中,而且先前曾經安裝累積更新 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