由于数据库上"日志空间不足"(9002) 错误造成恢复不能完成时,请将日志文件添加到文件组中。添加日志文件后,该存储过程关闭置疑设置并完成数据库的故障恢复。参数与 ALTER DATABASE ADD LOG FILE 中的参数相同。
重要 此存储过程应按故障诊断恢复部分中的描述使用。
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'
在 Microsoft SQL Server 中引用文件时的名称。此名称在服务器上必须唯一,logical_file_name 的数据类型为 nvarchar(260),没有默认设置。
[@filename =] 'os_file_name'
由操作系统使用的文件的路径和文件名。此文件必须驻留在安装有 SQL Server 的服务器上,os_file_name 的数据类型为 nvarchar(260),没有默认设置。
[@size =] 'size'
文件的初始大小。可使用 MB 和 KB 后缀指定兆字节或千字节。默认值为 MB。指定一个整数,不要包含小数位。文件大小的最小值是 512 KB,如果没有指定大小,则默认设置为 1 MB。size 的数据类型为 nvarchar(20),默认设置为 NULL。
[@maxsize =] 'max_size'
文件可以增长到的最大大小。可使用 MB 和 KB 后缀指定兆字节或千字节。默认值为 MB。指定一个整数,不要包含小数位。如果 max_size 没有被指定,则文件将增长到磁盘充满为止。当磁盘快要变满时,Microsoft Windows NT® 应用程序日志会警告管理员。max_size 的数据类型为 nvarchar(20),默认设置为 NULL。
[@filegrowth =] 'growth_increment'
每次需要新的空间时为文件添加的空间大小。0 值表示不增长。该值可用 MB、KB 或百分比 (%) 来指定。指定一个整数,不要包含小数位。当指定 % 时,增长增量是此增量发生时文件大小的指定百分比。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果没有指定 growth_increment,则默认设置为 10%,且最小值为 64 KB。指定的大小四舍五入到最接近 64 KB。growth_increment 的数据类型为 nvarchar(20),默认设置为 NULL。
0(成功)或 1(失败)
无
执行权限默认赋予 sysadmin 固定服务器角色的成员。这些权限是不可传递的。
在此示例中,数据库 db1 在故障恢复期间由于日志空间不足(错误 9002)而标记为置疑。
sp_add_log_file_recover_suspect_db db1, logfile2,
'c:\Program Files\Microsoft SQL Server\MSSQL\Data\db1_logfile2.ldf',
'1MB'