sp_add_data_file_recover_suspect_db (Transact-SQL)

Se aplica a:SQL Server

Agrega un archivo de datos a un grupo de archivos cuando la recuperación no se puede completar en una base de datos debido a un espacio insuficiente en el grupo de archivos (error 1105). Tras agregar el archivo, este procedimiento almacenado desactiva el valor sospechoso y completa la recuperación de la base de datos. Los parámetros son los mismos que para ALTER DATABASE <database_name> ADD FILE.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_add_data_file_recover_suspect_db [ @dbName = ] 'database'
    , [ @filegroup = ] N'filegroup_name'
    , [ @name = ] N'logical_file_name'
    , [ @filename = ] N'os_file_name'
    , [ @size = ] N'size'
    , [ @maxsize = ] N'max_size'
    , [ @filegrowth = ] N'growth_increment'
[ ; ]

Argumentos

[ @dbName = ] 'database'

El nombre de la base de datos. @dbName es sysname, sin ningún valor predeterminado.

[ @filegroup = ] N'filegroup_name'

El grupo de archivos al que va a agregar el archivo. @filegroup es nvarchar(260), con un valor predeterminado de NULL, que indica el archivo principal.

[ @name = ] N'logical_file_name'

Nombre usado en SQL Server para hacer referencia al archivo. El nombre debe ser único en el servidor. @name es nvarchar(260), sin ningún valor predeterminado.

[ @filename = ] N'os_file_name'

Ruta de acceso y nombre de archivo que usa el sistema operativo para el archivo. El archivo debe residir en una instancia del Motor de base de datos. @filename es nvarchar(260), sin ningún valor predeterminado.

[ @size = ] N'size'

Tamaño inicial del archivo. @size es nvarchar(20), con un valor predeterminado de NULL. Especifique un número entero; no incluya un decimal. Los MB sufijos y KB se pueden usar para especificar megabytes o kilobytes. El valor predeterminado es MB. El valor mínimo es 512 KB. Si no se especifica @size , el valor predeterminado es de 1 MB.

[ @maxsize = ] N'max_size'

Tamaño máximo al que puede crecer el archivo. @maxsize es nvarchar(20), con un valor predeterminado de NULL. Especifique un número entero; no incluya un decimal. Los MB sufijos y KB se pueden usar para especificar megabytes o kilobytes. El valor predeterminado es MB.

Si no se especifica @maxsize , el archivo crece hasta que el disco está lleno. El registro de aplicaciones de Microsoft Windows advierte a un administrador cuando un disco está a punto de llenarse.

[ @filegrowth = ] N'growth_increment'

Cantidad de espacio agregado al archivo cada vez que se requiere espacio nuevo. @filegrowth es nvarchar(20), con un valor predeterminado de NULL. Un valor de 0 indica que no hay crecimiento. Especifique un número entero; no incluya un decimal. El valor se puede especificar en MB, KBo porcentaje (%). Cuando % se especifica , el incremento de crecimiento es el porcentaje especificado del tamaño del archivo en el momento en que se produce el incremento. Si se especifica un número sin un MBsufijo , KBo % , el valor predeterminado es MB.

Si @filegrowth es NULL, el valor predeterminado es 10%y el valor 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 (erróneo).

Conjunto de resultados

Ninguno.

Permisos

Ejecute los permisos de forma predeterminada para los miembros del rol fijo de servidor sysadmin . Estos permisos no se pueden transferir.

Ejemplos

En el ejemplo siguiente, la base de datos db1 se marcó como sospechosa durante la recuperación debido a espacio insuficiente (error 1105) en el grupo de archivos fg1.

USE master;
GO

EXEC sp_add_data_file_recover_suspect_db db1,
    fg1,
    file2,
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\db1_file2.mdf',
    '1 MB';