看了一下有关数据库的备份和恢复,觉得都没有说全,现将自己的做法与大家分享一下
备份:
If _usergroup = "开发者" Or _usergroup = "管理员" Then
Dim dn As Date = format(Date.now,"g") '定义时间变量,并显示g格式
Dim sj As String = cdate(dn) '将时间转换为字符串
sj=sj.replace("/","") '去除字符串中的"/",不然文件名非法
sj=sj.replace(":","") '去除字符串中的":",不然文件名非法
Dim bf As String = "F:\backup\Haihe"& sj &".bak" '将路径文件名与时间结合,生成带时间的文件备份
Dim cmd As New SQLCommand '定义命令
cmd.C '指定数据源
cmd.CommandText =" BACKUP DATABASE HaiHeDataBase To DISK = '" & bf & "' With FORMAT,CHECKSUM; " '备份
cmd.ExecuteNonQuery() '不返回值
MessageBox.Show(" 恭喜,备份成功!" & vbcrlf & bf, "提示")
Else
MessageBox.Show("对不起,缺少操作权限","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning)
End If
恢复:
If _usergroup = "开发者" Or _usergroup = "管理员" Then
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "备份文件|*.bak" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
MessageBox.show("你选择的是:" & dlg.FileName & vbcrlf & "选错文件将带来不可弥补的后果!","警告",MessageBoxButtons.YesNo,MessageBoxIcon.Warning) '提示用户选择的文件
End If
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText ="use master; RESTORE DATABASE HaiHeDatabase FROM DISK= '" & dlg.FileName & "' With REPLACE;"
cmd.ExecuteNonQuery
msgbox(" 恭喜,数据库恢复成功!")
Else
MessageBox.Show("对不起,缺少操作权限","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning)
End If
希望能给纠结的带来帮助。