VB.NET DMO SQL SERVER備份恢複

來源:互聯網
上載者:User
 

VB.NET DMO SQL SERVER 備份恢複 Public Class Form1     Inherits System.Windows.Forms.Form#Region " Windows 表單設計器產生的程式碼 "    Public Sub New()
        MyBase.New()        '該調用是 Windows 表單設計器所必需的。
        InitializeComponent()        '在 InitializeComponent() 調用之後添加任何初始化    End Sub    '表單重寫處置以清理組件列表。
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub    'Windows 表單設計器所必需的
    Private components As System.ComponentModel.IContainer    '注意:以下過程是 Windows 表單設計器所必需的
    '可以使用 Windows 表單設計器修改此過程。
    '不要使用代碼編輯器修改它。
    Friend WithEvents ProgressBar1 As System.Windows.Forms.ProgressBar
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.ProgressBar1 = New System.Windows.Forms.ProgressBar()
        Me.Button1 = New System.Windows.Forms.Button()
        Me.SuspendLayout()
        '
        'ProgressBar1
        '
        Me.ProgressBar1.Anchor = ((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right)
        Me.ProgressBar1.Location = New System.Drawing.Point(8, 8)
        Me.ProgressBar1.Name = "ProgressBar1"
        Me.ProgressBar1.Size = New System.Drawing.Size(384, 23)
        Me.ProgressBar1.TabIndex = 0
        '
        'Button1
        '
        Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
        Me.Button1.Location = New System.Drawing.Point(160, 40)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(75, 24)
        Me.Button1.TabIndex = 1
        Me.Button1.Text = "備份"
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.BackColor = System.Drawing.Color.CornflowerBlue
        Me.ClientSize = New System.Drawing.Size(400, 74)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.Button1, Me.ProgressBar1})
        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
        Me.MaximizeBox = False
        Me.MinimizeBox = False
        Me.Name = "Form1"
        Me.ShowInTaskbar = False
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.ResumeLayout(False)    End Sub#End Region    '此處由於嫌麻煩未按屬性來處理……應改進
    Public sa As String                 
    Public passerd As String
    Public file As String
    Public database As String
    Public sqlserver As String    Public flag As Boolean = True
    Private WithEvents PBackup As New SQLDMO.Backup()
    Private WithEvents oRestore As New SQLDMO.Restore()     ' Property SQLServerName() As String
    '    Get
    '       Return sqlserver
    '   End Get
    '   Set(ByVal Value As String)
    '      sqlserver = Value
    '   End Set
    '  End Property
    '備份
    Public Function BACKUP(ByVal DATABASENAME As String, ByVal SQLServe As String, ByVal ROLE As String, ByVal PASSWORD As String, ByVal backfilename As String)
        Me.ProgressBar1.Value = 0
        Me.BackColor = System.Drawing.Color.RoyalBlue
        Me.Button1.Text = "備份"
        Me.Show()
        On Error GoTo ErrHandler        Dim SQLSER As New SQLDMO.SQLServer        SQLSER.Connect(SQLServe, ROLE, PASSWORD)
        PBackup.Database = DATABASENAME        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor        PBackup.Files = backfilename
        PBackup.SQLBackup(SQLSER)        SQLSER.DisConnect()
        SQLSER = Nothing
        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
        Exit FunctionErrHandler:        MsgBox("備份失敗,請檢查來源資料庫是否存在、角色許可權是否足夠或SQL SERVER服務是否被開啟" & Chr(13) & "資訊:" & Err.Description)
        Resume Next
    End Function    '恢複
    Public Function RSTORE(ByVal DATABASENAME As String, ByVal SQLServe As String, ByVal ROLE As String, ByVal PASSWORD As String, ByVal restfilename As String)         Me.ProgressBar1.Value = 0        Me.BackColor = System.Drawing.Color.OliveDrab
        Me.Button1.Text = "恢複"
        Me.Show()
        On Error GoTo ErrHandler
        Dim SQLSER As New SQLDMO.SQLServer         SQLSER.Connect(SQLServe, ROLE, PASSWORD)        oRestore.Database = DATABASENAME
        oRestore.Files = restfilename
        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
        oRestore.SQLRestore(SQLSER)
        System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default         SQLSER.DisConnect()
        SQLSER = Nothing         Exit FunctionErrHandler:
        MsgBox("恢複失敗,請檢查恢複資料庫是否存在、角色許可權是否足夠或SQL SERVER服務是否被開啟" & Chr(13) & "資訊:" & Err.Description)
        Resume Next
    End Function
    Private Sub PBackup_Complete(ByVal Message As String) Handles PBackup.Complete        Me.ProgressBar1.Value = 100
        PBackup = Nothing
        Me.oRestore = Nothing
        Me.Close()    End Sub
    Private Sub PBackup_PercentComplete(ByVal Message As String, ByVal Percent As Integer) Handles PBackup.PercentComplete
        Me.BackColor = System.Drawing.Color.RoyalBlue        Me.ProgressBar1.Value = Percent
        If Percent = 100 Then            Me.ProgressBar1.Value = 100
            PBackup = Nothing
            Me.oRestore = Nothing
            Me.Close()        End If
    End Sub
    Private Sub oRestore_Complete(ByVal Message As String) Handles oRestore.Complete        Me.ProgressBar1.Value = 100
        PBackup = Nothing
        Me.oRestore = Nothing
        Me.Close()
    End Sub
    Private Sub oRestore_PercentComplete(ByVal Message As String, ByVal Percent As Integer) Handles oRestore.PercentComplete
        Me.BackColor = System.Drawing.Color.OliveDrab        Me.ProgressBar1.Value = Percent
        If Percent = 100 Then            Me.ProgressBar1.Value = 100
            PBackup = Nothing
            Me.oRestore = Nothing
            Me.Close()
        End If
    End Sub    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If flag = True Then            Me.BACKUP(Me.database, Me.sqlserver, Me.sa, Me.passerd, Me.file)        Else
            Me.RSTORE(Me.database, Me.sqlserver, Me.sa, Me.passerd, Me.file)        End If    End Sub
End Class

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.