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

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

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

コンポーネント ビルドバージョン ファイル バージョン
SQL Server 14.0.3162.1 2017.140.3162.1
Analysis Services 14.0.249.3 2017.140.249.3

 

重要な注意事項

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

  • Pacemaker:最新バージョンの Pacemaker を使用するディストリビューションで動作の変更が行われます。 軽減策のメソッドが提供されています。
  • クエリストア: クエリストアを使用していて、以前に SQL Server 2017 累積更新プログラム 2 (CU2) をインストールしている場合は、このスクリプトを実行する必要があります。
  • 可用性グループの優先レプリカバックアップ: Fn_hadr_backup_is_preferred_replicaを使用してバックアップジョブの優先可用性グループのレプリカを決定すると、エラーが発生します。 
  • 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 バグ番号 サポート技術情報番号 説明 修正領域 プラットフォーム
12750851 4480652 修正: VSS バックアップの実行時に、SQL ライターサービスが原因でシステム DMV 上の検出されないデッドロックが発生することがある SQL エンジン Windows
12819465 4488853 修正: SQL Server 2016 および2017でプルサブスクリプションを作成するために sp_addpullsubscription_agent を実行すると、' MSrepl_agent_jobs ' が存在しない SQL エンジン Windows
12819467 4489202 修正: SQL Server 2016 および2017データベースに .NET CLR アセンブリを読み込むと、エラー10314が発生する SQL エンジン Windows
12674647 4490136 FIX: SQL Server 2016 および2017で dm_exec_query_statistics_xml を使用すると、アサーションエラーが発生する SQL パフォーマンス Windows
12819460 4490141 改善: DMV sys dm_hadr_cluster レポートクラウド監視クォーラムの種類 "4" と quorum_type_desc "UNKNOWN_QUORUM" (SQL Server 2016 および 2017) 高可用性 Windows
12723965 4490237 修正: sql server 2008 または 2008 R2 から SQL Server 2016 および2017にバックアップを復元すると時間がかかる SQL エンジン Windows
12700741 4490478 修正: AD 認証が SQL Server 2017 に接続できない SQL エンジン Linux
12640919 4492604 修正: SQL Server 2016 および2017で同期されたすべてのレプリカでフォワーダーとセカンダリレプリカの間の手動フェールオーバーが失敗する 高可用性 Windows
12819475 4492880 修正: SQL Server 2016 および2017の AG からデータベースが削除されると、自動シーディングアサーションが発生する 高可用性 Windows
12819479 4492899 [FIX] SQL Server 2016 および2017のデータベース起動後に、FileTable データベースレベルのディレクトリにアクセスできなくなります。 SQL エンジン Windows
12644521 4493329 修正: SQL Server 2016 および2017のサブスクライバーで、sp_addarticle を使用して、トランザクションレプリケーションのアーティクルをメモリ最適化テーブルに追加すると、エラーが発生します。 SQL エンジン Windows
12819478 4493363 修正: 低い権限を持つユーザーによって実行される特殊な細工されたクエリは、SQL Server 2016 および2017で、マスクされたデータを公開する可能性がある SQL セキュリティ Windows
12931699 4493364 [FIX] SQL Server 2016 および2017でコンポーネントベース以外のバックアップで仮想マシンをバックアップしたときにエラーが発生する SQL エンジン Windows
12794414 4494650 修正: SQL Server 2017 でユニオンステートメントを使用してバッチモードのクエリを実行すると、アクセス違反が発生する SQL パフォーマンス Windows
12804071 4495683 修正: SQL Server 2017 で表示形式が "Name {Code}" に設定されていると、検索属性が機能しない Data Quality Services (DQS) Windows
12840763 4497225 修正: SQL Server 2016 および2017で、クラスター化された列ストアインデックスと非クラスター化された rowstore インデックスを含むテーブルを照会すると、間違った結果が返される場合がある SQL エンジン すべて
12865861 4497230 修正: SQL Server 2014、2016、2017でデータベースに非アクティブなファイルグループが含まれている場合、セカンダリレプリカへの参加に失敗します。 高可用性 Windows
12840765 4497701 FIX: SQL Server 2014、2016、2017でフィルター式にオーバーフローがあると、列ストアフィルターのプッシュダウンで間違った結果が返されることがあります。 SQL エンジン すべて
12831695 4498720 修正: SQL Server 2017 で m_numLocks load () = = 0 エラーが発生しました。 SQL エンジン Linux
12844344 4498924 修正: SQL Server 2017 で、MDS 用 Excel アドインの更新後に、読み取り専用属性の灰色の背景が表示されなくなります。 Data Quality Services (DQS) Windows
12865874 4499231 修正: SQL Server 2014、2016、2017で TF 1448 が有効になっている AG フェイルオーバー後にログリーダーエージェントが失敗することがある SQL エンジン Windows
12670267 4499423 修正: SSIS および Power BI レポートが SQL Server 2017 の接続タイムアウトエラーで失敗する SQL エンジン Linux
12821584 4499614 修正: SQL Server 2017 の圧縮された Showplan .xml ファイルの破損が原因で、アクセス違反が発生する SQL パフォーマンス Windows
12819474 4500327 修正: SQL Server 2016 および2017でスピルされるバッチモードでクエリを実行すると、発生しないスケジューラの問題が発生する SQL パフォーマンス Windows
12686636 4500511 改善: メモリ内データベースでの CDC のサポート性とユーザビリティを向上させる SQL エンジン すべて
12870721 4500574 修正: SQL Server 2017 でトランザクションの監査が有効になっていると、自己デッドロックが発生する SQL セキュリティ すべて
12710985 4500595 修正: CDC ソースプレビューで、"指定されたキーが辞書に存在しませんでした" というエラーが表示される SQL Server 2017 でエラーが発生する Integration Services Windows
12789617 4500783 解決: メモリ最適化テーブルを使用した MSTVFs のインターリーブ実行では、SQL Server 2017 で浮動小数点例外が発生します。 メモリ内 OLTP すべて
12886436 4501670 修正: SQL Server 2017 で query_plan_profile と query_post_execuion_plan_profile の xEvents によって報告される CPU と経過時間が正確ではない SQL パフォーマンス すべて
12877988 4501797 修正: DAG フォワーダーへのデータ移動が、SQL Server 2016 および2017の接続のタイムアウト後に自動的に再開されない 高可用性 Windows
12799964 4502376 修正: sqlmin でアクセス違反が発生します。AGHealthCompStateActual:: SQL Server 2017 の GetData 高可用性 Linux
12745415 4502380 修正: データベースマスターをディスクにバックアップしようとしたときに、スタックオーバーフローのために SQL Server 2017 がクラッシュする SQL エンジン Windows
12805642 4502400 修正: SQL Server 2016 および2017では、各行のローカル変数の割り当てを実行する MERGE ステートメントを使用すると、要求されている行の割り当ては実行されません。 SQL パフォーマンス すべて
12816127 4502427 修正: SQL Server 2016 および2017で sys. fn_dump_dblog 関数を実行すると、アクセス違反が発生します。 SQL エンジン Windows
12768690 4502532 修正: SQL Server 2017 でバッチモードアダプティブ結合を有効にすると、クエリに時間がかかる SQL パフォーマンス Windows
12756913 4502658 修正: SQL Server 2017 で PolyBase を再起動した後に、"指定した有効な資格情報がありません" というエラーが表示される SQL エンジン Windows
12820675 4502659 解決: HDP 3.0 以降の Parquet または ORC ファイルをターゲットとする PolyBase クエリは、プッシュダウン計算が有効になっていると失敗します。 SQL エンジン Windows
12798181 4502706 修正: sql Server 2017 で、"外部シグナルの監視に失敗しました" というコアダンプが生成される SQL エンジン すべて
12819466 4503379 修正: クエリ実行プランで SQL Server 2016 および2017で外部キー参照を使用すると、参照整合性制約が正しく評価されない SQL パフォーマンス Windows
12823369 4503385 解決: DAX クエリには、SQL Server 2017 多次元モデルデータベースのデータベースのサイズよりも200倍以上のメモリが必要 Analysis Services Windows
12745584 4503386 修正: SSRS のレポートビルダーのクエリデザイナーでパラメーター化された DAX クエリを設計すると、例外が発生する Analysis Services Windows
12921007 4503417 FIX: SQL Server 2017 でリンクサーバー上のビューを選択すると、アサーションダンプが発生する SQL パフォーマンス Windows
12812315 4505726 解決方法: 動的データのマスクが SQL Server 2017 で予期したとおりに機能しない SQL セキュリティ Windows
12892302 4505820 FIX: SQLCLR 関数は、SQL Server 2017 の RTM よりも、CU 14 でクエリを実行するのに長い時間がかかる SQL パフォーマンス Windows

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


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

ハイブリッド環境 (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

    可用性グループの優先レプリカバックアップ


    大事な

    次のような状況で問題が発生します。

    • Windows Server フェールオーバークラスターで可用性グループを実行している。
    • バックアップジョブ内でfn_hadr_backup_is_preferred_replica関数を使用して、現在のレプリカでバックアップを実行するかどうかを決定します。

    このシナリオでは、関数呼び出しは失敗し、次のエラーメッセージが生成されます。 

    この問題は、バックアップ自体には影響しません。 そのため、この問題を回避するには、 fn_hadr_backup_is_preferred_replicaへの呼び出しを削除します。

    優先レプリカのみでバックアップする必要がある場合は、累積更新プログラム15を適用しないことをお勧めします。 この問題は、今後のリリースで修正される予定です。