新機能 (データベース エンジン)
SQL Server データベース エンジンのこの最新リリースでは、データ ストレージ システムの設計、開発、保守を行うアーキテクト、開発者、管理者の能力と生産性を向上させる新機能と機能強化が導入されています。 これらは、データベース エンジンが強化された領域です。
データベース エンジンの機能強化
メモリ最適化テーブル
In-Memory OLTP は、SQL Server エンジンに統合されたメモリ最適化データベース エンジンです。 インメモリ OLTP は OLTP 向けに最適化されています。 詳細については、「 インメモリ OLTP (インメモリ最適化)」を参照してください。
Azure 内の SQL Server データ ファイル
Azure SQL Server Data Files を使用すると、Azure BLOB として格納SQL Serverデータベース ファイルをネイティブにサポートできます。 この機能を使用すると、オンプレミスまたは Azure の仮想マシンで実行されているSQL Serverにデータベースを作成し、Azure Blob Storage内のデータ専用のストレージ場所を使用できます。
Azure 仮想マシンでSQL Server データベースをホストする
SQL Server データベースの Azure 仮想マシンへのデプロイ ウィザードを使用して、Azure 仮想マシン内の SQL Server のインスタンスからデータベースをホストします。
バックアップと復元の機能強化
SQL Server 2014 には、SQL Serverバックアップと復元に関する次の機能強化が含まれています。
SQL Server Backup to URL
SQL Server URL へのバックアップは、Transact-SQL、PowerShell、SMO でのみサポートされている SQL Server 2012 SP1 CU2 で導入されました。 SQL Server 2014 では、SQL Server Management Studioを使用して Azure Blob Storage サービスへのバックアップまたは復元を行うことができます。 バックアップ タスクとメンテナンス プランの両方で、この新しいオプションを使用できます。 詳細については、「SQL Server Management Studioでのバックアップ タスクの使用」、「メンテナンス プラン ウィザードを使用した URL へのバックアップSQL Server」、「SQL Server Management Studioを使用した Azure Storage からの復元」を参照してください。
Azure へのマネージド バックアップのSQL Server
SQL Server URL へのバックアップに基づいて構築された microsoft Azure へのマネージド バックアップSQL Serverは、データベースバックアップとログ バックアップを管理およびスケジュールSQL Serverサービスです。 このリリースでは、Azure Storage へのバックアップのみがサポートされています。 SQL Server Microsoft Azure へのマネージド バックアップは、データベース レベルとインスタンス レベルの両方で構成できます。これにより、データベース レベルできめ細かく制御し、インスタンス レベルで自動化できます。 SQL Server Microsoft Azure へのマネージド バックアップは、オンプレミスで実行されているインスタンスと Azure 仮想マシンで実行されているSQL Server インスタンスSQL Server構成できます。 Azure 仮想マシンで実行されているSQL Server インスタンスに対して推奨されます。 詳細については、「Azure へのマネージド バックアップSQL Serverする」を参照してください。
バックアップの暗号化
バックアップ操作中にバックアップ ファイルを暗号化する方法を選択できるようになりました。 AES 128、AES 192、AES 256、Triple DES を含むいくつかの暗号化アルゴリズムがサポートされています。 バックアップ中に暗号化を実行するには、証明書または非対称キーを使用する必要があります。 詳細については、「 バックアップの暗号化」をご覧ください。
カーディナリティ推定用の新しい設計
カーディナリティ推定機能と呼ばれるカーディナリティ推定ロジックは、クエリ プランの品質を向上させ、クエリ パフォーマンスを向上させるために、2014 年SQL Serverに再設計されています。 新しいカーディナリティ推定機能には、現在の OLTP ワークロードとデータ ウェアハウス ワークロードで適切に機能する想定とアルゴリズムが組み込まれています。 この機能は、現在のワークロードを対象とするカーディナリティ推定に関する詳細な調査、および SQL Server のカーディナリティ推定機能を向上させるための過去 15 年にわたる研究を土台としています。 お客様からのフィードバックによると、大半のクエリは今回の変更によって性能が向上するか、何も変化しないこと、一方で、少数のクエリは以前のカーディナリティ推定機能と比較すると性能が低下する可能性があることが示されています。 パフォーマンスのチューニングとテストに関する推奨事項については、「カーディナリティ推定 (SQL Server)」を参照してください。
遅延持続性
SQL Server 2014 では、一部またはすべてのトランザクションを遅延持続性として指定することで、待機時間を短縮する機能が導入されています。 遅延持続性トランザクションがクライアントに制御を返した後、トランザクション ログ レコードがディスクに書き込まれます。 持続性は、データベース レベル、COMMIT レベル、または ATOMIC ブロック レベルで管理できます。
詳細については、 トランザクションの持続性の制御に関するトピックを参照してください。
AlwaysOn の機能強化
SQL Server 2014 には、AlwaysOn フェールオーバー クラスター インスタンスと AlwaysOn 可用性グループに関する次の機能強化が含まれています。
Azure のレプリカ追加ウィザードにより、AlwaysOn 可用性グループ用の複合ソリューションを容易に作成できます。 詳細については、「Azure レプリカの追加ウィザードの使用 (SQL Server)」を参照してください。
セカンダリ レプリカの最大数は、4 から 8 に増えています。
プライマリ レプリカから切断された場合やクラスター クォーラムが存在しない場合でも、読み取り可能なセカンダリ レプリカを、読み取りワークロードに対して引き続き使用できるようになりました。
フェールオーバー クラスター インスタンス (FCI) では、クラスターの共有ボリューム (CSV) を、クラスターの共有ディスクとして使用できます。 詳細については、「フェールオーバー クラスター インスタンスのAlways On」を参照してください。
新しいシステム機能 sys.fn_hadr_is_primary_replica、および新しい DMV sys.dm_io_cluster_valid_path_namesを使用できます。
次の DMV が強化され、 FCI 情報 (sys.dm_hadr_cluster、 sys.dm_hadr_cluster_members、 sys.dm_hadr_cluster_networks) が返されるようになりました。
パーティション切り替えとインデックス作成
パーティション テーブルの個々のパーティションを再構築できるようになりました。 詳細については、「ALTER INDEX (Transact-SQL)」を参照してください。
オンライン操作のロック優先度の管理
ONLINE = ON
オプションには、再構築プロセスで必要なロックを待機する時間を指定できるようにする WAIT_AT_LOW_PRIORITY
オプションが追加されました。 WAIT_AT_LOW_PRIORITY
オプションを使用すると、当該の再構築ステートメントに関連するブロック プロセスの終了を構成こともできます。 詳細については、「ALTER TABLE (Transact-SQL)」と「ALTER INDEX (Transact-SQL)」を参照してください。 新しい種類のロック状態に関するトラブルシューティング情報は、 sys.dm_tran_locks (Transact-SQL) および sys.dm_os_wait_stats (Transact-SQL) で入手できます。
列ストア インデックス
次の新機能は、列のインデックスで使用できます。
クラスター化列ストア インデックス
クラスター化列ストア インデックスは、主に一括読み込みと読み取り専用クエリを実行するデータ ウェアハウスのワークロードでデータ圧縮とクエリ パフォーマンスを向上させるために使用します。 クラスター化列ストア インデックスは更新可能であるため、ワークロードは多くの挿入、更新、および削除操作を実行できます。 詳細については、「 列ストア インデックスの説明 」および「 クラスター化列ストア インデックスの使用」を参照してください。
Showplan
SHOWPLAN には、列ストア インデックスに関する情報が表示されます。 EstimatedExecutionMode プロパティと ActualExecutionMode プロパティには、Batch または Row の 2 つの値を指定できます。 Storage プロパティには、RowStore と ColumnStore の 2 つの値を指定できます。
アーカイブ データの圧縮
ALTER INDEX ...REBUILD には、列ストア インデックスの指定されたパーティションをさらに圧縮する新しいCOLUMNSTORE_ARCHIVEデータ圧縮オプションがあります。 保存用や、データ ストレージのサイズを減らす必要があり、しかも保存と取得に時間をかける余裕があるその他の状況で使用します。 詳細については、「ALTER INDEX (Transact-SQL)」を参照してください。
バッファー プール拡張
バッファー プール拡張機能は、ソリッド ステート ドライブ (SSD) を不揮発性ランダム アクセス メモリ (NvRAM) 拡張機能としてデータベース エンジン バッファー プールにシームレスに統合し、I/O スループットを大幅に向上させます。
増分統計
CREATE STATISTICS と関連する統計ステートメントでは、INCREMENTAL オプションを使用してパーティションごとの統計を作成することが許可されるようになりました。 関連するステートメントは増分統計を許可または報告します。 影響を受ける構文には、UPDATE STATISTICS、sp_createstats、CREATE INDEX、ALTER INDEX、ALTER DATABASE SET オプション、DATABASEPROPERTYEX、sys.databases、sys.stats が含まれます。詳細については、「 CREATE STATISTICS (Transact-SQL)」を参照してください。
物理 IO を制御するためのリソース ガバナーの機能強化
リソース ガバナーを使用すると、着信アプリケーション要求がリソース プール内で使用できる CPU、物理 IO、およびメモリの量に制限を指定できます。 SQL Server 2014 では、新しいMIN_IOPS_PER_VOLUMEとMAX_IOPS_PER_VOLUME設定を使用して、特定のリソース プールのユーザー スレッドに対して発行される物理 IO を制御できます。 詳細については、「リソース プールのResource Governor」および「CREATE RESOURCE POOL (Transact-SQL)」を参照してください。
ALTER RESOURCE GOVENOR の MAX_OUTSTANDING_IO_PER_VOLUME 設定は、ディスク ボリュームごとに未処理の I/O 操作の最大数を設定します。 この設定を使用して、ディスク ボリュームの IO の特性に合わせて IO リソース管理を調整することや、SQL Server インスタンスの境界で発行される IO の数を制限することができます。 詳細については、「ALTER RESOURCE GOVERNOR (Transact-SQL)」を参照してください。
Online Index Operation イベント クラス
オンライン インデックス操作イベント クラスの進行状況レポートに 、PartitionId と PartitionNumber という 2 つの新しいデータ列が追加されました。 詳細については、「 進行状況レポート: オンライン インデックス操作イベント クラス」を参照してください。
データベース互換レベル
90 互換性レベルは、SQL Server 2014 では無効です。 詳細については、「ALTER DATABASE 互換性レベル (Transact-SQL)」を参照してください。
Transact-SQL の機能強化
CLUSTERED および NONCLUSTERED のインライン指定
ディスク ベース テーブルに対する CLUSTERED
および NONCLUSTERED
インデックスのインライン指定が許可されるようになりました。 インライン インデックスを含むテーブルを作成することは、テーブルの作成ステートメントに続いて、対応する CREATE INDEX
ステートメントを発行することと同じです。 付加列とフィルター条件は、インライン インデックスではサポートされていません。
SELECT ... INTO
SELECT ... INTO
ステートメントは改善され、並行して実行できるようになりました。 データベース互換性レベルを 110 以上に設定する必要があります。
In-Memory OLTP の Transact-SQL の機能強化
In-Memory OLTP をサポートするための Transact-SQL の変更については、「 Transact-SQL support for In-Memory OLTP」を参照してください。
システム ビューの機能強化
sys.xml_indexes
sys.xml_indexes (Transact-SQL) には、および path_id
の 3 つの新しい列xml_index_type
xml_index_type_description
があります。
sys.dm_exec_query_profiles
sys.dm_exec_query_profiles (Transact-SQL) は、クエリの実行中にリアルタイムのクエリの進行状況を監視します。
sys.column_store_row_groups
sys.column_store_row_groups (Transact-SQL) では、クラスター化列ストア インデックス情報がセグメントごとに提供され、管理者がシステム管理の決定を行うのに役立ちます。
sys.databases
sys.databases (Transact-SQL) には、、、および resource_pool_id
の 3 つの新しい列is_auto_create_stats_incremental_on
is_query_store_on
があります。
インメモリ OLTP に関連するシステム ビューの強化
In-Memory OLTP をサポートするためのシステム ビューの機能強化については、「In-Memory OLTP のシステム ビュー、ストアド プロシージャ、DMV、待機の種類」を参照してください。
セキュリティの強化
CONNECT ANY DATABASE 権限
新しいサーバー レベル権限です。 既存のあらゆるデータベースと今後作成されるすべての新規データベースに接続する必要のあるログインに、CONNECT ANY DATABASE を付与します。 接続以外の権限はどのデータベースにおいても一切付与されません。 SELECT ALL USER SECURABLES と組み合わせるかVIEW SERVER STATE
、監査プロセスで、SQL Serverのインスタンス上のすべてのデータまたはすべてのデータベース状態を表示できるようにします。
IMPERSONATE ANY LOGIN 権限
新しいサーバー レベル権限です。 この権限が付与されていると、中間層プロセスがデータベースに接続するときに、そこに接続するクライアントのアカウントの権限を借用できます。 この権限が拒否されていると、高い特権を持つログインが他のログインの権限を借用するのをブロックできます。 たとえば、CONTROL SERVER 権限を持つログインが他のログインの権限を借用するのをブロックできます。
SELECT ALL USER SECURABLES 権限
新しいサーバー レベル権限です。 付与されていると、監査担当者などログインが、ユーザーが接続できるすべてのデータベースのデータを表示できます。
配置に関する強化
Azure VM
SQL Server データベースを Microsoft Azure 仮想マシンにデプロイすると、SQL Server データベースを Azure VM にデプロイできます。
ReFS
ReFS でのデータベースのデプロイがサポートされるようになりました。