永続化されたログ バッファーをデータベースに追加する

適用対象:SQL Server

このトピックでは、Transact-SQL を使用して SQL Server 2019 (15.x) 以降のデータベースに永続化されたログ バッファーを追加する方法について説明します。

アクセス許可

データベースに対する ALTER 権限が必要です。

永続メモリ デバイスを構成する (Linux)

Linux で永続メモリ デバイスを構成するには、こちらを参照してください。

永続メモリ デバイスを構成する (Windows)

Windows で永続メモリ デバイスを構成するには、こちらを参照してください。

永続化されたログ バッファーをデータベースに追加する

次の例では、永続化されたログ バッファーを追加します。

ALTER DATABASE <MyDB> 
  ADD LOG FILE 
  (
    NAME = <DAXlog>, 
    FILENAME = '<Filepath to DAX Log File>', 
    SIZE = 20MB
  );

次に例を示します。

ALTER DATABASE WideWorldImporters 
  ADD LOG FILE 
  (
    NAME = wwi_log2, 
    FILENAME = 'F:/SQLTLog/wwi_log2.pldf', 
    SIZE = 20MB
  );

DAX ボリューム上のログ ファイルのサイズは、ADD FILE コマンドで指定されたサイズに関係なく 20 MB になることに注意してください。

新しいログ ファイルを配置するボリュームまたはマウントは、DAX を有効にしてフォーマットされている (NTFS) か、DAX オプションを使用してマウントされている (XFS/EXT4) 必要があります。

永続化されたログ バッファーを削除する

永続化されたログ バッファーを安全に削除するには、永続化されたログ バッファーをドレインするために、データベースをシングル ユーザー モードで配置する必要があります。

次の例では、永続化されたログ バッファーを削除します。

ALTER DATABASE <MyDB> SET SINGLE_USER;
ALTER DATABASE <MyDB> REMOVE FILE <DAXlog>;
ALTER DATABASE <MyDB> SET MULTI_USER;

次に例を示します。

ALTER DATABASE WideWorldImporters SET SINGLE_USER;
ALTER DATABASE WideWorldImporters REMOVE FILE wwi_log2;
ALTER DATABASE WideWorldImporters SET MULTI_USER;

制限事項

Transparent Data Encryption (TDE) は、永続化されたログ バッファーと互換性がありません。

可用性グループは、プライマリ レプリカでは標準のログ書き込みセマンティクスに対するログ リーダー エージェントが必要であるため、セカンダリ レプリカでのみこの機能を使用できます。 ただし、すべてのノード (理想的には、DAX ボリュームまたはマウント) に小さいログ ファイルを作成する必要があります。 フェールオーバーが発生した場合、フェールオーバーを成功させるには、永続化されたログ バッファー パスが存在する必要があります。

可用性グループのフェールオーバー イベントまたはデータベースの起動中にパスまたはファイルが存在しない場合、データベース は問題が解決されるまで RECOVERY PENDING 状態になります。

その他の PMEM 機能との相互運用

永続化されたログ バッファーとハイブリッド バッファー プールの両方が同時に有効になっている場合、スタートアップ トレース フラグ 809 と共に、ハイブリッド バッファー プールは直接書き込みモードと呼ばれる動作します。

バックアップおよび復元操作

通常の復元条件が適用されます。 永続化されたログ バッファーを DAX ボリュームまたはマウントに復元すると、バッファーは引き続き機能します。それ以外の場合は安全に削除できます。

次のステップ