SQL Server 2014 の新機能
このトピックでは、SQL Server 2014 の新機能への詳細なリンクと、SQL Server 2014 のサービス パックの概要を示します
試してみる: Azure アカウントを持っていますか? https://ms.portal.azure.com/?flight=1#create/Microsoft.SQLServer2014sp1EnterpriseWindowsServer2012R2に移動して、SQL Server 2014 Service Pack 1 (SP1) が既にインストールされている仮想マシンを起動します。
ヒント
SQL Server 2014 のホーム ドキュメント ページについては ここをクリックしてください。
新機能に関する記事
SQL Server 2014 では、次の機能に重要な新機能は導入されていません。
SQL Server 2014 Service Pack 1 (SP1)
SQL Server 2014 (SP1) では、重要な新機能は導入されませんでした。
SQL Server 2014 Service Pack 2 (SP2)
- SQL Server 2014 Service Pack 2 のリリース情報。
- Microsoft SQL Server 2014 用 Service Pack 2 をダウンロード。
- SQL Server 2014 SP2 Feature Pack をダウンロード。
SQL Server 2014 (SP2) には、次の機能強化が含まれています。
パフォーマンスとスケーラビリティの向上
- 自動ソフト NUMA パーティション分割: SQL Server 2014 SP2 を使用すると、インスタンスの起動時にトレース フラグ 8079 が有効になっている場合に、自動ソフト NUMA が有効になります。 起動時にトレース フラグ 8079 が有効になっている場合、SQL Server 2014 SP2 はハードウェア レイアウトを調べ、NUMA ノードごとに 8 つ以上の CPU を報告するシステムでソフト NUMA を自動的に構成します。 ソフト NUMA の自動動作は、ハイパースレッド (HT/論理プロセッサ) に対応しています。 パーティション分割と追加ノードの作成により、リスナーの数の増加、スケーリング、およびネットワークと暗号化機能の向上により、バックグラウンド処理が拡張されます。 運用環境でチューニングする前に、まず Auto-Soft NUMA でパフォーマンス ワークロードをテストすることをお勧めします。 詳細については、ブログを参照してください。
- 動的メモリ オブジェクトのスケーリング: SQL Server 2014 SP2 は、最新のハードウェアでスケーリングするノードとコアの数に基づいてメモリ オブジェクトを動的にパーティション分割します。 動的昇格の目的は、スレッド セーフ メモリ オブジェクト (CMEMTHREAD) がボトルネックになった場合に自動的にパーティション分割することです。 パーティション分割されていないメモリ オブジェクトは、ノードごとに動的にパーティション分割できます (パーティションの数は NUMA ノードの数と同じです)。 ノードによってパーティション分割されたメモリ オブジェクトは、CPU によってさらにパーティション分割できます (パーティションの数は CPU の数と同じです)。 詳細については、ブログを参照してください。
- DBCC CHECK* コマンドの MAXDOP ヒント: この改善は、 connect フィードバック (468694)に対処します。 sp_configure値以外の MAXDOP 設定で DBCC CHECKDB を実行できるようになりました。 MAXDOP では、Resource Governor で構成されている値を超えると、データベース エンジンは、「WORKLOAD GROUP (Transact-SQL)」に記載のリソース ガバナーの MAXDOP 値を使用します。 MAXDOP クエリ ヒントを使用している場合は、max degree of parallelism 構成オプションで使用されるすべての意味ルールを適用できます。 詳細については、「DBCC CHECKDB (Transact-SQL)」を参照してください。
- バッファー プール> 8 TB を有効にする:
SQL Server 2014 SP2 では、バッファー プールを使用するために 128 TB の仮想アドレス空間が有効になります。 この機能強化により、SQL Server バッファー プールは最新のハードウェアで 8 TB を超えてスケーリングできます。 - SOS_RWLockスピンロックの改善: SOS_RWLockは、SQL Server コード ベース全体のさまざまな場所で使用される同期プリミティブです。 名前が示すように、コードは複数の共有 (リーダー) または単一 (ライター) の所有権を持つことができます。 この改善により、SOS_RWLockのスピンロックが不要になり、代わりにインメモリ OLTP と同様のロックフリー手法が使用されます。 この変更により、多くのスレッドは、相互にブロックすることなく、SOS_RWLockによって保護されたデータ構造を並列で読み取ることができます。 この並列化により、スケーラビリティが向上します。 この変更の前に、スピンロックの実装では、データ構造を読み取る場合でも、一度に 1 つのスレッドのみがSOS_RWLockを取得することができました。 詳細については、ブログを参照してください。
- 空間ネイティブ実装: ネイティブ実装により、SQL Server 2014 SP2 で空間クエリのパフォーマンスが大幅に向上しました。 詳細については、サポート情報記事KB3107399を参照してください。
サポート性と診断の機能強化
- データベースの複製: データベースの複製は、データなしでスキーマとメタデータを複製することで、既存の運用データベースのトラブルシューティングを強化する新しい DBCC コマンドです。 複製はコマンド
DBCC clonedatabase('source_database_name', 'clone_database_name')
を使用して作成されます。 注: 複製されたデータベースは運用環境では使用しないでください。 次のコマンドを使用して、複製されたデータベースからデータベースが生成されたかどうかを確認します:select DATABASEPROPERTYEX('clonedb', 'isClone')
。 戻り値 1 は、データベースが clonedatabase から作成され、 0 が複製ではないことを示します。 - Tempdb supportability: 起動時に tempdb ファイルの数と tempdb データ ファイルのサイズと自動拡張の両方を示す新しいエラー ログ メッセージ。
- データベースのファイルの瞬時初期化ログ: サーバーの起動時に、データベースの瞬時ファイルの初期化 (有効/無効) の状態を示す新しいエラー ログ メッセージ。
- callstack: 拡張イベント (XEvent) 呼び出し履歴のモジュール名に、絶対アドレスではなく、モジュール名とオフセットが含まれるようになりました。
- 増分統計の新しい DMF: この改善により、パーティション レベルでの増分統計の追跡を有効にする 接続フィードバック (797156) に対処します。 増分統計のパーティションごとの情報を公開するために、新しい DMF sys.dm_db_incremental_stats_propertiesが導入されました。
- Index Usage DMV の動作が更新されました: この 改善により、インデックスを再構築そのインデックスのsys.dm_db_index_usage_statsから既存の行エントリがクリアされないお客様からのフィードバック (739566) を接続できます。 この動作は、SQL 2008 および SQL Server 2016 と同じになります。 詳細については、ブログを参照してください。
- 診断 XE と DMV の間の相関関係が改善されました: この改善は、 接続フィードバック (1934583)に対応します。
Query_hash
およびquery_plan_hash
は、クエリを一意に識別するために使用されます。 DMV はこれらを varbinary(8) として定義するのに対し、XEvent は UINT64 として定義します。 SQL Server には "unsigned bigint" がないため、キャストが常に機能するとは限りません。 この機能強化により、新しい XEvent アクションとフィルター列が導入されました。 列は、INT64 として定義されている点を除き、query_hash
とquery_plan_hash
と同じです。 INT64 定義は、XE と DMV の間でクエリを関連付けるのに役立ちます。 - BULK INSERT および BCP: での UTF-8 のサポートこの機能強化は、 connect フィードバック (370419)に対処します。 BULK INSERT と BCP で、UTF-8 文字セットでエンコードされたデータをエクスポートまたはインポートできるようになりました。
- オペレーターごとのクエリ実行の軽量プロファイリング:プラン表示 プラン内の各オペレーターのコストに関する情報が提供されます。 ただし、実際の実行時統計は、CPU、I/O 読み取り、スレッドごとの経過時間などの制限があります。 SQL Server 2014 SP2 では、Showplan で演算子ごとにこれらの追加のランタイム統計が導入されています。 R2 には、クエリ パフォーマンスのトラブルシューティングを支援するために、
query_thread_profile
という名前の XEvent も導入されています。 詳細については、ブログを参照してください。 - 変更の追跡のクリーンアップ: 変更追跡の内部テーブルを必要に応じて消去するために、新しいストアド プロシージャ
sp_flush_CT_internal_table_on_demand
が導入されました。 - AlwaysON リース タイムアウト ログ 現在の時刻と予想される更新時刻がログに記録されるように、リース タイムアウト メッセージの新しいログ機能が追加されました。 また、タイムアウトに関する新しいメッセージが SQL エラー ログに導入されました。 詳細については、ブログを参照してください。
- SQL Server で入力バッファーを取得するための新しい DMF: セッション/要求 (sys.dm_exec_input_buffer) の入力バッファーを取得するための新しい DMF が使用可能になりました。 この DMF は、機能的には DBCC INPUTBUFFER と同等です。 詳細については、ブログを参照してください。
- 過小評価および過大なメモリ許可の軽減: MIN_GRANT_PERCENTとMAX_GRANT_PERCENTを通じて Resource Governor の新しいクエリ ヒントを追加しました。 この新しいクエリを使用すると、メモリの競合を防ぐためにメモリ許可を制限することで、クエリの実行中にこれらのヒントを活用できます。 詳細については、サポート情報記事のKB310740を参照してください。
- メモリの許可と使用状況の診断の向上: SQL Server のトレース機能の一覧に
query_memory_grant_usage
という名前の新しい拡張イベントが追加されました。 このイベントは、要求されたメモリ許可と許可されたメモリ許可を追跡します。 このイベントにより、メモリ許可に関連するクエリ実行の問題をトラブルシューティングするための優れたトレースと分析機能が提供されます。 詳細については、記事KB3107173サポート情報参照してください。 - tempdb spill:- ハッシュ警告と並べ替えの警告に対するクエリ実行診断に、物理 I/O 統計、使用されているメモリ、影響を受ける行を追跡するための列が追加されました。 また、新しいhash_spill_details拡張イベントも導入しました。 ハッシュと並べ替えの警告に関するより詳細な情報を追跡できるようになりました (KB3107172)。 この機能強化は、XML クエリ プランを通じて、SpillToTempDbType 複合型 (KB3107400) に対する新しい属性の形式で公開されるようになりました。 統計
ON
設定すると、並べ替え作業可能な統計が表示されるようになりました。 - 残差述語のプッシュダウンを伴うクエリ実行プランの診断が改善されました: 読み取られた実際の行がクエリ実行プランで報告されるようになりました。これにより、クエリパフォーマンスのトラブルシューティングが向上します。 これらの行は、SET STATISTICS IO を個別にキャプチャする必要性を否定します。 これらの行を使用すると、クエリ プラン内の残余述語のプッシュダウンに関連する情報を表示することもできます。 詳細については、記事KB3107397サポート情報参照してください。