適用対象:SQL Server
ログ領域が不足しているためにデータベースで復旧が完了できない場合に、ログ ファイルをデータベースに追加します (エラー 9002)。 ファイルが追加された後、 sp_add_log_file_recover_suspect_db は疑わしい設定をオフにし、データベースの復旧を完了します。 パラメータはALTER DATABASEと同じですdatabase_nameログファイルを追加します。
構文
sys.sp_add_log_file_recover_suspect_db
[ @dbName = ] N'dbName'
, [ @name = ] N'name'
, [ @filename = ] N'filename'
[ , [ @size = ] N'size' ]
[ , [ @maxsize = ] N'maxsize' ]
[ , [ @filegrowth = ] N'filegrowth' ]
[ ; ]
引数
[ @dbName = ] N'dbName'
データベースの名前。 @dbName は sysname で、既定値はありません。
[ @name = ] 名前
ファイルを参照するために SQL Server で使用される名前。 サーバー内で一意な名前を指定する必要があります。 @name は nvarchar(260)で、既定値はありません。
[ @filename = ] N'ファイル名
ファイルのオペレーティング システムによって使用されるパスとファイル名。 ファイルは、データベース エンジンのインスタンス上に存在する必要があります。 @filename は nvarchar(260)で、既定値はありません。
[ @size = ] N'サイズ
ファイルの初期サイズ。
@size は nvarchar(20) で、既定値は NULL です。 整数を指定します。10 進数を含めないでください。
MBおよびKBサフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB です。 最小値は 512 KB です。
@sizeが指定されていない場合、既定値は 1 MB です。
[ @maxsize = ] N'maxサイズ
ファイルを拡大できる最大サイズ。
@maxsize は nvarchar(20) で、既定値は NULL です。 整数を指定します。10 進数を含めないでください。
MBおよびKBサフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB です。
@maxsizeが指定されていない場合、ファイルはディスクがいっぱいになるまで拡張されます。 ディスク容量の上限まで近づくと、 Windows アプリケーション ログが管理者に対して警告を発します。
[ @filegrowth = ] N'filegrowth'
新しい領域が必要になるたびにファイルに追加される領域の量。
@filegrowth は nvarchar(20) で、既定値は NULL です。
0の値は、増加がないことを示します。 整数を指定します。10 進数を含めないでください。 値は、 MB、 KB、またはパーセント (%) で指定できます。
%を指定した場合、増加の増分は、増分が発生した時点でのファイルのサイズに対する指定された割合です。
MB、KB、または%サフィックスなしで数値を指定した場合、既定値はMB。
@filegrowthがNULLの場合、既定値は10%され、最小値は64 KB。 指定されたサイズは、最も近い 64 KB 単位の値に切り上げられます。
リターン コードの値
0 (成功) または 1 (失敗)。
結果セット
なし。
アクセス許可
sysadmin固定サーバー ロールのメンバーに対する既定の実行アクセス許可。 これらのアクセス許可は転送できません。
例
次の例では、ログ領域が不足しているため、データベース db1 が復旧中に疑わしいとマークされています (エラー 9002)。
USE master;
GO
EXECUTE sp_add_log_file_recover_suspect_db
db1,
logfile2,
'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data\db1_logfile2.ldf',
'1 MB';