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 および分析サービス コンポーネントが次のビルドに更新されます。

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

 

重要なお知らせ

この資料では、次の状況に関する重要な情報も提供します。

  • ペースメーカー:動作の変更は、Pacemaker の最新バージョンを使用するディストリビューションで行われます。軽減方法が提供されます。
  • クエリ ストア:クエリ ストアを使用し、SQL Server 2017 累積的な更新プログラム 2 (CU2) を既にインストールしている場合は、このスクリプトを実行する必要があります。
  • 分析サービス CU ビルド バージョン:SQL Server 2017 以降、分析サービスのビルド バージョン番号と 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 と同じレベルに認証されるため、同じ信頼レベルでインストールする必要があります。
  • マイクロソフトでは、次のガイドラインに従って利用可能になった場合、CPU の継続的かつプロアクティブなインストールをお勧めします。
    • 過去のデータは、リリース済みの CU で既に解決されている問題が多数のサポート ケースで扱われていることを物語っています。
    • CU には、修正プログラムの他に 付加的な機能 (サポータビリティ、管理性、信頼性の更新ファイルなど) が含まれることもあります。
  • CU を実稼働環境に展開する前に CU をテストすることをお勧めします。

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


マイクロソフト ダウンロード センターから次の更新プログラムを入手できます。

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

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

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


Linux を最新の CU に更新するには、まず累積的な更新リポジトリを構成する必要があります。次に、適切なプラットフォーム固有の更新コマンドを使用して、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 で、クラスタ化列ストア インデックスと非クラスター化行ストア インデックスの両方を持つテーブルに対してクエリが正しくない結果を返すことがある SQL エンジン すべて
13037043;13037045 4497701 修正: 列ストア フィルタープッシュダウンは、SQL Server 2014、2016、および 2017 のフィルター式にオーバーフローがある場合に誤った結果を返す可能性があります。 SQL エンジン すべて
12947210 4500770 修正: SQL Server 2016 および 2017 の AG データベースにデータベース間トランザクションが適用されると、AG が中断されます。 高可用性 Windows
12752114 4502442 修正: sys.fn_hadr_backup_is_preferred_replica は、SQL Server 2017 でエラー 41005 を発生させる 高可用性 Windows
13087324 4511751 修正: SQL Server 2016 および 2017 がデッドロック モニターのバッチ モード計画でハッシュ結合、ハッシュ集計、並べ替え、またはウィンドウ関数を使用すると、アクセス違反エラーが発生します。 SQL エンジン Windows
12921465 4511884 修正: マージ パブリケーションが有効になっている SQL Server 2017 データベースで非 dbo ユーザーがプロシージャを変更するとエラーが発生します。 SQL エンジン Windows
13087333 4512558 修正: SQL Server 2016 および 2017 がバッチ モード計画でハッシュ結合、ハッシュ集計、並べ替え、またはウィンドウ関数を使用すると、アサーション エラーが発生します。 SQL エンジン すべて
13087320 4512567 修正: 「非降伏スケジューラ」は、バッチ モードハッシュ結合を使用してクエリを実行したり、SQL Server 2016 および 2017 で並べ替えを実行するときに発生します。 SQL エンジン Windows
13087325 4513097 修正: 復元または復元の唯一の TDE 圧縮バックアップは、SQL Server 2016 および 2017 で失敗します。 SQL エンジン Windows
13087329 4513099 修正: Azure ストレージ I/O サブシステムは、失敗した I/O の転送の詳細をリセットしないと、バックアップ エラーが発生する可能性があります。 SQL エンジン すべて
13087330 4513238 修正: エラー 9003 は、Microsoft SQL Server 2016 および 2017 のセカンダリ レプリカ上のデータベースをバックアップするときに発生します。 SQL エンジン Windows
13045830 4515773 修正: Hadoop ファイル システム タスクは、SQL Server 2017 の HDFS からギガバイトラージファイルをコピーできません Integration Services Windows
13109883 4516999 修正: ファイルの内容は、SQL Server 2017 の Hadoop ファイル システム タスクを使用して HDFS にコピーするときに 2 回送信されます。 Integration Services Windows
13076556 4517404 修正: DQ モードで SSAS 2017 表形式モードのデータベースを照会すると予期しない結果が発生します。 Analysis Services Windows
13122905 4518364 修正: SQL Server 2016 および 2017 で PIVOT または UNPIVOT を含むクエリを実行すると、アクセス違反が発生します。 SQL エンジン Windows
13130344 4519366 修正: SQL Server 2016 および 2017 でクラスター化列ストア インデックスを持つパーティション テーブルのインデックスの交差で正しくない結果が発生します。 SQL パフォーマンス Windows
13061226 4519668 修正: SQL Server 2016 および 2017 で孤立した DTC トランザクションをクリーンアップする TF 3924 を有効にすると、アクセス違反が発生します。 SQL エンジン Windows
13138944 4519796 修正: スタック ダンプは、テーブルの種類が SQL Server 2016 でユーザー定義の制約を持っている場合に発生します。 SQL エンジン Windows
13086241 4520124 修正: SMB 3.x プロトコルを使用して Linux から SQL Server FILESTREAM 共有をマウントできません。 SQL エンジン Windows
13059436 4520148 修正: 重大度 17 のエラー 35262 は、データベースが SQL Server 2017 の可用性グループの一部である場合に発生します。 高可用性 すべて
13043160 4520149 修正: アサーションは、SQL Server 2017 で読み取りスケール AlwaysOn 可用性グループをフェールオーバーするときに発生します。 高可用性 Windows
13078232 4520438 修正: アクセシビリティのバグは MDS 2019 で修正されますが、MDS 2017 では修正されません。 Data Quality Services (DQS) Windows
13163565 4521659 修正: SQL ライター サービスは、SQL Server 2016 および 2017 の非コンポーネント バックアップ パスでバックアップに失敗します。 SQL エンジン Windows
13161357 4521701 [FIX] テーブルのカーディナリティ プロパティにデルタ ストア内の行が含まれていないか、テーブルにクラスター化列ストア インデックスがある場合は削除されたビットマップが含まれません。 SQL エンジン Windows
13159467 4521758 修正: JDBC XA トランザクションが失敗し、Linux 上の SQL Server 2017 でエラーが発生します。 SQL エンジン すべて
13165551 4521960 修正: SQL Server 2016 および 2017 でクローン データベースの検証が失敗した場合にアクセス違反が発生します。 SQL エンジン Windows
13063787 4522002 修正: Linux 上の SQL Server 2017 アサーション エラーで失敗します。 SQL エンジン Linux
13065294 4522404 修正: エラー 8965 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 修正: 同期コマンドは、スキップメンバーシップが使用されている場合でも、SSAS 2017表形式モデルデータベースロールメンバーシップをコピーします Analysis Services Windows

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


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

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

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


必要条件

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

再起動に関する情報

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

レジストリ情報

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

その他の CU パッケージ情報


ペースメーカーのお知らせ


大事な

最新のペースメーカーパッケージ1.1.18-11.el7を使用するすべてのディストリビューション(RHEL 7.3および7.4を含む)では、その値がfalseの場合に、開始失敗-致命的なクラスタ設定の動作変更が導入されます。この変更は、フェールオーバー ワークフローに影響します。プライマリ レプリカで障害が発生した場合、クラスターは使用可能なセカンダリ レプリカのいずれかにフェールオーバーする必要があります。代わりに、障害が発生したプライマリ レプリカをクラスタが起動し続けていることにユーザーが気付きます。そのプライマリがオンラインにならなかった場合 (永続的な停止が原因で)、クラスターは別の使用可能なセカンダリ レプリカにフェールオーバーすることはありません。

この問題は、それらがインストールされている cumulative 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 リソースにエラー タイムアウトメタ プロパティを追加します。
       # 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 秒未満の間隔で試行されます。障害タイムアウト60 秒に設定し、クラスターの再チェック間隔を 60 秒を超える値に設定することをお勧めします。クラスターの再チェック間隔を小さい値に設定することはお勧めしません。詳細については、Pacemaker のマニュアルを参照するか、システム プロバイダに問い合わせてください。

方法 2

ペースメーカーバージョン1.1.16に戻します。

    クエリ ストアの通知


    大事な

    クエリ ストア機能を使用し、以前に累積的な更新プログラム 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