Suppress recovery model errors (サーバー構成オプション)

適用対象: Azure SQL Managed Instance

SQL Server の復旧モデルでは、トランザクション ログのメンテナンスが制御されます。 完全復旧モデルでは、データ ファイルが失われたり破損したりしたために失われる作業はなく、バックアップ保持ポリシー内の任意の特定の時点への回復がサポートされます。 完全復旧モデルは、SQL Managed Instance でサポートされている既定かつ唯一の復旧モデルです。 SQL Managed Instance で復旧モデルの変更を試みると、エラーメッセージが返されます。

SQL Managed Instance で実行されるデータベース復旧モデルを変更するコマンドがエラーまたは警告のみを返すかどうかを指定するには、 [Suppress Recovery Model Errors](復旧モデルのエラーを抑制する) 詳細構成オプションを使用します。 このオプションが SQL Managed Instance で 1 (ON) に設定されている場合は、コマンド ALTER DATABASE SET RECOVERY を実行しても、データベースの復旧モデルは変更されず、エラーは返されませんが、警告メッセージが返されます。 このオプションが SQL Managed Instance で 0 (OFF) に設定されている場合は、コマンド ALTER DATABASE SET RECOVERY を実行するとエラー メッセージが返されます。

[Suppress Recovery Model Errors](復旧モデルのエラーを抑制する) オプションは、レガシまたはサードパーティのアプリケーションで、復旧モデルを単純復旧モデルまたは一括ログ復旧モデルに変更しようと試みる場合に役立ちます。ただし、これは重要または必須の要件ではありません。 復旧モデルの変更が SQL Managed Instance の使用に対する唯一の阻害要因である場合は、[Suppress Recovery Model Errors](復旧モデルのエラーを抑制する) 構成オプションをオンにすると、その阻害要因が取り除かれます。 このオプションは、アプリケーション コード変更の別のソリューションが実現できない場合、またはコストが高い場合に特に役立ちます。

次の例では、データベース復旧モデルの変更に関連するエラー メッセージの抑制を有効にし、データベース復旧モデルを変更するためのコマンドを実行して、警告のみを返します。 復旧モデルは、実際には変更されません。 my_database は、実際のデータベース名に置き換えてください。

-- Turn advanced configuration options on:
sp_configure 'show advanced options', 1 ;  
GO
RECONFIGURE ;  
GO

-- Enable suppression of error messages for recovery model change:
sp_configure 'suppress recovery model errors', 1 ;  
GO
RECONFIGURE ;  
GO

-- Execute command for changing recovery model to Simple:
ALTER DATABASE my_database SET RECOVERY SIMPLE;
GO

関連項目

サーバー構成オプション (SQL Server)

sp_configure (Transact-SQL)

RECONFIGURE (Transact-SQL)