IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Restaurer une base depuis un fichier .bak


Sujet :

MS SQL Server

  1. #1
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 758
    Points : 407
    Points
    407
    Par défaut Restaurer une base depuis un fichier .bak
    J'ai demandé à l'hébergeur de mon site web asp/Sql server d'exporter la base afin de l'importer sur mon poste. On m'a envoyé un fichier .bak que j'ai importé sous SQL Server manager Studio (btn droit / task / restore / choix de la base locale puis du fichier...) et voilà le message d'erreur obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TITLE: Microsoft SQL Server Management Studio
    ------------------------------
    
    Restore failed for Server 'SAMI'.  (Microsoft.SqlServer.Smo)
    
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
    
    ------------------------------
    ADDITIONAL INFORMATION:
    
    System.Data.SqlClient.SqlError: The file "\\nas_sql\base_sql\Datas\toto.mdf" is on a network path that is not supported for database files. (Microsoft.SqlServer.Smo)
    
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&LinkId=20476
    qu'est ce qui ne va pas ?

  2. #2
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Comme il explique, visiblement il essaye d'atteindre un fichier sur un disque réseau et ça il n'aime pas.
    Toutes les bases doivent être en local par rapport au services SQL.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    Plus exactement, les fichiers de la base d'origine dont les emplacements sont sauvegardés avec le backup, ne sont certainement pas les mêmes que ceux sur votre PC.
    Lors de la restauration, par défaut SQL Server essaye de remettre les fichiers de la base au même endroit.
    Pour remédier à ce problème, utilisez l'option WITH MOVE de la commande RESTORE DATABASE.

    A +

  4. #4
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 758
    Points : 407
    Points
    407
    Par défaut
    merci pour l'info, cependant je ne suis pas trop familier avec mssql ...
    J'ai le fichier de backup 'c:\toto.bak'
    La bdd sur le serveur web s'appelle toto
    Quelle est la bonne syntaxe ?
    J'ai testé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RESTORE DATABASE toto 
    FROM 'c:\toto.bak'
    WITH MOVE 'toto' TO 'I:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\toto.bak'
    j'ai copié ceci dans l'éditeur de requête et voilà ce que j'ai eu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Msg 102, Level 15, State 1, Line 2
    Incorrect syntax near 'c:\toto.bak'.
    Msg 319, Level 15, State 1,a Line 3
    Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 917
    Points : 51 693
    Points
    51 693
    Billets dans le blog
    6
    Par défaut
    Une base de données SQL Server possède toujours au moins 2 fichiers : l'un contient les données, l'autre le journal des transactions. Les deux fichiers doivent être rattachés.

    Pour cela vous devez connaître les noms des fichiers logiques dans la base.

    Si vous ne le savez pas, vous pouvez interroger le fichier à l'aide de la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RESTORE FILELISTONLY
    FROM DISK = 'c:\toto.bak'
    Ceci vous donnera les noms logiques des fichiers. A vous de les remapper avec l'option MOVE :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RESTORE DATABASE toto 
    FROM DISK = 'c:\toto.bak'
    WITH MOVE '<fichier logique data>' TO '<fichier lambda ou je veux>', 
         MOVE '<fichier logique journal>' TO '<fichier lambda bis ou je veux>'
    PS : apprenez à vous servir de SQL Server !

  6. #6
    Membre averti Avatar de sami_c
    Profil pro
    Chef de projet
    Inscrit en
    Mai 2002
    Messages
    758
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Mai 2002
    Messages : 758
    Points : 407
    Points
    407
    Par défaut
    Merci ça a marché

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Restaurer une base a partir des fichiers mysql
    Par mims1664 dans le forum MySQL
    Réponses: 4
    Dernier message: 23/09/2010, 14h11
  2. restaurer une base à partir d'un fichier bak
    Par nahoula1231 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/09/2010, 14h39
  3. Restaurer une Base depuis un .Bak stocké sur un serveur distant
    Par TechNoCrat dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/08/2009, 14h45
  4. restaurer une base de donnée à partir des fichiers mdf et ldf
    Par funboard dans le forum Réplications
    Réponses: 2
    Dernier message: 26/04/2009, 11h08
  5. [Débutant] Restaurer une base de données .Bak
    Par digital prophecy dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 29/08/2006, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo