SQL Server 2016 リリース ノート

適用対象: SQL Server 2016 (13.x) 以降のバージョン

この記事では、SQL Server 2016 (13.x) リリースでの制限事項と問題について説明します。Service Pack についても説明します。 新機能については、「 SQL Server 2016 の新機能」をご覧ください。

SQL Server 2016 Service Pack 3 (SP3)

SQL Server 2016 (13.x) SP3 には、SQL Server 2016 (13.x) SP2 より後にリリースされた、CU17 まで (CU17 を含む) の累積的な更新プログラムがすべて含まれています。

SQL Server 2016 (13.x) SP3 のインストールでは、インストール後に再起動が必要な場合があります。 ベスト プラクティスとして、SQL Server 2016 (13.x) SP3 のインストール後の再起動を計画して実行することをお勧めします。

SQL Server 2016 (13.x) SP3 にはパフォーマンスとスケールに関連する改善が含まれています。

機能 説明 説明
ロード バランサーのない可用性グループ リスナー "分散ネットワーク名 (DNN) リスナー" という名前の、ロード バランサーを使用しない新しい種類の可用性グループ (AG) リスナーを作成できます。

注: ロード バランサーを削除すると、構成の複雑さが大幅に軽減され、AG フェールオーバーの待機時間も大幅に短縮されます (一部のワークロードでは 6 から 7 倍)。
KB4578579
SQL Server 2016 と 2019 FCI で DNN 機能を有効にする フェールオーバー クラスター インスタンス (FCI) リスナーが拡張され、Windows Server フェールオーバー クラスター (WSFC) 分散ネットワーク名 (DNN) アクセス ポイントを使用できます。 KB4537868

SQL Server 2016 (13.x) SP3 に含まれるサポート性と診断に関連する改善点。

機能 説明 説明
メモリ内データベースでの CDC のサポート性と使いやすさの向上 メモリ内オンライン トランザクション処理 (OLTP) のアクセスが有効になっているデータベースでは、変更データ キャプチャ (CDC) 機能を有効にできません。 この改善により、メモリ内 OLTP とメモリ内オブジェクトを使用するデータベースで CDC を有効にできるようになります。 さらに、cdc_session XEvent がスキャン フェーズ情報を出力するように更新されました。 KB4500511
既定の XEvent トレース system_health でのサイズと保持ポリシーの増量 system_health XEvent セッションの現在の定義では、最大 20 MB の system_health XEvent データ用に、最大ファイル サイズが 5 メガバイト (MB) で、ファイルの最大数が 4 です。 アクティビティが多いシステムでは、この制限をすぐに超えてしまい、システムに影響を与える問題が発生した場合に重要な情報を見逃す可能性があります。 より多くのトラブルシューティング データをシステムで使用できるようにしておくため、この更新では、既定のファイル サイズが 5 MB から 100 MB に変更され、既定のファイル数が 4 から 10 に変更され、最大 1 GB の system_health XEvent データに対応するようになります。 既に system_health セッションの定義を既定値から変更している場合、この改善によって既存の設定が上書きされることはありません。 KB4541132
新しい XEvent である temp_table_cache_tracetemp_table_destroy_list_trace 一時テーブル キャッシュのメトリックと操作を追跡するため、2 つの新しい XEvent である temp_table_cache_tracetemp_table_destroy_list_trace が作成されます。

注: これらの XEvent により、一時オブジェクト キャッシュと呼ばれる特定のメタデータ キャッシュ オブジェクトが追跡され、これにはキャッシュ、削除、再利用された一時テーブル、オブジェクト、パラメーターに関する情報が含まれます。 tempdb キャッシュの競合が発生した場合は、XEvent を実行してキャッシュの動作をトレースできます。 これは、ほとんどのお客様は使用せず、CSS エンジニアが環境の問題をデバッグするのに役立ちます。
KB5003937
実行時間の長いバッファー プール スキャンのトラブルシューティングに役立つ新しいログと XEvent SQL Server での特定の操作により、バッファー プール (データベース ページをメモリに格納するキャッシュ) のスキャンがトリガーされます。 メモリの量が多い (1 TB 以上) システムでは、バッファー プールのスキャンに時間がかかり、スキャンをトリガーした操作が遅くなります。 これらの新しい XEvent は、実行時間の長いバッファー プール スキャンのトラブルシューティングに役立ちます。 大容量メモリのマシンで SQL Server のバッファー プールをスキャンする操作が遅い
SQL ライターの新しいログ形式 簡単に読んだり解析したりできる形式の追加のトラブルシューティング データと、ログの詳細さと有効化や無効化に関する強化された制御が提供されます。 SQL Server VSS Writer のログ記録
sql_statement_post_compile XEvent の追加 この拡張イベントは、クエリのコンパイルが完了するたびに発生します。 クエリのコンパイルが最初のコンパイルか再コンパイルか、クエリのコンパイルにかかった時間、使用された CPU 容量などの情報が提供されます。 KB4480630
extended_logical_checks を使用して破損した統計を検出できる 統計が破損した場合、統計の破損に関する情報が含まれない非常に汎用的なメッセージがスローされる可能性があります。 さらに、CHECKDB で破損した統計が報告されないことがあります。 この改善により、DBCC CHECKDB の一部として extended_logical_checks を使用して、破損した統計を検出できます。 KB4530907
XEvent query_plan_profile の正確性の向上 XEvent query_plan_profile によって報告される CPU の時間と期間が、いっそう正確になります。 軽量クエリ実行統計プロファイリング インフラストラクチャ v2

既知の問題

このセクションでは、SQL Server 2016 (13.x) SP3 を適用した後で発生する可能性がある問題を示します。

特定のアルゴリズム、ストリーミング、またはパーティション分割を使用する R サービス

  • 問題: RegisterRext.exe /configure または SP3 スリップストリーム インストールにより構成されたランタイム アップグレードで、SQL Server 2016 (13.x) に次の制限事項が適用される。 この問題は Enterprise Edition に適用されます。

    • 並列処理: シナリオの RevoScaleRMicrosoftML のアルゴリズム スレッド並列処理は、最大 2 つのスレッドに制限されます。
    • ストリーミングとパーティション分割: T-SQL sp_execute_external_script に渡される @r_rowsPerRead パラメーターを含むシナリオは適用されません。
    • ストリーミングとパーティション分割: RevoScaleRMicrosoftML のデータ ソース (つまり、ODBCXDF) では、トレーニングまたはスコアリングのシナリオで行をチャンク単位で読み取る機能はサポートされていません。 これらのシナリオでは、常に計算のためにすべてのデータをメモリに取り込み、操作はメモリにバインドされます
  • 解決策: 最善の解決策は、SQL Server 2019 (15.x) にアップグレードする方法です。 または、後続のタスクを完了した後、SQL Server 2016 (13.x) SP3 を引き続き使用することもできます。

    1. レジストリを編集して Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\150 キーを作成し、値 SharedCode をデータ C:\Program Files\Microsoft SQL Server\150\Shared またはインスタンスに構成された共有ディレクトリに追加します。

    2. フォルダー C:\Program Files\Microsoft SQL Server\130\Shared からフォルダー C:\Program Files\Microsoft SQL Server\150\Shared and copy instapi130.dll を作成して新しくフォルダーを作成します。

    3. 新しいフォルダー C:\Program Files\Microsoft SQL Server\150\Sharedinstapi130.dll の名前を instapi150.dll に変更します。

重要

上記の手順を実行する場合は、新しいバージョンの SQL Server にアップグレードする前に、追加されたキーを手動で削除する必要があります。

詳細については、「SQL Server 2016 で R ランタイム バージョンを変更する」を参照してください。

Change Tracking のクリーンアップ エラー

  • 問題: 次のエラー メッセージは、Change Tracking クリーンアップ ストアド プロシージャ sp_flush_commit_table_on_demand または sp_flush_CT_internal_table_on_demand を実行した後に発生します。
Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line <LineNumber>
Error converting data type numeric to int.

詳細については、KB5007039 を参照してください。

R スクリプトの失敗

  • 問題: SP3 をインストールすると、R スクリプトの実行が失敗します。 R スクリプトは次のようなエラーで失敗します。

    Error: executable command line exceeds the 2047 characters limit.

  • 解決策: Microsoft MPI v7 をアンインストールします。 Microsoft MPI v10 をインストールします。 詳細については、「Microsoft MPI」を参照してください。

SP3 の削除に関する問題

  • 問題: SP3 を削除すると、Launchpad によって使用されている SQLRUserGroup の 20 個のユーザー アカウントが削除されます。 sp_execute_external_script を実行すると、次のエラーが発生します。

    Unable to launch the runtime. ErrorCode 0x80070718: 1816(Not enough quota is available to process this command.).
    
  • 解決策: 修復を実行します。 例:

    setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>  
    

    詳細については、「失敗した SQL Server のインストールの修復」を参照してください。

SysPrep を使用して SP3 をインストールする

  • 問題: SysPrep を使用して拡張機能付きで SP3 をインストールすると、拡張フレームワークの SP3 バージョンが SysPrep によって正しくインストールされません。 代わりに、一部のバイナリが見つからないか、正しくなくなります。 たとえば、R ランタイム 3.5.2 がありません。

  • 解決策: イメージの完了後に修復を実行します。 例:

    setup.exe /q /ACTION=Repair /INSTANCENAME=<instancename>  
    

    詳細については、「失敗した SQL Server のインストールの修復」を参照してください。

SQL Server 2016 Service Pack 2 (SP2)

SQL Server 2016 (13.x) SP2 には、SQL Server 2016 (13.x) SP1 より後にリリースされた、CU8 まで (CU8 を含む) の累積的な更新プログラムがすべて含まれています。

SQL Server 2016 (13.x) SP2 のインストールでは、インストール後に再起動が必要な場合があります。 ベスト プラクティスとして、SQL Server 2016 (13.x) SP2 のインストール後の再起動を計画して実行することをお勧めします。

SQL Server 2016 (13.x) SP2 にはパフォーマンスとスケールに関連する改善が含まれています。

機能 説明 詳細情報
ディストリビューション DB のクリーンアップ プロシージャの向上 サイズ超過のディストリビューション データベース テーブルにより、ブロックとデッドロックの状況が発生していました。 クリーンアップ プロシージャの向上は、これらのブロックまたはデッドロックのシナリオの一部を排除することを目的としています。 KB4040276
変更の追跡のクリーンアップ 変更の追跡のクリーンアップ パフォーマンスと、変更の追跡のサイド テーブルの効率性が向上しました。 KB4052129
CPU のタイムアウトを使用したリソース ガバナーの要求の取り消し 要求の CPU しきい値に達した場合に実際に要求を取り消すことで、クエリ要求の処理が改善されます。 この動作は、トレース フラグ 2422 で有効です。 KB4038419
SELECT INTO によるファイル グループへのターゲット テーブルの作成 SQL Server 2016 (13.x) SP2 以降では、SELECT INTO の T-SQL 構文で ON <ファイルグループ名> キーワードを使用して、ユーザーの既定のファイル グループ以外のファイル グループにテーブルを読み込むことができるようになりました。
TempDB の間接チェックポイントの改善 DPLists のスピンロックの競合を最小限に抑えるため、TempDB の間接チェックポイント処理が改善しました。 この機能強化により、TempDB の間接チェックポイント処理が ON になっている場合に、SQL Server 2016 (13.x) の TempDB ワークロードが自由にスケールアウトできるようになります。 KB4040276
大容量メモリのコンピューターでのデータベース バックアップ パフォーマンスの改善 SQL Server 2016 (13.x) SP2 ではバックアップ中に進行している I/O のドレイン方法が最適化されるため、中小規模のデータベースのバックアップ パフォーマンスが大幅に改善されています。 2TB のコンピューターでシステム データベースのバックアップを実行した場合の改善度は、以前の 100 倍という結果が出ています。 バックアップするページが増加してデータベースのサイズが大きくなり、バッファー プールを繰り返す場合と比べ、バックアップ IO の時間が長くなると、バッファー プールのパフォーマンスの向上の幅が小さくなります。 この変更により、大容量メモリ搭載の大規模なハイ エンドサーバーで複数の小規模データベースをホストしている顧客のバックアップ パフォーマンスが改善します。
TDE が有効なデータベースでの VDI バックアップの圧縮のサポート SQL Server 2016 (13.x) SP2 では、VDI バックアップ ソリューションが TDE が有効なデータベースで圧縮を利用できるようにする、VDI サポートが追加されています。 この改善により、TDE が有効なデータベースでバックアップの圧縮をサポートするための新しいバックアップ形式が導入されました。 SQL Server エンジンは、バックアップを復元するための新旧のバックアップ形式を透過的に処理します。
レプリケーション エージェント プロファイルのパラメーターの動的な読み込み この新しい機能強化により、エージェントを再起動しなくてもレプリケーション エージェントのパラメーターが動的に読み込まれるようになります。 この変更は、特に一般的に使用されるエージェント プロファイルのパラメーターにのみ適用されます。
統計の作成/更新のための MAXDOP オプションのサポート この機能強化により、CREATE/UPDATE の STATISTICS ステートメントに MAXDOP オプションを指定できるだけでなく、作成または再構築の一環として統計が更新される場合にすべての型のインデックスで正しい MAXDOP 設定が使用されるようになります (MAXDOP オプションが存在する場合) KB4041809
増分統計の自動更新の改善 特定のシナリオでは、増分統計の合計変更数が自動更新のしきい値を超え、それでいて個々のパーティションのいずれもが自動更新のしきい値を超えないようにテーブルの複数のパーティションで多数のデータ変更が行われた場合、統計更新はテーブルでより多くの変更が行われるまで遅延する場合があります。 この動作は、トレース フラグ 11024 で修正されました。

SQL Server 2016 (13.x) SP2 に含まれるサポート性と診断に関連する改善点。

機能 説明 詳細情報
可用性グループ内のデータベースでの完全な DTC サポート 可用性グループの一部であるデータベースでの複数データベース間トランザクションは現在 SQL Server 2016 (13.x) でサポートされていません。 SQL Server 2016 (13.x) SP2 では、可用性グループ データベースでの分散トランザクションの完全なサポートを導入しています。
TempDB の暗号化の状態を正確に反映するための sys.database の is_encrypted 列の更新 すべてのユーザー データベースの暗号化をオフにし、SQL Server を再起動した後でも、TempDB の sys.databases の is_encrypted 列の値は 1 です。 この状況では TempDB が暗号化されないため、この値が 0 になることが予想されます。 SQL Server 2016 (13.x) SP2 以降では、sys.databases.is_encrypted で TempDB の暗号化の状態が正確に反映されます。
検証済みのクローンとバックアップを生成するための新しい DBCC CLONEDATABASE オプション SQL Server 2016 (13.x) SP2 では、DBCC CLONEDATABASE によって、検証済みのクローンの作成、またはバックアップ クローンの作成という 2 つのオプションを使用できるようになります。 WITH VERIFY_CLONEDB オプションによってクローン データベースが作成されると、実稼働環境で Microsoft によってサポートされる一貫性のあるデータベース クローンが作成され、検証されます。 クローンが検証されるかどうかを検証する新しいプロパティ SELECT DATABASEPROPERTYEX('clone_database_name', 'IsVerifiedClone') が導入されています。 クローンが BACKUP_CLONEDB オプションで作成されると、顧客が簡単にクローンを別のサーバーに移動したり、トラブルシューティングのために Microsoft カスタマー サポート (CSS) に送信したりできるように、データ ファイルと同じフォルダーにバックアップが生成されます。
DBCC CLONEDATABASE の Service Broker (SSB) のサポート SSB オブジェクトのスクリプト作成を許可するように、DBCC CLONEDATABASE コマンドが拡張されました。
TempDB のバージョン ストア領域の使用量を監視する新しい DMV TempDB のバージョン ストア使用量の監視が可能になるように、SQL Server 2016 (13.x) SP2 に新しい sys.dm_tran_version_store_space_usage の DMV が導入されました。 運用サーバーでの実行時にパフォーマンスのオーバーヘッドを発生させることなく、データベースごとのバージョン ストア使用量の要件に基づいて DBA で TempDB のサイズを事前に計画できるようになりました。
レプリケーション エージェントの完全なダンプのサポート 現在は、レプリケーション エージェントがハンドルされない例外に遭遇すると、既定により例外の現象のミニ ダンプが作成されます。 これにより、未処理の例外の問題のトラブルシューティングが非常に難しくなっています。 今回の変更では新しいレジストリ キーが導入され、レプリケーション エージェントの完全なダンプが作成できるようになっています。
可用性グループのルーティング読み取りエラーの拡張イベントの機能強化 以前は、ルーティング リストが存在する場合、read_only_rout_fail の xEvent が起動していましたが、ルーティング リストのどのサーバーも、接続に使用できませんでした。 SQL Server 2016 (13.x) SP2 には、トラブルシューティングに役立つ追加情報と、xEvent が起動するコード ポイントの拡張も含まれます。
トランザクション ログを監視する新しい DMV 概要レベルの属性とデータベースのトランザクション ログ ファイルに関する情報を返す新しい DMV sys.dm_db_log_stats を追加しました。
VLF 情報を監視するための新しい DMV 顧客が遭遇する可能性のある T-Log の問題を監視し、警告し、回避するための、DBCC LOGINFO に似た VLF 情報を公開する新しい DMV、sys.dm_db_log_info が SQL Server 2016 (13.x) SP2 に導入されました。
sys.dm_os_sys_info のプロセッサ情報 socket_count や cores_per_numa などのプロセッサ関連情報を公開する新しい列が sys.dm_os_sys_info の DMV に追加されています。
sys.dm_db_file_space_usage のエクステントの変更情報 前回の完全バックアップから変更されたエクステントの数を追跡する新しい列が sys.dm_db_file_space_usage に追加されました。
sys.dm_exec_query_stats のセグメント情報 total_columnstore_segment_reads、total_columnstore_segment_skips などの、スキップされた列ストア セグメントや読み取られた列ストア セグメントの数を追跡する新しい列が sys.dm_exec_query_stats に追加されました。 KB4051358
ディストリビューション データベースの正しい互換性レベルの設定 Service Pack をインストールすると、ディストリビューション データベースの互換性レベルが 90 に変更されます。 これは、sp_vupgrade_replication ストアド プロシージャのコード パスが原因でした。 SP はディストリビューション データベースに正しい互換性レベルが設定されるように変更されています。
最後に確認された適切な DBCC CHECKDB 情報の公開 最後に成功した DBCC CHECKDB 実行の日付がプログラムで自動的に返されるように、新しいデータベースのオプションが追加されました。 ユーザーはクエリ DATABASEPROPERTYEX([database], 'lastgoodcheckdbtime') を実行することで、指定したデータベースで最後に成功した DBCC CHECKDB 実行の日時を表す単一の値を取得することができます。
Showplan XML の機能強化 統計名、変更数、サンプリングの割合、統計の最終更新日時を含む、クエリ プランのコンパイルに使用された統計に関する情報。 これは CE モデル 120 以降でのみ追加されます。 たとえば、CE 70 ではサポートされません。
クエリ オプティマイザーが "row goal" のロジックを使用する場合、新しい属性 EstimateRowsWithoutRowgoal が Showplan XML に追加されます。
実際の Showplan XML には、スカラー ユーザー定義関数 (UDF) に費やされた時間を追跡する新しいランタイム属性 UdfCpuTime と UdfElapsedTime が追加されています。
実際の Showplan XML には待機の種類 CXPACKET が考えられる上位 10 の待機リストに追加されています。クエリの並列実行には頻繁に CXPACKET の待機が含まれますが、この種類の待機は実際の Showplan XML では報告されませんでした。
並列処理の演算子の書き込み中に TempDB に書き込まれたページ数を報告するためのランタイム書き込み警告が拡張されました。
補助的な文字の照合を使用するデータベースのレプリケーションのサポート 補助的な文字の照合を使用するデータベースでレプリケーションがサポートされるようになりました。
可用性グループのフェールオーバーを使用した Service Broker の適切な処理 現在の実装では、可用性グループのデータベースで Service Broker が有効になっていると、プライマリ レプリカで開始されたすべての Service Broker の接続は、AG フェールオーバー中に開いたままになります。 この機能強化は、AG フェールオーバー中、これらの開いたままの接続をすべて閉じることを目的としています。
並列処理の待機のトラブルシューティングの改善 新しい CXCONSUMER の待機が追加されたためです。
同じ情報の DMV 間での一貫性が改善 sys.dm_exec_session_wait_stats の DMV と sys.dm_os_wait_stats の DMV の間で、CXPACKET と CXCONSUMER の待機の追跡が一貫して行われるようになりました。
クエリ内並列処理のデッドロックのトラブルシューティングの向上 新しい exchange_spill の拡張イベントによって、xEvent のフィールド名 worktable_physical_writes での並列処理演算子の書き込み中に TempDB に書き込まれたページ数が報告されます。
sys.dm_exec_query_stats、sys.dm_exec_procedure_stats、sys.dm_exec_trigger_stats の各 DMV への書き込み列 (total_spills など) に並列処理演算子によって書き込まれたデータも含まれるようになりました。
並列処理のデッドロック シナリオで exchangeEvent リソースに属性が追加されたことで、XML デッドロック グラフが改善されました。
バッチモード演算子を伴うデッドロックで SyncPoint リソースに属性が追加されたことで、XML デッドロック グラフが改善されました。
一部のレプリケーション エージェント プロファイルのパラメーターの動的な読み込み レプリケーション エージェントの現在の実装では、エージェント プロファイル パラメーターの変更には、必ずエージェントの停止と再起動が必要です。 この機能強化により、レプリケーション エージェントを再起動しなくてもパラメーターが動的に再読み込みされるようになりました。

SQL Server 2016 Service Pack 1 (SP1)

SQL Server 2016 (13.x) SP1 には、SQL Server 2016 (13.x) RTM CU3 までの累積的な更新プログラムがすべて含まれ、セキュリティ更新プログラム MS16-136 も含まれます。 2016 年 11 月 8 日にリリースされた最新の累積的な更新プログラム CU3 とセキュリティ更新プログラム MS16-136 までを含む、SQL Server 2016 (13.x) の累積的な更新プログラムで提供された解決策のロールアップが含まれています。

次の機能は、SQL Server 2016 (13.x) SP1 の Standard、Web、Express、および Local DB エディションで使用できます (注記されている例外を除きます)。

  • Always Encrypted
  • 変更データ キャプチャ (Express では使用できません)
  • 列ストア
  • 圧縮
  • 動的データ マスク
  • 詳細な監査
  • インメモリ OLTP (Local DB では使用できません)
  • 複数の filestream コンテナー (Local DB では使用できません)
  • パーティション分割
  • PolyBase
  • 行レベルのセキュリティ

次の表は、SQL Server 2016 (13.x) SP1 で提供される主要な機能強化をまとめたものです。

機能 説明 詳細情報
TF 715 での自動 TABLOCK によるヒープへの一括挿入 トレース フラグ 715 は、非クラスター化インデックスのないヒープへの一括読み込み操作用に、テーブル ロックを有効にします。 SAP ワークロードを SQL Server に 2.5 倍の速さで移行する
CREATE または ALTER ストアド プロシージャ、トリガー、ユーザー定義関数、ビューなどのオブジェクトを展開します。 SQL Server データベース エンジンのブログ
DROP TABLE によるレプリケーションのサポート レプリケーションに対する DROP TABLE DDL のサポートにより、レプリケーション アーティクルを削除できます。 KB 3170123
Filestream RsFx ドライバーの署名 Windows ハードウェア デベロッパー センター ダッシュボード ポータル (開発ポータル) を使って Filestream RsFx ドライバーに署名して認定することで、SQL Server 2016 (13.x) SP1 Filestream RsFx ドライバーを Windows Server 2016/Windows 10 に問題なくインストールできます。 SAP ワークロードを SQL Server に 2.5 倍の速さで移行する
SQL サービス アカウントに対する LPIM - プログラムでの識別 DBA は、サービスの開始時に Lock Pages in Memory (LPIM) 特権が有効になっているかどうかをプログラムで識別できます。 開発者の選択:SQL Server の LPIM および IFI 特権をプログラムで識別する
変更の追跡の手動クリーンアップ 新しいストアド プロシージャは、必要に応じて変更の追跡の内部テーブルをクリーンアップします。 KB 3173157
ローカル一時テーブルの並列 INSERT..SELECT の変更 INSERT..SELECT 操作での新しい並列 INSERT。 SQL Server Customer Advisory Team
Showplan XML クエリに対する許可の警告と最大メモリの有効化、トレース フラグの有効化、他の診断情報の表示など、診断機能の強化。 KB 3190761
ストレージ クラス メモリ Windows Server 2016 でストレージ クラス メモリを使ってトランザクション処理を支援することで、トランザクションのコミット時間が桁違いに高速化します。 SQL Server データベース エンジンのブログ
USE HINT クエリ オプションを OPTION(USE HINT('<option>')) を使って、サポートされているクエリ レベルのヒントを使うクエリ オプティマイザーの動作を変更します。 QUERYTRACEON とは異なり、USE HINT オプションでは sysadmin 特権は必要ありません。 開発者の選択:USE HINT クエリ ヒント
XEvent の追加 新しい Xevent および Perfmon 診断機能により、待機時間のトラブルシューティングが向上します。 拡張イベント

さらに、次の修正に注意してください。

  • DBA と SQL コミュニティからのフィードバックに基づき、SQL 2016 SP1 以降では Hekaton のログ メッセージが最小限に減ります。
  • 新しいトレース フラグを確認してください。
  • SQL Server 2016 (13.x) SP1 以降では、WideWorldImporters サンプル データベースの完全バージョンが Standard Edition と Express Edition で動作するようになります。このサンプルは、GitHub から入手できます。 サンプルを変更する必要はありません。 Enterprise Edition 用に RTM で作成されたデータベース バックアップが、SP1 の Standard と Express で動作します。

SQL Server 2016 (13.x) SP1 のインストールでは、インストール後に再起動が必要な場合があります。 ベスト プラクティスとして、SQL Server 2016 (13.x) SP1 のインストール後の再起動を計画して実行することをお勧めします。

ダウンロード ページと詳細情報

SQL Server 2016 Release - 一般公開 (GA)

repl_icon_warn 修正プログラムのインストールの要件 (GA)

問題およびユーザーへの影響: SQL Server 2016 の前提条件としてインストールされる Microsoft VC++ 2013 ランタイム バイナリに影響を与える問題が見つかりました。 更新プログラムを利用してこの問題を修正できます。 VC ランタイム バイナリに対するこの更新プログラムをインストールしないと、特定のシナリオにおいて、SQL Server 2016 で安定性の問題が発生する可能性があります。 SQL Server 2016 をインストールする前に、KB 3164398 で説明されている修正プログラムがコンピューターに必要かどうかを確認してください。 修正プログラムは、SQL Server 2016 RTM の累積的な更新プログラム パッケージ 1 (CU1) にも含まれています。

解決策: 次のいずれかのソリューションを使用します。

  • KB 3138367 - 2013 の Visual C++ および Visual C++ の再頒布可能パッケージ用の更新プログラムをインストールします。 KB は推奨される解決方法です。 このインストールは、SQL Server 2016 (13.x) のインストールの前でも後でも実行できます。

    SQL Server 2016 (13.x) が既にインストール済みの場合は、次の順序で手順を実行します。

    1. 該当する vcredist_*exe をダウンロードします。
    2. データベース エンジンのすべてのインスタンスで SQL Server サービスを停止します。
    3. KB 3138367をインストールします。
    4. コンピューターを再起動します。
  • KB 3164398 - SQL Server 2016 MSVCRT の必須コンポーネントの重要な更新プログラムをインストールします。

    KB 3164398を使用する場合、SQL Server のインストール中、Microsoft Update の実行時、または Microsoft ダウンロード センターからインストールできます。

    • SQL Server 2016 (13.x) のインストール中: SQL Server セットアップを実行するコンピューターからインターネットにアクセスできる場合、SQL Server セットアップにより、SQL Server インストール全体の一部として更新プログラムが調べられます。 更新を承認すると、インストール中にセットアップによりバイナリがダウンロードされて更新されます。

    • Microsoft Update: Microsoft Update から、セキュリティに関連しない重要な SQL Server 2016 (13.x) 更新プログラムとしてこの更新プログラムを入手できます。 SQL Server 2016 (13.x) のインストール後に Microsoft Update を使用してインストールした場合には、更新後にサーバーの再起動が必要になります。

    • ダウンロード センター: 最後に、Microsoft ダウンロード センターから更新プログラムをダウンロードできます。 更新用のソフトウェアをダウンロードして、SQL Server 2016 (13.x) がインストール済みのサーバーにインストールできます。

Stretch Database

データベースやテーブルの名前に特定の文字が使用される場合の問題

問題およびユーザーへの影響: データベースまたはテーブルで Stretch Database を有効にしようとすると、エラーが発生して失敗します。 この問題は、オブジェクトの名前に、小文字から大文字に変換されるときに別の文字として扱われる文字が含まれている場合に発生します。 この問題が発生する文字の例には、"ƒ" 文字 (ALT+159 を入力すると作成される) があります。

対処法: データベースかテーブルに対して Stretch Database を有効にするには、オブジェクトの名前を変更して問題の文字を削除するオプションしかありません。

INCLUDE キーワードを使用するインデックスの問題

問題およびユーザーへの影響: テーブルに対して Stretch Database を有効にしようとする場合に、INCLUDE キーワードを使用して追加の列を組み込んでいるインデックスがそのテーブルにあると、エラーが発生して失敗します。

対処法: INCLUDE キーワードを使用しているインデックスを削除し、そのテーブルに対して Stretch Database を有効にしてから、インデックスを再作成します。 その場合には、組織のメンテナンスのプラクティスやポリシーに従っているか確認して、影響を受けるテーブルのユーザーに対する反響をなくすか最小限に抑えるようにしてください。

クエリ ストア

Enterprise や Developer 以外のエディションでのデータの自動クリーンアップに関する問題

問題およびユーザーへの影響: Enterprise や Developer 以外のエディションでデータの自動クリーンアップが失敗します。 その結果、データを手動で消去しないと、クエリ ストアに使用される領域は構成済みの制限に達するまで時間の経過と共に増えます。 この問題を回避しないと、エラー ログ用に割り当てられたディスク領域もいっぱいになります。クリーンアップを実行しようとするたびにダンプ ファイルが生成されるからです。 クリーンアップをアクティブ化する期間はワークロードの頻度に応じて異なりますが、15 分以内です。

対処法: Enterprise や Developer 以外のエディションでクエリ ストアを使用する計画の場合は、クリーンアップのポリシーを明示的にオフにする必要があります。 この作業は、SQL Server Management Studio ([データベースのプロパティ] ページ) から行うか、Transact SQL スクリプトを使用して行うことができます。

ALTER DATABASE <database name> SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 0), SIZE_BASED_CLEANUP_MODE = OFF)

また、クエリ ストアが読み取り専用モードに移行しないように、手動クリーンアップのオプションを検討してください。 たとえば、次のクエリを実行して、データ領域全体を定期的にクリーンアップします。

ALTER DATABASE <database name> SET QUERY_STORE CLEAR

また、次のクエリ ストアのストアド プロシージャを定期的に実行して、ランタイム統計、特定のクエリ、または計画をクリーンアップします。

  • sp_query_store_reset_exec_stats

  • sp_query_store_remove_plan

  • sp_query_store_remove_query

製品ドキュメント (GA)

問題およびユーザーへの影響: SQL Server 2016 (13.x) のドキュメントのダウンロード可能なバージョンはまだありません。 ヘルプ ライブラリ マネージャーを使って オンラインからコンテンツをインストールしようとすると、SQL Server 2012 および SQL Sever 2014 のドキュメントは表示されますが、SQL Server 2016 (13.x) のドキュメントのオプションはありません。

対処法: 次のいずれかの回避策を使用してください。

Manage Help Settings for SQL Server

  • [オンラインまたはローカル ヘルプの選択] オプションを使用し、[オンライン ヘルプを使用する] にヘルプを構成します。

  • [オンラインからコンテンツをインストール] オプションを使用し、SQL Server 2014 のコンテンツをダウンロードします。

F1 ヘルプ: 仕様上、SQL Server Management Studio で F1 キーを押すと、ブラウザーでオンライン バージョンの F1 ヘルプ記事が表示されます。 この問題は、ブラウザー ベースのヘルプで、ローカル ヘルプのインストールを構成した場合でも発生します。

コンテンツの更新: SQL Server Management Studio と Visual Studio では、ドキュメントの追加プロセス中に、ヘルプ ビューアーのアプリケーションが応答を停止することがあります。 この問題を解決するには、次の手順を実行します。 この問題の詳細については、「 Visual Studio ヘルプ ビューアーがフリーズする」を参照してください。

  • メモ帳で %LOCALAPPDATA%\Microsoft\HelpViewer2.2\HlpViewer_SSMS16_en-US.settings | HlpViewer_VisualStudio14_en-US.settings ファイルを開き、次のコード内の日付を将来の日付に変更します。
     Cache LastRefreshed="12/31/2017 00:00:00"

追加情報

ヘルプの参照

SQL ドキュメントへの投稿

SQL コンテンツを自分で編集できることはご存じですか。 これにより、ドキュメントが改善されるだけでなく、ページの共同作成者としてもクレジットされます。

詳細については、「SQL Server のドキュメントに投稿する方法」を参照してください。

MS_Logo_X-Small