📄 frm_sql_backup.frm
字号:
VERSION 5.00
Begin VB.Form Frm_SQL_Backup
BorderStyle = 3 'Fixed Dialog
Caption = "备份数据库"
ClientHeight = 3645
ClientLeft = 45
ClientTop = 435
ClientWidth = 3930
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3645
ScaleWidth = 3930
ShowInTaskbar = 0 'False
StartUpPosition = 2 '屏幕中心
Begin VB.Frame Frame1
Height = 2775
Left = 120
TabIndex = 2
Top = 0
Width = 3615
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1440
TabIndex = 6
Text = "(local)"
Top = 240
Width = 1695
End
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1440
TabIndex = 5
Text = "Sstudent"
Top = 840
Width = 1695
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 1440
TabIndex = 4
Text = "sa"
Top = 1440
Width = 1695
End
Begin VB.TextBox Text4
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
IMEMode = 3 'DISABLE
Left = 1440
PasswordChar = "*"
TabIndex = 3
Text = "sa"
Top = 2040
Width = 1695
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "服务器名称:"
Height = 180
Left = 240
TabIndex = 10
Top = 360
Width = 1080
End
Begin VB.Label Label4
AutoSize = -1 'True
Caption = "数据库名称:"
Height = 180
Index = 1
Left = 240
TabIndex = 9
Top = 960
Width = 1080
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "用户名:"
Height = 180
Left = 600
TabIndex = 8
Top = 1560
Width = 720
End
Begin VB.Label Label3
AutoSize = -1 'True
Caption = "密码:"
Height = 180
Left = 720
TabIndex = 7
Top = 2160
Width = 540
End
End
Begin VB.CommandButton Command2
Caption = "还原数据库"
Height = 495
Left = 2400
TabIndex = 1
Top = 3000
Width = 1095
End
Begin VB.CommandButton Command1
Caption = "备份数据库"
Height = 495
Left = 480
TabIndex = 0
Top = 3000
Width = 1095
End
End
Attribute VB_Name = "Frm_SQL_Backup"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub sDoDB(sType As String, sServerName As String, sDB As String, sUid As String, sPwd As String) '备份或还原数据库
Dim objSQLNS As New SQLNS.SQLNamespace 'SQLNS命名空间
Dim hItem As Long '句柄
Dim objSQLNSObj As SQLNS.SQLNamespaceObject 'SQLNS命名空间对象
Dim objSQLNSCom As SQLNS.SQLNamespaceCommand 'SQLNS命名空间命令对象
Dim sTemp As String '临时字符串
On Error Resume Next
err.Clear
Screen.MousePointer = vbHourglass
objSQLNS.Initialize sType & "数据库", SQLNSRootType_Database, "Server=" & sServerName & ";UID=" & sUid & ";PWD=" & sPwd & ";Database=" & sDB & ";", hWnd
Screen.MousePointer = vbDefault
If err.Number <> 0 Then
MsgBox "连接SQL Server失败!", vbCritical, "数据库"
Exit Sub
End If
err.Clear
Screen.MousePointer = vbHourglass
'得到根节点的句柄
hItem = objSQLNS.GetRootItem
'生成SQLNS命名空间对象
Set objSQLNSObj = objSQLNS.GetSQLNamespaceObject(hItem)
Screen.MousePointer = vbDefault
If err.Number <> 0 Then
MsgBox "生成生成SQLNS命名空间对象失败!", vbCritical, "数据库"
Exit Sub
End If
'显示备份或还原界面
If sType = "备份" Then
Set objSQLNSCom = objSQLNSObj.Commands(10)
objSQLNSCom.Execute hWnd, SQLNamespace_PreferModal
Else
goCn.Execute "use master" '将数据库切换到master
Set objSQLNSCom = objSQLNSObj.Commands(11)
objSQLNSCom.Execute hWnd, SQLNamespace_PreferModal
goCn.Execute "use " & gsDB '将数据库切换回来
End If
'不管是备份数据库,还是还原数据库,都要清除数据库日志
goCn.Execute "backup log " & gsDB & " with no_log"
End Sub
Private Sub Command1_Click()
Call sDoDB("备份", Trim(Text1), Trim(Text2), Trim(Text3), Trim(Text4))
End Sub
Private Sub Command2_Click()
Call sDoDB("还原", Trim(Text1), Trim(Text2), Trim(Text3), Trim(Text4))
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -