sp_add_log_file_recover_suspect_db (Transact-SQL)
适用范围:SQL Server
由于日志空间不足(错误 9002),在数据库上恢复无法完成时,将日志文件添加到数据库。 添加文件后, sp_add_log_file_recover_suspect_db
关闭可疑设置并完成数据库的恢复。 参数与 ALTER DATABASE database_name ADD LOG FILE 的参数相同。
语法
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
. 指定整数;不包含十进制值。 MB
后KB
缀可用于指定兆字节或千字节。 默认为 MB
。 最小值为 512 KB。 如果未 指定@size ,则默认值为 1 MB。
[ @maxsize = ] N'max_size'
文件可增长到的最大大小。 @maxsize 为 nvarchar(20),默认值为 NULL
. 指定整数;不包含十进制值。 MB
后KB
缀可用于指定兆字节或千字节。 默认为 MB
。
如果未 指定@maxsize ,则文件将增长到磁盘已满为止。 当磁盘将满时, Windows 应用程序日志会向管理员发出警告。
[ @filegrowth = ] N'growth_increment'
每次需要新空间时添加到文件的空间量。 @filegrowth为 nvarchar(20),默认值为 NULL
. 指示没有增长的值 0
。 指定整数;不包含十进制值。 可以在 、KB
或百分比 (%
) 中MB
指定该值。 指定时 %
,增长增量是发生增量时文件大小的指定百分比。 如果未指定MB
数字或KB
%
后缀,则默认值为 MB
。
如果@filegrowthNULL
,则默认值为 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';