適用対象: SQL Server
Azure SQL データベース
Azure SQL Managed Instance
SQL Server 2016 (13.x) では、メモリ最適化テーブル用のディスク上ストレージに対するスケーラビリティ機能が強化されています。
メモリ最適化テーブルを保持する複数のスレッド
SQL Server 2014 (12.x) には、メモリ最適化テーブルへの変更についてトランザクション ログをスキャンし、メモリ最適化テーブルをチェックポイント ファイル (データ ファイルや差分ファイルなど) に保持する 1 つのオフライン チェックポイント スレッドがありました。 コア数が多いコンピューターの場合、1 つのオフライン チェックポイント スレッドでは処理が遅れることがありました。
SQL Server 2016 (13.x) 以降では、メモリ最適化テーブルへの変更を保持する複数の同時実行スレッドがあります。
マルチ スレッドの回復
SQL Server の以前のリリースでは、回復操作の一環としてのログ適用がシングル スレッド化されていました。 SQL Server 2016 (13.x) 以降では、ログ適用はマルチスレッドです。
MERGE 操作
MERGE 操作はマルチ スレッドになりました。
Note
マルチ スレッドのマージは負荷に応じて実行されるため、手動マージは無効になっています。
動的管理ビュー
DMV の sys.dm_db_xtp_checkpoint_stats (Transact-SQL) と sys.dm_db_xtp_checkpoint_files (Transact-SQL) が大幅に変更されました。
ストレージ管理
インメモリ OLTP エンジンは FILESTREAM に基づくメモリ最適化ファイル グループを引き続き使用しますが、ファイル グループ内の個々のファイルは FILESTREAM から切り離されています。 これらのファイルは、インメモリ OLTP エンジンによってフル マネージドです (作成、削除、ガベージ コレクションなど)。
Note
DBCC SHRINKFILE (Transact-SQL) はサポートされていません。
参照
メモリ最適化オブジェクト用ストレージの作成と管理
データベース ファイルとファイル グループ
ALTER DATABASE の File および Filegroup オプション (Transact-SQL)