sp_add_log_file_recover_suspect_db (Transact-SQL)

適用対象:SQL Server

ログ領域が不足しているためにデータベースで復旧が完了できない場合に、ログ ファイルをデータベースに追加します (エラー 9002)。 ファイルが追加されたら、 sp_add_log_file_recover_suspect_db 疑わしい設定をオフにし、データベースの復旧を完了します。 パラメーターは ALTER DATABA の場合と同じですStandard Edition ADD LOG FILE database_name

Transact-SQL 構文表記規則

構文

sp_add_log_file_recover_suspect_db [ @dbName = ] 'database'
    , [ @name = ] N'logical_file_name'
    , [ @filename = ] N'os_file_name'
    , [ @size = ] N'size'
    , [ @maxsize = ] N'max_size'
    , [ @filegrowth = ] N'growth_increment'
[ ; ]

引数

[ @dbName = ] 'database'

データベースの名前です。 @dbNameは sysname で、既定値はありません。

[ @name = ] N'logical_file_name'

ファイルを参照するために SQL Server で使用される名前。 サーバー内で一意な名前を指定する必要があります。 @nameは nvarchar(260) で、既定値はありません。

[ @filename = ] N'os_file_name'

ファイルのオペレーティング システムによって使用されるパスとファイル名。 ファイルは、データベース エンジンのインスタンス上に存在する必要があります。 @filenameは nvarchar(260) で、既定値はありません。

[ @size = ] N'size'

ファイルの初期サイズ。 @sizeは nvarchar(20) で、既定値は NULL. 整数を指定します。10 進数を含めないでください。 サフィックス MBKB サフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB です。 最小値は 512 KB (キロバイト)です。 @sizeが指定されていない場合、既定値は 1 MB (メガバイト)です。

[ @maxsize = ] N'max_size'

ファイルを拡大できる最大サイズ。 @maxsizeは nvarchar(20) で、既定値は NULL. 整数を指定します。10 進数を含めないでください。 サフィックス MBKB サフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB です。

@maxsizeが指定されていない場合、ファイルはディスクがいっぱいになるまで拡張されます。 ディスクがいっぱいになると、Microsoft Windows アプリケーション ログによって管理者に警告が表示されます。

[ @filegrowth = ] N'growth_increment'

新しい領域が必要になるたびにファイルに追加される領域の量。 @filegrowthは nvarchar(20) で、既定値は NULL. 値は 0 増加がないことを示します。 整数を指定します。10 進数を含めないでください。 値は、またはパーセント (%) でMBKB指定できます。 この値を指定すると % 、増加の増分は、増分が発生した時点でのファイルのサイズに対する指定された割合になります。 、、またはサフィックスを指定せずに数値をMBKB指定した場合、既定値は MB.%

@filegrowthが NULL の場合、既定値は 10%、最小値は 64 KB. 指定されたサイズは、最も近い 64 KB 単位の値に切り上げられます。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

なし。

アクセス許可

実行アクセス許可は、既定で sysadmin 固定サーバー ロールのメンバーになります。 これらのアクセス許可は転送できません。

次の例では、ログ領域が不足しているため、復旧中にデータベース db1 が疑わしいとマークされています (エラー 9002)。

USE master;
GO

EXEC sp_add_log_file_recover_suspect_db db1,
    logfile2,
    'C:\Program Files\Microsoft SQL
    Server\MSSQL13.MSSQLSERVER\MSSQL\Data\db1_logfile2.ldf',
    '1 MB';