Partager via


sp_add_data_file_recover_suspect_db (Transact-SQL)

Ajoute un fichier de données à un groupe de fichiers lorsque la récupération d'une base de données ne peut se terminer en raison d'un espace insuffisant sur le groupe de fichiers (erreur 1105). Une fois le fichier ajouté, cette procédure stockée désactive le paramètre suspect et achève la récupération de la base de données. Les paramètres sont les mêmes que ceux de ALTER DATABASE database_name ADD FILE.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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'

Arguments

  • [ @dbName= ] **'**database '
    Nom de la base de données. database est de type sysname, sans valeur par défaut.

  • [ @filegroup= ] **'**filegroup_name '
    Groupe de fichiers auquel le fichier doit être ajouté. filegroup_name est de type nvarchar(260), avec NULL comme valeur par défaut ; celle-ci correspond au fichier primaire.

  • [ @name= ] **'**logical_file_name '
    Nom utilisé dans le moteur de base de données SQL Server 2005 pour faire référence au fichier. Le nom doit être unique sur le serveur. logical_file_name est de type nvarchar(260), sans valeur par défaut.

  • [ @filename= ] **'**os_file_name '
    Chemin d'accès et nom de fichier utilisé par le système d'exploitation pour le fichier. Le fichier doit résider sur une instance du moteur de base de données. os_file_name est de type nvarchar(260), sans valeur par défaut.

  • [ @size= ] **'**size '
    Taille initiale du fichier. size est de type nvarchar(20), avec NULL comme valeur par défaut. Indiquez un nombre entier sans aucune décimale. Les indications Mo et Ko peuvent être utilisées pour indiquer qu'il s'agit de mégaoctets ou de kilo-octets. La valeur par défaut est Mo. La valeur minimale est 512 Ko. Si vous ne spécifiez pas l'argument size, la valeur par défaut est 1 Mo.

  • [ @maxsize= ] **'**max_size '
    Taille maximale que le fichier peut atteindre. max_size est de type nvarchar(20), avec NULL comme valeur par défaut. Indiquez un nombre entier sans aucune décimale. Les indications Mo et Ko peuvent être utilisées pour indiquer qu'il s'agit de mégaoctets ou de kilo-octets. La valeur par défaut est Mo.

    max_size n'est pas spécifié, la taille du fichier peut croître jusqu'à ce que le disque soit plein. Le journal des applications de Microsoft Windows avertit l'administrateur lorsqu'un disque est sur le point d'être saturé.

  • [ @filegrowth= ] **'**growth_increment '
    Quantité d'espace ajoutée au fichier chaque fois que de l'espace supplémentaire est nécessaire. growth_increment est de type nvarchar(20), avec NULL comme valeur par défaut. La valeur 0 indique qu'aucun accroissement n'est autorisé. Indiquez un nombre entier sans aucune décimale. La valeur peut être exprimée en Mo, en Ko ou en pourcentage (%). Lorsque % est spécifié, la taille de l'incrément de croissance est le pourcentage spécifié de la taille du fichier au moment où l'incrémentation a lieu. Si un nombre est mentionné sans préciser Mo, Ko ou %, la valeur par défaut est Mo.

    Si growth_increment a la valeur NULL, la valeur par défaut est 10 % et la valeur minimale pour la taille est 64 Ko. La taille spécifiée est arrondie à la valeur multiple de 64 Ko la plus proche.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Ensembles de résultats

Aucun

Autorisations

Les autorisations d'exécution sont accordées par défaut aux membres du rôle de serveur fixe sysadmin. Ces autorisations ne sont pas transférables.

Exemple

Dans l'exemple suivant, la base de données db1 a été déclarée suspecte au cours de sa récupération en raison d'un espace insuffisant (erreur 1105) dans le groupe de fichiers fg1.

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