メモリ最適化テーブルが含まれるデータベースを復元するためのメモリが十分にある場合も、ベスト プラクティスに従って名前付きリソース プールにデータベースをバインドする必要があります。 データベースをプールにバインドする前に、そのデータベースが存在する必要があるため、データベースを復元するプロセスには複数のステップが含まれます。 このトピックでは、そのプロセスについて説明します。
NORECOVERY を指定して復元を行う
データベースを復元するときに、NORECOVERY ではメモリを使用せずにデータベースが作成され、ディスク イメージが復元されます。
RESTORE DATABASE IMOLTP_DB
FROM DISK = 'C:\IMOLTP_test\IMOLTP_DB.bak'
WITH NORECOVERY
リソース プールを作成する
次の Transact-SQL では、使用可能なメモリを 50% に指定して、Pool_IMOLTP という名前のリソース プールが作成されます。 プールが作成された後、Pool_IMOLTP が含まれるようにリソース ガバナーが再構成されます。
CREATE RESOURCE POOL Pool_IMOLTP WITH (MAX_MEMORY_PERCENT = 50);
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO
データベースとリソース プールをバインドする
システム関数 sp_xtp_bind_db_resource_pool
を使用して、データベースをリソース プールにバインドします。 この関数は、パラメーターとしてデータベース名とリソース プール名をこの順序で受け取ります。
次の Transact-SQL では、リソース プール Pool_IMOLTP へのデータベース IMOLTP_DB のバインドを定義しています。 このバインドは、次の手順を完了するまで有効になりません。
EXEC sp_xtp_bind_db_resource_pool 'IMOLTP_DB', 'Pool_IMOLTP'
GO
RECOVERY を指定して復元を行う
RECOVERY を指定してデータベースを復元すると、データベースがオンラインになり、すべてのデータが復元されます。
RESTORE DATABASE IMOLTP_DB
WITH RECOVERY
リソース プール パフォーマンスの監視
データベースが名前付きリソース プールにバインドされ、RECOVERY を指定して復元されたら、SQL Server、Resource Pool Stats オブジェクトを監視します。 詳細については、「 SQL Server、Resource Pool Stats オブジェクト」を参照してください。
こちらもご覧ください
メモリ最適化テーブルを持つデータベースのリソース プールへのバインド
sys.sp_xtp_bind_db_resource_pool (Transact-SQL)
SQL Server の Resource Pool Stats オブジェクト
sys.dm_resource_governor_resource_pools