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

Administration SQL Server Discussion :

Backup/restore ou recréation de base via script sql ?


Sujet :

Administration SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Backup/restore ou recréation de base via script sql ?
    Bonjour,

    à l'occasion d'une prochaine migration de serveur de base de données (Sql server 2005) j'aimerais savoir s'il y a un intérêt (performance ou autre) à prendre le temps de recréer la base de données via un gros script sql, puis de recréer tous les metadata (user,fonction,index,SP,..) via script plutôt que simplement faire un backup full puis un restore ?
    Je me pose cette question car la base d'origine date de SQL2000, a été migré sur un 2005 sans recréation de la base.

    merci à tous ceux qui auraient de l'experience sur ces 2 possibilités ou de la littérature sur le sujet !
    De même certains connaitraient-ils des logiciels ou des scripts/méthodes qui peuvent aider à la sauvegarde d'une base sous format SQL et à sa réinsertion dans une nouvelle base ?

    (la base concernée fait environ 15Gb, et le jour de la migration la durée de la coupure est une problématique que je dois prendre en compte, merci aussi si vous avez des infos/idées sur le temps que prendrait la solution de création de fichiers SQL / insertion)

    Merci,
    Luc

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

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

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour luc_f,

    Vous migrez de quelle version à quelle version ?

    Il faut prendre en compte la durée maximum acceptable de coupure imposée. Les solutions peuvent être différentes selon le cas. Personnellement à chaud je préconiserais 2 solutions selon la durée d'interruption permise :

    - Un backup / Restore : Nécessite le temps de backup + copie du backup sur le nouveau serveur + Restauration backup
    - Détachement de la base : Nécessite le temps de détachement + copie des fichiers + attachement base de données

    La création des scripts et le transfert des données me paraît être une opération très lourde. Vous pouvez l'éviter en plus si vous transférerez vos données entre serveurs SQL Server. Sinon il existe bien un assistant de création de script des objets et un assistant d'import / export proposés directement dans SQL Server.

    Ensuite si vous changez de serveur n'oubliez pas de migrer les autres objets de serveurs : (jobs, serveurs liés, compte de connexion ...). Pour cela vous pouvez préparer un package SSIS de migration qui permet de transférer ce genre d'objets d'un serveur à un autre). Au pire il faut scripter la création de ces objets.

    Enfin n'oubliez pas de regénérer les mappings entre vos comptes de connexion de type SQL et vos utilisateurs avec la procédure sp_change_user_login.

    Dans tout les cas préparez bien votre plan de migration, checkez la liste des actions à entreprendre avant migration et celles à vérifier pour confirmer le bon fonctionnement de votre serveur SQL après migration.

    ++

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci de cette première réponse.
    La migration est en fait uniquement une migration de serveur physique (on change d'hebergeur), on reste en sql2005/W2K3 .
    Le temps de coupure peut aller jusqu'à 24H en W.E, et hier soir j'ai testé un applicatif qui m'a copié les data de la base en faisant des insert dans une autre base (même serveur) en environ 7H.
    Suite à ca j'ai recréé les index non-cluster, les fonctions, les procédures et tout marchait avec cette nouvelle base. (testée sur environnement de test).

    ma question est surtout sur le gain hypothétique de performance et de propreté de la base en passant par une telle procédure ... quelqu'un a t il un avis la dessus ?

    On va aussi en profiter pour restructurer la base au niveau des filegroup et déplacer certaines tables dans des bases en lecture seule ... donc on n'est plus à qques heures de boulot supplémentaire ..

    merci

    Luc

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par luc_f Voir le message
    Bonjour,

    merci de cette première réponse.

    (...)

    ma question est surtout sur le gain hypothétique de performance et de propreté de la base en passant par une telle procédure ... quelqu'un a t il un avis la dessus ?
    Bonjour,

    Je suis toujours à la recherche d'avis et conseils sur le point cité ci-dessus.
    Vaut-il mieux recréer une base qui a une dizaine d'année d'age en script sql (insert) plutôt qu'un backup/restore ?

    merci de vos avis,
    cordialement
    Luc

  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 763
    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 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    A partir de la version 2005 vous pouvez faire une migration de données d'un serveur à l'autre sans aucune interruption de service en utilisant le mirroring.

    le principe est simple :
    1) installer le mirroring entre votre base source et la base cible
    http://blog.developpez.com/sqlpro/p7...-base-de-donn/
    2) basculer de la source vers la cible
    3) supprimer le mirroring.

    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/ * * * * *

Discussions similaires

  1. Backup base de données via script
    Par ptr83 dans le forum DB2
    Réponses: 1
    Dernier message: 26/04/2013, 10h36
  2. Problème de génération de MLD via script SQL
    Par Caliimero dans le forum PowerAMC
    Réponses: 1
    Dernier message: 22/09/2012, 21h05
  3. Export BD via script sql
    Par snayksql dans le forum Requêtes
    Réponses: 0
    Dernier message: 04/05/2010, 10h35
  4. [C# & MySql] Création BDD via script .sql
    Par Saten dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/11/2008, 11h18
  5. Script de suppression et de recréation de base
    Par nico93100 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/12/2005, 12h06

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