sp_add_data_file_recover_suspect_db (Transact-SQL)
Agrega un archivo de datos a un grupo de archivos cuando no se puede completar la recuperación en una base de datos debido a 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 los de ALTER DATABASE database_name ADD FILE.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_add_data_file_recover_suspect_db [ @dbName= ] 'database'
, [ @filegroup = ] 'filegroup_name'
, [ @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 valor predeterminado.[ @filegroup= ] **'**filegroup_name '
Es el grupo de archivos al que se agrega el archivo. filegroup_name es de tipo nvarchar(260) y su valor predeterminado es NULL, lo que indica el archivo principal.[ @name= ] **'**logical_file_name '
Es el nombre utilizado en el SQL Server para hacer referencia al archivo. El nombre debe ser único en el servidor. logical_file_name es de tipo nvarchar(260) y no tiene 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 una instancia del Motor de base de datos. os_file_name es de tipo nvarchar(260) y no tiene 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 que puede alcanzar 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 que se agrega al archivo cada vez que se necesita más 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 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 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\MSSQL11.MSSQLSERVER\MSSQL\Data\db1_file2.mdf', '1MB';