共用方式為


sp_add_log_file_recover_suspect_db (Transact-SQL)

當因為記錄空間不足 (9002 錯誤) 而無法完成資料庫的復原作業時,將記錄檔加入檔案群組中。加入檔案之後,sp_add_log_file_recover_suspect_db 會關閉受到質疑的設定,再完成資料庫的復原。這些參數與 ALTER DATABASE database_name ADD LOG FILE 的參數相同。

重要注意事項重要事項

在使用這個預存程序之前,請先考量<資料磁碟空間不足的疑難排解>中所說明的替代方案。

主題連結圖示Transact-SQL 語法慣例

語法

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

引數

  • [ @dbName = ] 'database'
    這是資料庫的名稱。database 是 sysname,沒有預設值。

  • [ @name= ] 'logical_file_name'
    這是參考檔案時,在 SQL Server 2005 Database Engine 中使用的名稱。在伺服器中,這個名稱必須是唯一的。logical_file_name 是 nvarchar(260),沒有預設值。

  • [ @filename = ] 'os_file_name'
    這是作業系統針對檔案所用的路徑和檔案名稱。這個檔案必須在安裝了 Database Engine 的伺服器中。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 或百分比 (%) 來指定這個值。當指定 % 時,成長的遞增是增量發生時之指定的檔案大小百分比。如果指定的數字不含 MB、KB 或 % 後置詞,預設值是 MB。

    如果 growth_increment 是 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\MSSQL10.MSSQLSERVER\MSSQL\Data\db1_logfile2.ldf', 
    '1MB';