Compartir a través de


sp_add_log_file_recover_suspect_db (Transact-SQL)

Agrega un archivo de registro a un grupo de archivos cuando la recuperación no puede completarse en una base de datos debido a un error de espacio de registro insuficiente (9002). Tras agregar el archivo, sp_add_log_file_recover_suspect_db desactiva el valor sospechoso y completa la recuperación de la base de datos. Los parámetros son los mismos que los de ALTER DATABASE database_name ADD LOG FILE.

Nota importanteImportante

Antes de utilizar este procedimiento almacenado, considere las alternativas descritas en Solucionar problemas de espacio en disco insuficiente para datos.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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'

Argumentos

  • [ @dbName = ] 'database'
    Es el nombre de la base de datos. database es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @name= ] 'logical_file_name'
    Es el nombre utilizado en el SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) para hacer referencia al archivo. El nombre debe ser único en el servidor. logical_file_name es de tipo nvarchar(260) y no tiene ningún valor predeterminado.

  • [ @filename = ] 'os_file_name'
    Es la ruta de acceso y el nombre de archivo que el sistema operativo utiliza para el archivo. El archivo debe residir en el servidor en el que está instalado Database Engine (Motor de base de datos). os_file_name es de tipo nvarchar(260) y no tiene ningún valor predeterminado.

  • [ @size= ] **'**size '
    Es el tamaño inicial del archivo. size es de tipo nvarchar(20) y su valor predeterminado es NULL. Especifique un número entero; no incluya decimales. Se pueden utilizar los sufijos MB y KB para especificar megabytes o kilobytes, respectivamente. El valor predeterminado es MB. El valor mínimo es 512 KB. Si no se especifica size, el valor predeterminado es 1 MB.

  • [ @maxsize= ] **'**max_size '
    Es el tamaño máximo hasta el que puede crecer el archivo. max_size es de tipo nvarchar(20) y su valor predeterminado es NULL. Especifique un número entero; no incluya decimales. Se pueden utilizar los sufijos MB y KB para especificar megabytes o kilobytes, respectivamente. El valor predeterminado es MB.

    Si no se especifica max_size, el archivo aumentará de tamaño hasta que el disco esté lleno. El registro de aplicación de Microsoft Windows avisa a un administrador cuando un disco está a punto de llenarse.

  • [ @filegrowth= ] **'**growth_increment '
    Es la cantidad de espacio agregado al archivo cada vez que se requiere nuevo espacio. growth_increment es de tipo nvarchar(20) y su valor predeterminado es NULL. Un valor 0 indica que no hay crecimiento. Especifique un número entero; no incluya decimales. El valor se puede especificar en MB, KB o como un porcentaje (%). Cuando se especifica %, el incremento de crecimiento es el porcentaje especificado del tamaño del archivo en el momento en que tiene lugar el incremento. Si se especifica un número sin los sufijos MB, KB o %, el valor predeterminado es MB.

    Si growth_increment es NULL, el valor predeterminado es 10% y el valor de tamaño mínimo es 64 KB. El tamaño especificado se redondea al múltiplo de 64 KB más cercano.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Permisos

De forma predeterminada, los permisos de ejecución corresponden a los miembros de la función fija de servidor sysadmin. Estos permisos no se pueden transferir.

Ejemplos

En el ejemplo siguiente, la base de datos db1 se ha marcado como sospechosa durante la recuperación debido a un error de espacio de registro insuficiente (error 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';