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 Function
ErrHandler:
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 Function
ErrHandler:
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
相关推荐
基于SQL Server-DMO的数据库备份与恢复
基于SQL-DMO的SQL Server远程管理.pdf
运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、 决策支持对象 (DSO) 和 SQL 虚拟设备接口 (SQLVDI)。为了与 SQL Server 2005 兼容, 这些版本已进行了更新,并且包含 SQL Server 2000 SP4 提供的所有修复程序。 ...
SQL-DMO 分发安装包 for SQL Server 2000(原创),由SQL SERVER 2000 整理得来,包括安装文件和卸载文件。
使用SQL-DMO对象让人且喜且忧。它提供了非常丰富的功能,以至于不知该如何使用。本文只讨论示例涉及的对象属性和方法。...SQL-DMO还提供远程备份和恢复功能。本文没有涉及数据库恢复,但SQL-DMO有很强的恢复功能。
如果在更早 Community Technology Preview (CTP) 版本的 SQL Server Express 中禁用了 sp_configure 选项“SMO 和 DMO XP”,则在使用 SAVESYSDB 卸载该早期实例,然后使用 USESYSDB 安装本版本时,将可能无法从命令...
基于SQL-DMO的SQLServer应用系统.pdf
基于SQL-DMO的数据备份和恢复的设计与实现.pdf
SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、决策支持对象 (DSO) 和 SQL 虚拟设备接口 (SQLVDI)。为了与 SQL Server ...
将 ASP.NET 2.0 应用程序服务配置为使用 SQL Server 2000 或 SQL Server 2005 ASP.NET 2.0 中的数据源控件 使用 ASP.NET 2.0 ObjectDataSource 控件 ASP.NET 2.0 的内部变化 使用SQL Cache Dependency 代替 ...
sql server sqldmo_x86_x64,C#数据库备份还原很好用的.dll,里面有使用方法,引用Interop.SQLDMO.dll后的注意事项。 SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户...
使用DMO实现SQL Server数据库的远程访问控制.pdf
利用SQL-DMO操纵MS SQL Server数据库.pdf
使用SQL-DMO增强基于SQL Server的应用程序功能.pdf
从2005以后引入了DMO(DMV+DMF)作为SQLServer管理工具,本书通过使用DMO,专注于SQLServer的性能优化。性能优化的手段有多种,但是DMO具有便捷的特性,使其在SQLServer的管理中具有不可替代并越来越重要的作用,...
利用SQL DMO 在Delphi下实现 sqlserver数据库的备份和还原,而且带进度条。注意:这个可以真正实现进度条的动态变化! 注意:首先在delphi中安装好 sql dmo 控件。(请自行查找网络)
使用SQL-DMO缩小SQL Server事务日志。