BOGUE : sauvegarde de journal des transactions possible après la reconstruction automatique de LDF

Traductions disponibles Traductions disponibles
Numéro d'article: 257855 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
BOGUE #: 57670 (SQLBUG_70)
Agrandir tout | Réduire tout

Sommaire

Symptômes

Si le fichier de données de journal (LDF) d'une base de données n'est pas disponible lors du démarrage de SQL Server (par exemple, si le fichier a été renommé ou supprimé), SQL Server 7.0 essaie parfois recréer le fichier LDF automatiquement pour garantir la disponibilité de la base de données.

Car les informations à partir du fichier LDF d'origine sont perdues, ce processus interrompt une séquence existante de sauvegardes du journal des transactions. Une nouvelle sauvegarde complète de la base de données doit être effectuée pour démarrer une nouvelle séquence sur les sauvegardes du journal des transactions.

Toutefois, SQL Server vous autorise à effectuer une sauvegarde de journal transaction apparemment valide en ce moment sans vous avertir que la séquence de sauvegarde est rompue.

Si vous effectuez ces une sauvegarde non valide et tentative par la suite de restaurer ce journal des transactions, il échoue avec le le message suivant :
Serveur: Msg 3155, Niveau 16, État 1, ligne 1
L'opération RESTORE ne peut pas continuer car un ou plusieurs fichiers ont été ajoutés ou supprimés de la base de données depuis que le jeu de sauvegarde a été créé.

Serveur: Msg 3013, Niveau 16, État 1, ligne 1
Sauvegarde ou restauration opération termine anormalement.

Contournement

Pour contourner ce problème, appliquez une des opérations suivantes :
  • Assurez-vous que les fichiers LDF ne sont pas supprimés ou renommés.

    -or-
  • Effectuer une sauvegarde complète de la base de données pour recommencer la séquence de sauvegarde de journaux de transaction.

Statut

Microsoft a confirmé l'existence de ce problème dans SQL Server 7.0.

Plus d'informations

Procédure pour reproduire le problème

  1. Les instructions suivantes permet de créer une base de données, d'insérer des données et de commencer une série de sauvegarde :
    create database test
    go
    
    use test
    go
    create table t (c int)
    go
    insert into t values (1)
    go
    
    backup database test to disk='c:\test_dump.bak' WITH INIT
    go
    insert into t values (2)
    go
    backup log test to disk='c:\test_dump.bak' WITH NOINIT
    go
    
    insert into t values (3)
    go
    
    use master
  2. Utilisez les étapes suivantes pour permettre à SQL Server créer un nouveau fichier LDF pour la base de données au démarrage :
    1. Assurez-vous qu'aucun utilisateur n'est connecté à la base de données.
    2. Arrêtez le service SQL Server.
    3. Renommez le fichier test_log.ldf.
    4. Démarrez le service SQL Server.
  3. Vérifiez le type suivant d'entrées dans le journal des erreurs SQL Server pour vérifier qu'un nouveau fichier LDF a été créé :
    Fichier c:\MSSQL7\data\test_log.LDF inexistant - Impossible d'activer.
    Essayez de recréer fichier journal principal pour le test de base de données.
    ...
    Le f:\MSSQL7\data\test_log.LDF de fichier nouveau journal intégré.
  4. Utilisez les instructions suivantes pour continuer la chaîne de sauvegarde :
    use test
    go
    insert into t values (4)
    go
    backup log test to disk='c:\test_dump.bak' WITH NOINIT
    go


  5. Utiliser les instructions suivantes pour tenter de restaurer les sauvegardes dans une base de données nommée testrestore :
    RESTORE DATABASE testrestore
       FROM disk='c:\test_dump.bak'
       WITH NORECOVERY, 
       MOVE 'test' TO 'c:\testrestore.mdf', 
       MOVE 'test_log' TO 'c:\testrestore.ldf'
    RESTORE LOG testrestore
       FROM disk='c:\test_dump.bak'
       WITH NORECOVERY,FILE = 2
    RESTORE LOG testrestore
       FROM disk='c:\test_dump.bak'
       WITH FILE = 3, RECOVERY
À ce stade, vous recevez le message d'erreur suivantes :
Serveur: Msg 3155, Niveau 16, État 1, ligne 1
L'opération RESTORE ne peut pas continuer car un ou plusieurs fichiers ont été ajoutés ou supprimés de la base de données depuis que le jeu de sauvegarde a été créé.

Serveur: Msg 3013, Niveau 16, État 1, ligne 1
Sauvegarde ou restauration opération termine anormalement.

Propriétés

Numéro d'article: 257855 - Dernière mise à jour: dimanche 2 février 2014 - Version: 1.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 257855
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com