`
wsql
  • 浏览: 12103389 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

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 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-DMO的SQL Server远程管理.pdf

    这个工具使得DBA可以通过Web界面来执行SQL Server的管理任务,如查询、备份、恢复等。 【Web服务与身份验证】 为了确保安全性,远程访问SQL Server时需要进行身份验证。SQL-DMO支持身份验证机制,允许通过Windows...

    SQL-DMO 分发安装包 for SQL Server 2000(原创)

    SQL-DMO(SQL Server Distributed Management Objects)是微软在SQL Server 2000时代引入的一个组件,它为开发者提供了一套全面的编程接口,用于管理和控制SQL Server实例。这个分发安装包包含了用于安装和卸载SQL-...

    使用SQL-DMO增强基于SQL Server的应用程序功能.pdf

    备份恢复类;同步复制类。 三、SQL-DMO访问Microsoft SQL Server的方式 SQL-DMO在底层调用了DBLIB访问Microsoft SQL Server,因此在数据库访问速度上是比较快的。同样ADO(ActiveX Data Object)也是基于COM的,它...

    利用SQL-DMO操纵MS SQL Server数据库.pdf

    利用 SQL-DMO 操纵 MS SQL Server 数据库 本文主要介绍了利用 SQL-DMO 操纵 MS SQL Server 数据库的方法。SQL-DMO 是 MS SQL Server 提供的一组基于 COM 的编程接口,允许开发者使用各种支持 COM 的开发工具来管理...

    基于SQL-DMO的SQLServer应用系统.pdf

    通过将SQL-DMO类型库集成到VB中,开发者可以更方便地通过VB来访问和控制SQL Server数据库,实现数据库管理的功能。 6. **数据库管理的安全性**: 在实现系统功能时,提及了进行NT认证的重要性,这是确保数据库管理...

    用VB实现管理MS SQL Server的方法 (1).pdf

    本文旨在介绍使用VB实现管理MS SQL Server的方法,通过使用DMO(Distributed Management Objects)对象,实现对MS SQL Server的管理。DMO是一个强大的对象模型,提供了对MS SQL Server的各种管理功能。 一、DMO对象...

    用VB实现管理MS SQL Server的方法.pdf

    本文主要介绍如何使用VB4通过分布式管理对象(DMO)来管理和控制MS SQL Server。 DMO是Microsoft SQL Server提供的一个32位OLE自动化对象,专为Windows 95/NT操作系统设计。它允许开发者通过编程方式管理网络上的多...

    基于SQL-DMO的数据备份和恢复的设计与实现.pdf

    最后,文章还提到了功能的实现示例,包括如何使用SQL-DMO的SQLServer对象的connect()方法,以及其他相关属性和方法,以实现数据库的备份和恢复操作。 综上所述,这篇文章详细介绍了基于SQL-DMO的数据备份和恢复的...

    Microsoft SQL Server 2005 向后兼容组件

    运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、 决策支持对象 (DSO) 和 SQL 虚拟设备接口 (SQLVDI)。为了与 SQL Server 2005 兼容, 这些版本已进行了更新,并且包含 SQL Server 2000 SP4 提供的所有修复程序。 ...

    Microsoft SQL Server 2005 向后兼容组件 [免费版]

    SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS)、SQL 分布式管理对象 (SQL-DMO)、决策支持对象 (DSO) 和 SQL 虚拟设备接口 (SQLVDI)。为了与 SQL Server ...

    使用SQL-DMO备份数据库并进行校验

    7. **远程备份和恢复**:虽然本文未详细讨论,但SQL-DMO也支持远程备份和恢复操作,允许在不同服务器之间转移数据库。 8. **软件要求**:为了使用SQL-DMO,需要在开发环境中添加相应的引用,例如在ASP的global.asa...

    使用DMO实现SQL Server数据库的远程访问控制.pdf

    使用DMO实现SQL Server数据库的远程访问控制 本文主要介绍如何使用DMO(Distributed Management Objects)实现SQL Server数据库的远程访问控制。在设计C/S结构的软件产品的安装程序时,需要在客户端和服务器端分别...

    怎样备份与恢复SQL SERVER数据库.pdf

    标题中的“怎样备份与恢复SQL SERVER数据库”是一个关于SQL Server数据库管理的重要主题,涉及数据库的安全性和灾难恢复策略。描述中提到的PDF文件很可能是详细的操作指南,教导读者如何使用SQL Server的工具和技术...

    Microsoft SQL Server 2005 Express Edition SP3

    如果在更早 Community Technology Preview (CTP) 版本的 SQL Server Express 中禁用了 sp_configure 选项“SMO 和 DMO XP”,则在使用 SAVESYSDB 卸载该早期实例,然后使用 USESYSDB 安装本版本时,将可能无法从命令...

    用VFP备份和恢复SQL Server数据库的方法.pdf

    本文讨论了在开发环境中应用 SQL 语句和 SQL-DMO 的 Backup,Restore 对象实现对 SQL Server 数据库的备份和恢复。文章首先介绍了 SQL Server 的基本概念和 VFP 的数据管理功能,然后深入研究了用 VFP 备份和恢复 ...

    SQLServer中文版联机丛书.zip

    2. **sqldmo.chi**:SQL Server Desktop Engine (MSDE) 或 Database Management Objects (DMO) 的文档,DMO是一组COM接口,允许程序员管理和控制SQL Server实例,如创建、修改和删除数据库、数据库对象,以及执行...

    SQL Server程序员指南

    除了T-SQL,SQL Server还支持通过多种编程接口进行数据访问,包括ODBC、ADO和SQL-DMO: - **ODBC(Open Database Connectivity)**:是一种标准的数据库访问接口,允许在各种语言和平台之间访问SQL Server数据库,...

Global site tag (gtag.js) - Google Analytics