sp_add_data_file_recover_suspect_db (Transact-SQL)
適用対象: SQL Server
ファイル グループの領域が不足しているためにデータベースで復旧が完了できない場合に、データ ファイルをファイル グループに追加します (エラー 1105)。 ファイルが追加された後、このストアド プロシージャは未復旧の設定をオフにして、データベースの復旧を完了します。 パラメーターは、 ALTER DATABASE <database_name> ADD FILE
の場合と同じです。
構文
sp_add_data_file_recover_suspect_db [ @dbName = ] 'database'
, [ @filegroup = ] N'filegroup_name'
, [ @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 で、既定値はありません。
[ @filegroup = ] N'filegroup_name'
ファイルを追加するファイル グループ。 @filegroup は nvarchar(260) で、既定値は NULL
で、プライマリ ファイルを示します。
[ @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 進数を含めないでください。 MB
およびKB
サフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB
です。 最小値は 512 KB です。 @sizeが指定されていない場合、既定値は 1 MB です。
[ @maxsize = ] N'max_size'
ファイルを拡大できる最大サイズ。 @maxsize は nvarchar(20) で、既定値は NULL
です。 整数を指定します。10 進数を含めないでください。 MB
およびKB
サフィックスを使用して、メガバイトまたはキロバイトを指定できます。 既定値は、MB
です。
@maxsizeが指定されていない場合、ファイルはディスクがいっぱいになるまで拡張されます。 ディスク容量の上限まで近づくと、 Windows アプリケーション ログが管理者に対して警告を発します。
[ @filegrowth = ] N'growth_increment'
新しい領域が必要になるたびにファイルに追加される領域の量。 @filegrowth は nvarchar(20) で、既定値は NULL
です。 0
の値は、増加がないことを示します。 整数を指定します。10 進数を含めないでください。 値は、 MB
、 KB
、またはパーセント (%
) で指定できます。 %
を指定した場合、増加の増分は、増分が発生した時点でのファイルのサイズに対する指定された割合です。 MB
、KB
、または%
サフィックスなしで数値を指定した場合、既定値はMB
。
@filegrowthがNULL
の場合、既定値は10%
され、最小値は64 KB
。 指定されたサイズは、最も近い 64 KB 単位の値に切り上げられます。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
なし。
アクセス許可
sysadmin固定サーバー ロールのメンバーに対する既定の実行アクセス許可。 これらのアクセス許可は転送できません。
例
次の例では、データベース db1
は、ファイル グループ fg1
の領域が不足しているため (エラー 1105) ため、復旧中に疑わしいとマークされています。
USE master;
GO
EXEC sp_add_data_file_recover_suspect_db db1,
fg1,
file2,
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\db1_file2.mdf',
'1 MB';