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 :

Restore vs Script


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    web entrepreneur
    Inscrit en
    Novembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : web entrepreneur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Restore vs Script
    Bonjour,

    Je vais migrer une base sur un nouveau serveur dans quelques temps.
    Je me pose une question :

    1/ Est-il préférable de faire un RESTORE de la database...
    2/ ou de refaire la structure de la base et injecter les données des tables par INSERT ?

  2. #2
    Expert éminent
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Points : 6 775
    Points
    6 775
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Normalement vous avez du détacher la base de votre ancien serveur via sp_detach_db. Il vous suffit d'attacher le fichier de base après l'avoir placé dans son dossier via la commande suivante

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    EXEC sp_attach_db @dbname = N'maBase', 
        @filename1 = N'D:\Datas\maBase_Data.mdf',

    Si vous n'avez qu'un backup, un restore suffira

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RESTORE DATABASE AdventureWorks2012
       FROM DISK = 'D:\Backup\maBase.bak'
       WITH FILE = 1
          RECOVERY;

    Cordialement,
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  3. #3
    Membre du Club
    Homme Profil pro
    web entrepreneur
    Inscrit en
    Novembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : web entrepreneur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Mercy Lyche,

    Oui pas de problème, je peux faire l'une ou l'autre de ces méthodes.

    Mais je me posais la question si il était préférable de partir sur une base que je qualifierai de "neuve", en insérant par script les données dans les tables ?

    Car avec un restore, tout est restauré je pense non ? y compris la "fragmentation" ?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    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 772
    Points : 52 737
    Points
    52 737
    Billets dans le blog
    5
    Par défaut
    Le problème c'est le temps de traitement....

    Un detach/attach c'est instantané

    Un restore agit à peu près aussi vite que la création d'un fichier et l'écriture séquentielle de ce fichier + delta.

    Une recréation par script est en vitesse de l'ordre de n² n étant le nombre d'objet. Par exemple pour une base de 1 To comptez 2 jours!!!!!!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre du Club
    Homme Profil pro
    web entrepreneur
    Inscrit en
    Novembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : web entrepreneur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Je vais tester pour la durée.

    Merci

    A+

  6. #6
    Membre du Club
    Homme Profil pro
    web entrepreneur
    Inscrit en
    Novembre 2012
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : web entrepreneur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Le problème c'est le temps de traitement....

    Un detach/attach c'est instantané

    Un restore agit à peu près aussi vite que la création d'un fichier et l'écriture séquentielle de ce fichier + delta.

    Une recréation par script est en vitesse de l'ordre de n² n étant le nombre d'objet. Par exemple pour une base de 1 To comptez 2 jours!!!!!!!

    A +
    Bonjour,

    2 de mes tables sont trop importantes pour un INSERT par script. Apparemment, il s'agit d'un problème de mémoire.

    J'ai testé un import et export par une commande BCP et cela fonctionne bien et de plus, est très rapide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    BCP database.dbo.T_TEST out C:\T_TEST.txt -S xxxx\SQLEXPRESS -T -c
     
    BCP database.dbo.T_TEST in C:\T_TEST.txt -S zzzz\SQLEXPRESS -T -c

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

Discussions similaires

  1. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  2. Backup/restore ou recréation de base via script sql ?
    Par luc_f dans le forum Administration
    Réponses: 4
    Dernier message: 09/12/2009, 15h12
  3. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42
  4. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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