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 :

Sauvegarde et Restauration données


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut Sauvegarde et Restauration données
    Je cherche des infos pour sauvegarder et restaurer des données dans une base MS SQL Server depuis mon code (développé en VS.NET - c#). Je ne trouve pas comment faire.
    Je ne sais pas si mon post est logé au bon endroit...

    merci de me dire ou trouver ces infos...

  2. #2
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    Tu peux utiliser SQLDMO dans ton code pour faire cela.

    a+

  3. #3
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Ou lancer la sauvegarde via une commande SQL BACKUP DATABASE...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    merci
    SQLDMO c'est la bonne solution !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    en fait j'y arrive pas.

    J'explique mon cas :
    - mon application fonctionne avec un MSDE et non un SQL Server normal (je sais pas si ça a une importance),
    - c'est une application qui tourne en C#.net
    - un Setup installe l'instance de MSDE.
    - lors du fonctionnement de l'application je dois faire une sauvegarde. Je voulais donc faire :
    1 - un DetachDB,
    2 - copier le fichier MDF ailleurs,
    3 - Faire un AttachDB.

    Le problème c'est que pour passer les commandes il me faut un SQLDMO.SQLServer.
    et dans mon code (désolé c'est du C#, mais ça concerne SQLDMO et comme le sujet a été posté ici et qu'il concerne SQLDMO et MSDE je sais pas si je dois continuer ici) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    			SQLDMO.Application dmoApp = new SQLDMO.Application();
    			SQLDMO.SQLServers myServers = dmoApp.SQLServers;
    			for (int i = 0 ; i < myServers.Count ; i++)
    			{
    				string Host = myServers.Item(i).HostName;
    				string Name = myServers.Item(i).Name;
    			}
    et bien mon myServers.Count est à 0.
    Il ne voit aucune Instance de SQL Server qui tourne.
    Pourtant j'ai installé MSDE pour le Debug, plus une instance installée par le Setup.

    Ma question est donc :
    - pourquoi ? parceque c'est du MSDE ? ou bien parce que c'est le Setup et moi même à la main pour le Debug qui avons créé les instances en dehors de SQLMDO.
    - comment faire pour obtenir la litse des Serveurs SQL qui tournent sur mon PC ?
    J'ai bien vu un ListAvailableSQLServers, mais il retourne un SQLDMO.NameList qui ne me permet pas d'avoir une liste de Serveurs, dont je pourrais extraire celui qui me va bien pour Detacher ma base ....

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    [Up !]
    J'ai rien trouvé encore, alors je réactualise ma demande des fois que quelqu'un aurait une idée ???

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 135
    Points : 167
    Points
    167
    Par défaut
    regarde ici, tu a un exemple de l'utilisation. je me suis servi de celui la pour faire mon appli de backup

    http://www.csharphelp.com/archives2/archive342.html[/code]

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    merci.
    l'exemple est interessant.
    je me suis empressé de faire des copier-coller des parties de code qui m'interessent.
    Je rencontre un problème basique (je pense).
    Dès que j'essaye de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    srv.Connect(this.cboServers.SelectedItem.ToString(),this.txtUser.Text,this.txtPassword.Text);
    Avec le this.txtUser.Text = "sa"
    et this.txtPassword.Text = null
    car je fonctionne avec une instance par défaut de MSDE.
    j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	Message	"[Microsoft][ODBC SQL Server Driver][SQL Server]Échec de la connexion de l'utilisateur 'sa'. Raison : Non associé à une connexion sécurisée SQL Server."	string
    J'avoue que je ne comprends pas ce que je dois faire.
    Car dans tous les cas identiques que je trouve sur le Net, le problème est lié à une mauvaise identification.
    Je suis en mixed Mode et j'ai le SA user. Je vois pas ce qui manque...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 120
    Points : 48
    Points
    48
    Par défaut
    je n'ai plus le problème sans savoir réellement pourquoi !

    Par contre j'ai un peu changé des choses.
    Pour sauvegarder je fais d'abord un detachement de la base,
    ensuite un bakup,
    enfin un rattachement de la base

    Pour la restaur :
    un DetachDB de la base en cours d'utilisation par l'application,
    un RestoreDB
    un AttachDB.

    Et oui mon appli qui fait les sauvegardes/Restauration est la même que celle qui utiliser la base.

    ça me pose un problème

    Quand je veux Detacher avant Restauration, il semble que des Objets aient gardé un lien avec la DB, malgrés SqlConnection.Close(), sur toutes celles qui ont été utilisé auparavant.
    Quelqu'un a déjà cette expérience ?

Discussions similaires

  1. Sauvegarde et restauration de données
    Par big1 dans le forum Administration
    Réponses: 12
    Dernier message: 12/04/2010, 16h03
  2. initialiser, sauvegarder et restaurer une base de données
    Par ing1312 dans le forum Bases de données
    Réponses: 10
    Dernier message: 19/07/2009, 21h52
  3. Réponses: 3
    Dernier message: 12/03/2009, 09h03
  4. Réponses: 5
    Dernier message: 14/12/2007, 10h12
  5. Réponses: 4
    Dernier message: 03/02/2006, 12h42

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