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

VB.NET Discussion :

Comment sauvegarder une base de données en vb.net


Sujet :

VB.NET

  1. #21
    Membre habitué Avatar de sihammaster
    Webmaster
    Inscrit en
    Mai 2009
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 256
    Points : 183
    Points
    183
    Par défaut
    Probleme resolu:
    Voila j'ai Trouvé une solution, voila le code:
    Code : 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
    29
    30
    31
    32
    33
    34
    35
     
     
    Dim conect As New SqlConnection("data source=" + My.Computer.Name + "\SQLEXPRESS  ; integrated security=true")
            Dim com0 As SqlCommand = New SqlCommand("SELECT count(*) FROM sys.databases where name =.....", conect)
     
     
            com = New SqlCommand("SELECT name FROM sys.databases where name =.....", conect)
            For j = 0 To GetData(com).Rows.Count - 1
     
                Dim cnString As String = "Integrated Security=true ; Data Source =" + My.Computer.Name + "\SQLEXPRESS"
                Dim dbLocation As String = "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\"
                Dim dbName As String = GetData(com).Rows(j).Item(0)
                Dim cn As New SqlConnection(cnString)
                cn.Open()
                Dim cmd As New SqlCommand("ALTER DATABASE " & dbName & " SET OFFLINE", cn)
                cmd.ExecuteNonQuery()
                cn.Close()
                RelocateCopiedMDF(dbLocation, dbName)
                cn.Open()
                Dim cmd1 As New SqlCommand("ALTER DATABASE " & dbName & " SET ONLINE", cn)
                cmd1.ExecuteNonQuery()
                cn.Close()
            Next
                MessageBox.Show("Sauvegarde complete.")
     
     Private Sub RelocateCopiedMDF(ByVal dbLocation As String, ByVal dbName As String)
            Dim myMDF As String = dbLocation & "\Data\" & dbName & ".mdf"
            Dim myLDF As String = dbLocation & "\Data\" & dbName & "_Log.ldf"
     
            Dim copyMDF As New FileInfo(myMDF)
            Dim copyLDF As New FileInfo(myLDF)
               copyMDF.CopyTo("C:/"  & dbName & ".mdf")
            copyLDF.CopyTo("C:/"  & dbName & ".ldf")
     
        End Sub
    Dans ce code j'ai fai une boucle pour parcourir toutes les bases de données dans sql server evitant les BDDs systeme, puis j'ai arreter les DBBs pour pouvoir les copies, apres le copage je redemarre les BDDs.

  2. #22
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2011
    Messages : 143
    Points : 60
    Points
    60
    Par défaut
    Salut et merci pour le partage mais je souhaiterais savoir la méthode te si possible le code que vous avez utilisé pour résoudre le problème. Merci d'avance.

  3. #23
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 048
    Points : 2 201
    Points
    2 201
    Par défaut
    La solution présentée utilisant le concept de "détacher/attacher" la base de donnée est à mon avis une hérésie complète (mais c'est mon avis).

    Il y a des fonctionnalités de backup sur SQL SERVER (et tout autres SGBD qui se respectent) permettant de faire des backups à chaud, incrémentiel, complet. Ces choses n'ont pas été mise en place pour ajouter des chapitres au manuel technique du produit !

    Je ne suis pas non plus convaincu par l'implémentation du processus de sauvegarde dans une application nécessitant une intervention humaine. Ces backups doivent se faire de manière automatique et cachée (bien qu'un système de notification mail sur le résultat de l'opération soit une bonne chose).

    Je recommande donc chaudement de lire les réponses de Hinault Romaric. Les autres réponses donneront envie de se laver les yeux au savon à n'importe quel informaticien un tant soit peu professionnel !

    Je sais que je suis dur mais ce sujet mérite un recadrage sérieux.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/11/2013, 09h25
  2. Comment sauvegarder une base de donnée ?
    Par Ryu2000 dans le forum Bases de données
    Réponses: 8
    Dernier message: 30/04/2010, 16h44
  3. comment vider une base de donnée
    Par caps_corp dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 21/04/2004, 16h54
  4. Comment acceder à une base de donnée F1.db_ ?
    Par diado dans le forum Autres SGBD
    Réponses: 8
    Dernier message: 26/12/2003, 08h09

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