sp_add_log_file_recover_suspect_db (Transact-SQL)

Ajoute un fichier journal à un groupe de fichiers lorsque la récupération d'une base de données ne peut se terminer en raison d'une erreur 9002 (espace journal insuffisant). Une fois le fichier ajouté, sp_add_log_file_recover_suspect_db 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 LOG FILE.

Important

Avant d'utiliser cette procédure stockée, considérez les autres solutions décrites dans Dépannage d'un espace disque de données insuffisant.

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

Syntaxe

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'

Arguments

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

  • [ @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 et nom de fichier utilisé par le système d'exploitation pour le fichier. Le fichier doit résider sur le serveur sur lequel le moteur de base de données est installé. 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 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 spécifier 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 de retour

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

Jeux 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.

Exemples

Dans l'exemple suivant, la base de données db1 a été déclarée suspecte lors de sa récupération en raison d'un espace journal insuffisant (erreur 9002).

USE master;
GO
EXEC sp_add_log_file_recover_suspect_db db1, logfile2,
'C:\Program Files\Microsoft SQL
    Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\db1_logfile2.ldf', 
    '1MB';