Publicité
+ Répondre à la discussion
Page 2 sur 2 PremièrePremière 12
Affichage des résultats 21 à 23 sur 23
  1. #21
    Membre actif Avatar de sihammaster
    Webmaster
    Inscrit en
    mai 2009
    Messages
    255
    Détails du profil
    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : mai 2009
    Messages : 255
    Points : 157
    Points
    157

    Par défaut

    Probleme resolu:
    Voila j'ai Trouvé une solution, voila le code:
    Code :
    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
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2011
    Messages : 80
    Points : 16
    Points
    16

    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 Expert
    Homme Profil pro Marco Guignard
    Ingénieur développement logiciels
    Inscrit en
    avril 2009
    Messages
    761
    Détails du profil
    Informations personnelles :
    Nom : Homme Marco Guignard
    Âge : 30
    Localisation : Suisse

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

    Informations forums :
    Inscription : avril 2009
    Messages : 761
    Points : 1 493
    Points
    1 493

    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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •