sp_add_data_file_recover_suspect_db (Transact-SQL)
ファイル グループの領域が不足していたため (エラー 1105)、データベースの復旧を完了できなかったときに、データ ファイルをファイル グループに追加します。 ファイルが追加された後、このストアド プロシージャは未復旧の設定をオフにして、データベースの復旧を完了します。 このパラメーターは、ALTER DATABASE database_name ADD FILE のパラメーターと同じです。
構文
sp_add_data_file_recover_suspect_db [ @dbName= ] 'database'
, [ @filegroup = ] 'filegroup_name'
, [ @name = ] 'logical_file_name'
, [ @filename= ] 'os_file_name'
, [ @size = ] 'size'
, [ @maxsize = ] 'max_size'
, [ @filegrowth = ] 'growth_increment'
引数
[ @dbName= ] **'**database '
データベースの名前を指定します。 database のデータ型は sysname で、既定値はありません。[ @filegroup= ] **'**filegroup_name '
ファイルを追加するファイル グループを指定します。 filegroup_name のデータ型は nvarchar(260) で、既定値は NULL です。既定値はプライマリ ファイルであることを示します。[ @name= ] **'**logical_file_name '
ファイルを参照するために SQL Serverで使用される名前を指定します。 サーバー内で一意な名前を指定する必要があります。 logical_file_name のデータ型は nvarchar(260) で、既定値はありません。[ @filename= ] **'**os_file_name '
オペレーティング システムが使用するファイルのパスとファイル名を指定します。 ファイルはデータベース エンジンのインスタンス上に存在している必要があります。 os_file_name のデータ型は nvarchar(260) で、既定値はありません。[ @size= ] **'**size '
ファイルの初期サイズです。 size のデータ型は nvarchar(20) で、既定値は NULL です。 整数を指定します。小数を含めないでください。 サフィックス MB、KB を使用してメガバイト、キロバイトを指定できます。 既定値は MB です。 最小値は 512 KB です。 size を指定しない場合の既定値は 1 MB です。[ @maxsize= ] **'**max_size '
ファイルを拡張できる最大サイズを指定します。 max_size のデータ型は nvarchar(20) で、既定値は NULL です。 整数を指定します。小数を含めないでください。 サフィックス MB、KB を使用してメガバイト、キロバイトを指定できます。 既定値は MB です。max_size を指定しない場合、ファイルはディスクがいっぱいになるまで拡張されます。 ディスク容量の上限まで近づくと、Microsoft Windows アプリケーション ログが管理者に対して警告を発します。
[ @filegrowth= ] **'**growth_increment '
新しい領域が必要とされるたびにファイルに追加される領域の容量を指定します。 growth_increment のデータ型は nvarchar(20) で、既定値は NULL です。 値に 0 を指定した場合、ファイルの拡張は行われません。 整数を指定します。小数を含めないでください。 値は MB、KB、またはパーセント (%) の単位で指定できます。 % を指定すると、1 回の増加量は、増加時のファイル サイズに指定されたパーセンテージを掛けた値になります。 サフィックス MB、KB、または % を付けないで数値を指定した場合の既定値は MB です。growth_increment の値が NULL の場合、既定値は 10% で、最小値は 64 KB になります。 指定されたサイズは、最も近い 64 KB 単位の値に切り上げられます。
リターン コード値
0 (成功) または 1 (失敗)
結果セット
なし
権限
実行権限は、既定では sysadmin 固定サーバー ロールのメンバーに与えられています。 この権限は譲渡できません。
使用例
次の例では、fg1 ファイル グループの空き容量が不足していたため (エラー 1105)、復旧中に db1 データベースに未復旧のマークが付いています。
USE master;
GO
EXEC sp_add_data_file_recover_suspect_db db1, fg1, file2,
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\db1_file2.mdf', '1MB';