SQL Server 2017 の累積更新プログラム17

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

この記事では、SQL Server 2017 の累積更新プログラムパッケージ 17 (CU17) について説明します。 この更新プログラムには、SQL Server 2017 の最初のリリース後にリリースされた修正プログラムが含まれています。この更新プログラムには、sql Server と Analysis services のコンポーネントが次のビルドで更新されています。

コンポーネント 製品バージョン ファイル バージョン
SQL Server 14.0.3238.1 2017.140.3238
Analysis Services 14.0.249.17 2017.140.249.17

 

重要な注意事項

この記事では、次の状況に関する重要な情報についても説明します。

  • Pacemaker:最新バージョンの Pacemaker を使用するディストリビューションで動作の変更が行われます。 軽減策のメソッドが提供されています。
  • クエリストア: クエリストアを使用していて、以前に SQL Server 2017 累積更新プログラム 2 (CU2) をインストールしている場合は、このスクリプトを実行する必要があります。
  • Analysis Services CU ビルドバージョン: SQL Server 2017 以降では、Analysis Services のビルドバージョン番号と SQL Server データベースエンジンのビルドバージョン番号が一致していません。 詳細については、「 Analysis Services の累積的な更新プログラムのビルドバージョンを確認する」を参照してください。  

累積更新プログラム

累積的な更新プログラム (CU) は、現在 Microsoft ダウンロード センターで入手できます。ダウンロード センターで入手できるのは、SQL Server 2017 用にリリースされた最新の CU だけです。

Linux 向けの CU パッケージは、 https://packages.microsoft.com/で入手できます。

注意事項

  • 最新の CU には、インストール済みの SQL Server バージョン用として前回の CU に含められていた修正プログラムがすべて含まれます。
  • SQL Server CU は Service Pack と同じレベルに認証されるため、同じ信頼レベルでインストールする必要があります。
  • Microsoft は、次のガイドラインに従って利用可能になるように、CUs の継続的な事前インストールをお勧めします。  
    • 過去のデータは、リリース済みの CU で既に解決されている問題が多数のサポート ケースで扱われていることを物語っています。
    • CU には、修正プログラムの他に 付加的な機能 (サポータビリティ、管理性、信頼性の更新ファイルなど) が含まれることもあります。
  • CU を実稼働環境に展開する前に CU をテストすることをお勧めします。

Windows 用この累積的な更新プログラムパッケージの入手方法


Microsoft ダウンロードセンターでは、次の更新プログラムを利用できます。

ダウンロードページが表示されない場合は、 Microsoft カスタマーサービスとサポートに問い合わせて累積的な更新プログラムパッケージを入手してください。注:

  • SQL Server 2017 の将来の累積更新プログラムがリリースされた後、これと以前のすべての CUs をMicrosoft Update カタログからダウンロードできます。 ただし、常に最新の累積的な更新プログラムをインストールすることをお勧めします。

この累積的な Linux 用更新プログラムパッケージの入手方法


最新の CU に Linux をアップデートするには、まず、累積更新プログラムリポジトリが構成されている必要があります。 次に、適切なプラットフォーム固有の更新コマンドを使用して、SQL Server パッケージを更新します。

CU パッケージのダウンロードへのインストール手順とダイレクトリンクについては、リリースノートをご覧ください。

この累積的な更新プログラムパッケージに含まれているその他の修正プログラム


VSTS バグ番号 サポート技術情報番号 説明 修正領域 プラットフォーム
12865857 4338636 修正: SQL Server 2014、2016、2017で、SSISDB でのブロックが原因で SQL ジョブが失敗する Integration Services Windows
12519854 4469600 修正: ホスト名が大文字でない場合、SQL Server 2016 および2017でピアツーピアレプリケーションが失敗する SQL エンジン Windows
13017120 4495663 修正: SQL Server 2016 および2017で分散可用性グループの作成に失敗すると、エラー41162が発生する 高可用性 Windows
13037041;13037044 4497225 修正: SQL Server 2016 および2017で、クラスター化された列ストアインデックスと非クラスター化された rowstore インデックスを含むテーブルを照会すると、間違った結果が返される場合がある SQL エンジン すべて
1303704313037045 4497701 FIX: SQL Server 2014、2016、2017でフィルター式にオーバーフローがあると、列ストアフィルターのプッシュダウンで間違った結果が返されることがあります。 SQL エンジン すべて
12947210 4500770 FIX: SQL Server 2016 および2017でデータベース間のトランザクションが AG データベースに適用されると AG が中断される 高可用性 Windows
12752114 4502442 修正: fn_hadr_backup_is_preferred_replica により、SQL Server 2017 でエラー41005が発生します。 高可用性 Windows
13087324 4511751 修正: デッドロックモニターで、SQL Server 2016 および2017でハッシュ結合、ハッシュ集計、並べ替え、または window 関数が使用されていると、アクセス違反エラーが発生する SQL エンジン Windows
12921465 4511884 修正: dbo 以外のユーザーが、マージパブリケーションが有効になっている SQL Server 2017 データベースのプロシージャを変更したときにエラーが発生する SQL エンジン Windows
13087333 4512558 FIX: SQL Server 2016 および2017でハッシュ結合、hash aggregate、sort または window 関数をバッチモードプランで使うと、アサーションエラーが発生する SQL エンジン すべて
13087320 4512567 修正: SQL Server 2016 および2017で、バッチモードのハッシュ結合または並べ替えを使用してクエリを実行すると、"再生不能スケジューラ" が発生します。 SQL エンジン Windows
13087325 4513097 修正: SQL Server 2016 および2017で、TDE 圧縮バックアップの復元または復元に失敗します。 SQL エンジン Windows
13087329 4513099 解決: Azure storage i/o サブシステムで、失敗した i/o の転送の詳細がリセットされず、バックアップエラーが発生する場合がある SQL エンジン すべて
13087330 4513238 修正: Microsoft SQL Server 2016 および2017でセカンダリレプリカのデータベースをバックアップすると、エラー9003が発生する SQL エンジン Windows
13045830 4515773 解決方法: Hadoop ファイルシステムタスクが、SQL Server 2017 の HDFS からギガバイトサイズの大きなファイルをコピーできない Integration Services Windows
13109883 4516999 [FIX] SQL Server 2017 で Hadoop ファイルシステムタスクを使用して、ファイルの内容が、HDFS にコピーされると2回送信されます。 Integration Services Windows
13076556 4517404 修正: DQ モードで SSAS 2017 のテーブルモードデータベースにクエリを実行すると、予期しない結果が発生する Analysis Services Windows
13122905 4518364 修正: SQL Server 2016 および2017で PIVOT またはピボットテーブルを含むクエリを実行すると、アクセス違反が発生する SQL エンジン Windows
13130344 4519366 [FIX] SQL Server 2016 および2017のクラスター化された列ストアインデックスで、パーティションテーブル上のインデックス交差で間違った結果が発生する SQL パフォーマンス Windows
13061226 4519668 [FIX] SQL Server 2016 および2017で、[TF 3924] を有効にして、孤立した DTC トランザクションをクリーンアップすると、アクセス違反が発生します。 SQL エンジン Windows
13138944 4519796 FIX: テーブルの型に SQL Server 2016 でユーザー定義の制約がある場合にスタックダンプが発生する SQL エンジン Windows
13086241 4520124 修正: SMB 3. x プロトコルを使用して、Linux から SQL Server FILESTREAM 共有をマウントできない SQL エンジン Windows
13059436 4520148 修正: データベースが SQL Server 2017 の可用性グループの一部である場合に、重大度17のエラー35262が発生する 高可用性 すべて
13043160 4520149 [FIX] SQL Server 2017 で読み取りスケールの AlwaysOn 可用性グループをフェールオーバーしたときにアサーションが発生する 高可用性 Windows
13078232 4520438 修正: MDS 2019 ではアクセシビリティのバグが修正されましたが、MDS 2017 では修正されていません。 Data Quality Services (DQS) Windows
13163565 4521659 修正: SQL Server 2016 および2017で、コンポーネント以外のバックアップパスで SQL ライターサービスがバックアップされない SQL エンジン Windows
13161357 4521701 FIX: テーブルにクラスター化された列ストアインデックスがある場合、テーブルの Cardinality プロパティには delta store または削除されたビットマップの行が含まれません SQL エンジン Windows
13159467 4521758 FIX: Linux の SQL Server 2017 で、JDBC XA トランザクションがエラーで失敗します。 SQL エンジン すべて
13165551 4521960 修正: SQL Server 2016 および2017で複製データベースの検証が失敗すると、アクセス違反が発生する SQL エンジン Windows
13063787 4522002 修正: Linux の SQL Server 2017 でアサーションエラーが発生します。 SQL エンジン Linux
13065294 4522404 修正: SQL Server 2017 の CCI テーブルで PHYSICAL_ONLY オプションで DBCC CHECKDB を実行すると、エラー8965が発生します。 SQL エンジン Windows
13136089 4522405 修正: SQL Server 2017 で並べ替え操作を使用してバッチクエリを実行すると、発生しないスケジューラエラーが発生する SQL エンジン すべて
13088831 4522909 修正: SSAS 2017 テーブルデータベースのプロセスが完了した後、Power BI のデータを更新するとエラーが発生する Analysis Services Windows
13049501 4522911 修正: Skipmembership が使用されている場合でも、SSAS 2017 のテーブルモデルデータベースロールメンバーシップがコピーされます。 Analysis Services Windows
13288306 4542725 FIX: SQL Server を再起動すると、コアダンプが生成されることがある SQL エンジン Linux

この更新プログラムについての注記


ハイブリッド環境への展開

ハイブリッド環境 (AlwaysOn、レプリケーション、クラスター、ミラーリングなど) に更新プログラムを展開する場合は、更新プログラムを展開する前に次の記事を参照することをお勧めします。 

累積的な更新プログラム パッケージの情報


必要条件

この累積的な更新プログラム パッケージを適用するには、SQL Server 2017 を実行している必要があります。

再起動に関する情報

この累積的な更新プログラム パッケージの適用後、コンピュータの再起動が必要な場合があります。

レジストリ情報

このパッケージに含まれている修正プログラムを使用するために、レジストリを変更する必要はありません。

CU パッケージに関するその他の情報


Pacemaker に関するお知らせ


大事な

最新利用可能なPacemaker パッケージ 1.1.18-11を使うすべてのディストリビューション (RHEL 7.3 および7.4 を含む) は、値がfalseの場合に、 start failure-fatal cluster 設定の動作変更を導入します。 この変更はフェールオーバーワークフローに影響します。 プライマリレプリカで障害が発生した場合、クラスターは、利用可能なセカンダリレプリカの1つにフェールオーバーすることを前提としています。 代わりに、ユーザーは、クラスターが失敗したプライマリレプリカを引き続き開始しようとしていることを確認します。 このプライマリが決してオンラインにならない場合 (永続的な停止のため)、別の使用可能なセカンダリレプリカにはクラスターがフェールオーバーされません。

この問題は、umulative updateのバージョンに関係なく、すべての SQL Server バージョンに影響します。

この問題を軽減するには、次のいずれかの方法を使用します。

方法 1

次の手順を実行します。

  1. 最初の障害を削除します。これは、既存のクラスターからの致命的ではない優先されます。 
       # RHEL, Ubuntu         pcs property unset start-failure-is-fatal         # or         pcs property set start-failure-is-fatal=true   # SLES         crm configure property start-failure-is-fatal=true
  2. クラスターの再チェック間隔の値を減らします。 
       # RHEL, Ubuntu         pcs property set cluster-recheck-interval=<Xmin>   # SLES         crm configure property cluster-recheck-interval=<Xmin>
  3. 各 AG リソースにエラータイムアウトmeta プロパティを追加します。 
       # RHEL, Ubuntu         pcs resource update ag1 meta failure-timeout=60s   # SLES         crm configure edit ag1      # In the text editor, add `meta failure-timeout=60s` after any `param`s and before any `op`s
     

    注: このコードでは、必要に応じて <Xmin> の値を置き換えます。 レプリカが停止した場合、クラスターは、エラータイムアウト値とクラスター再チェック間隔の値によってバインドされている間隔で、レプリカを再開しようとします。 たとえば、失敗-タイムアウトが60秒に設定されていて、クラスター再確認の間隔が120秒に設定されている場合、再起動は60秒より大きく、120秒未満の間隔で試行されます。 エラータイムアウトは、 " 60s " と "cluster" に設定することをお勧めします。間隔は60秒より大きい値に設定することをお勧めします。 クラスターの再チェック間隔を小さい値に設定することはお勧めできません。 詳細については、Pacemaker のドキュメントを参照するか、システムプロバイダーにお問い合わせください。

方法 2

Pacemaker バージョン1.1.16 に戻します。

    クエリストアに関する通知


    大事な

    SQL Server 2017 累積更新プログラム 2 (CU2) を sql Server 2017 累積更新プログラム 2 (CU3 以降で) またはそれ以降の累積更新プログラムに直接更新する場合は、このスクリプトを実行する必要があります。 以前に SQL Server 2017 累積更新プログラム 3 (CU3 以降で) またはそれ以降の SQL Server 2017 累積更新プログラムをインストールした場合は、このスクリプトを実行する必要ありません

     

    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