⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backupdb.ctl

📁 用SQLDMO做的SQL数据库备份、还原控件 包括数据库完全备份、增量备份、事务日志备份
💻 CTL
字号:
VERSION 5.00
Begin VB.UserControl DBackUp 
   ClientHeight    =   1845
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   1890
   ScaleHeight     =   1845
   ScaleWidth      =   1890
   Begin VB.CommandButton Command2 
      Caption         =   "还原数据库"
      Height          =   495
      Left            =   360
      TabIndex        =   1
      Top             =   1080
      Width           =   1095
   End
   Begin VB.CommandButton Command1 
      Caption         =   "备份数据库"
      Height          =   495
      Left            =   360
      TabIndex        =   0
      Top             =   360
      Width           =   1095
   End
End
Attribute VB_Name = "DBackUp"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'事件声明:
Public Event MYLog(LogStr As String) 'MappingInfo=Command1,Command1,-1,Click



Public Function BackUpDBToFile(ServerName As String, DBName As String, User As String, PWD As String, BKPath As String, BKType As Integer)
        '开始备份
        Dim Svr As New SQLDMO.SQLServer
        Dim DB As SQLDMO.Database

        Dim BK As New SQLDMO.Backup
        Dim DV As New SQLDMO.BackupDevice
        '判断参数
        If ServerName = "" Or DBName = "" Or User = "" Or BKPath = "" Then
             MsgBox "服务器名称,数据库名称,用户名,备份路径不能为空!"
             Exit Function
        End If
    
        Svr.Connect ServerName, User, PWD
        DV.Type = SQLDMODevice_DiskDump
        DV.Name = DBName
        DV.PhysicalLocation = BKPath
        On Error Resume Next
        Svr.BackupDevices.Add DV
        On Error GoTo 0
        BK.Database = DBName
        BK.Devices = DBName
        BK.Action = BKType
        BK.Initialize = True
        BK.SQLBackup Svr
        Svr.BackupDevices.Remove DBName
        Dim LogStr As String
        LogStr = Now() & "数据库备份成功!"
        RaiseEvent MYLog(LogStr)
    End Function
    
    Public Function RestoreDBFromFile(ServerName As String, DBName As String, User As String, PWD As String, REPath As String, REType As Integer)
        '开始备份
        Dim Svr As New SQLDMO.SQLServer
        Dim RE As New SQLDMO.Restore
        
        '判断参数
        If ServerName = "" Or DBName = "" Or User = "" Or REPath = "" Then
             MsgBox "服务器名称,数据库名称,用户名,备份路径不能为空!"
             Exit Function
        End If
    
        Svr.Connect ServerName, User, PWD
        RE.Action = REType
        RE.Database = DBName
        RE.Files = REPath
        RE.FileNumber = 1
        RE.ReplaceDatabase = True
        RE.SQLRestore Svr
        Svr.Close
        Dim LogStr As String
        LogStr = Now() & "数据库还原成功!"
        RaiseEvent MYLog(LogStr)
    End Function

Private Sub Command1_Click()
    
    BackUpDBToFile "192.168.1.251", "test", "sa", "123", "c:\test12345.bak", 0
    
End Sub

Private Sub Command2_Click()
    RestoreDBFromFile "192.168.1.251", "test", "sa", "123", "C:\test12345.bak", 0
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -