Probleme resolu:
Voila j'ai Trouvé une solution, voila le code:
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.
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
Partager