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 :

[SQL2005][SQL2K][Job][BCK]Copier une base de données de sql2K vers sql2005


Sujet :

MS SQL Server

  1. #1
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut [SQL2005][SQL2K][Job][BCK]Copier une base de données de sql2K vers sql2005
    Bonjour,
    je veux créer un job pour copier une base de données d'une instance de SQL Server 2000 vers un SQL Server 2005 sur un autre serveur.

    Pour cela, dans la base de données d'origine,
    (1) je crée une sauvegarde vers un fichier,
    (2) je copie ce fichier sur le serveur destination,
    (3) je restaure la base de données à partir de cette sauvegarde.

    J'ai fait ça manuellement, et ça marche bien, je veux maintenant créer un job parce-que je suis fainéant mais je dois le faire souvent.

    Pour les étapes 2 et 3, il n'y a pas de problème. Mais pour l'étape 1, je ne sais pas comment, depuis le serveur destination, demander au serveur source de sauvegarder la base de données sur disque.

    Pendant tout ce temps, la base de données source ne doit jamais être arrêtée, car elle est toujours utilisée. Sur la base de données destination, par contre, je peux tout faire, elle est utilisée pour le développement.
    J'ai essayé le wizard Copy Database, mais il échoue, alors il a fallu que je trouve autre chose.
    J'ai vu un une fonctionnalité appelée réplication dans le Management Studio, mais elle n'est pas installée sur le serveur origine, et comme j'ai dit, je ne peux pas mettre la base de données offline, encore moins installer un composant.

    Etape 1
    Script utilisée pour sauvegarder la base de données. Il marche s'il est executé sur le serveur source :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    BACKUP DATABASE [JunoProd] 
        TO  DISK = N'E:\BAK\Juno.bak' 
        WITH  RETAINDAYS = 1, 
        NOFORMAT, 
        INIT,  
        NAME = N'JunoProd-Full Database Backup', 
        SKIP, 
        NOREWIND, 
        NOUNLOAD,  
        STATS = 10
    GO
    declare @backupSetId as int
    select     @backupSetId = position 
    from     msdb..backupset 
    where     database_name=N'JunoProd' and 
        backup_set_id=
        (select max(backup_set_id) 
        from msdb..backupset where database_name=N'JunoProd' )
    if @backupSetId is null begin 
        raiserror(N'Verify failed. Backup information for database ''JunoProd'' not found.', 16, 1) 
    end
    RESTORE VERIFYONLY 
        FROM  DISK = N'E:\BAK\Juno.bak' 
        WITH  FILE = @backupSetId,  
        NOUNLOAD,  
        NOREWIND
    GO

    Les étapes 2 et 3 marchent bien:
    Etape 2: (CmdExec)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copy "\\10.1.0.27\BAK\Juno.bak" "d:\backup\Juno.bak" /Y
    Etape 3:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    RESTORE DATABASE [JunoProd] 
    FROM  DISK = N'D:\Backup\Juno.bak' 
    WITH  FILE = 1,  
    MOVE N'Juno' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\JunoProd.mdf',  
    MOVE N'Juno_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\JunoProd_1.ldf',  
    REPLACE,  
    STATS = 10
    GO


    Comment faire marcher la première étape, pour un job executé depuis le serveur destination ?

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonsoir,

    Que se passe-t-il lorsque vous exécutez manuellement l'étape 1 ? Votre serveur SQL Server 2000 est-il lié au server SQL Server 2005 ?

    @+

  3. #3
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonsoir,

    Que se passe-t-il lorsque vous exécutez manuellement l'étape 1 ? Votre serveur SQL Server 2000 est-il lié au server SQL Server 2005 ?

    @+

    Executée manuellement, sur l'ancien serveur (en fait même automatiquement, avec le script donné), l'étape 1 marche bien, j'ai ce que je veux. Est-ce que ça répond à votre question ?

    Mais je veux que toutes les étapes soient dans un seul job.

    Dans les serveurs liés au serveur 2005, il y a bien le serveur 2000.

Discussions similaires

  1. copier une base de données
    Par boubou2412 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/05/2009, 11h13
  2. Copier une base de données
    Par minos23 dans le forum MySQL
    Réponses: 3
    Dernier message: 27/04/2009, 09h40
  3. Copier une base de donnée vers une autre
    Par maxeur dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 04/09/2008, 09h37
  4. copier une base de données en sql manager 2005
    Par danouna dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/11/2007, 07h58
  5. Copier une base de données
    Par emeraudes dans le forum VBA Access
    Réponses: 6
    Dernier message: 12/04/2006, 10h44

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