数据库的备份与还原(vb.net代码篇)
2016-05-01 21:28
429 查看
在数据库中我们既可以手动的进行备份与还原,也可通过sql语句进行备份与还原。也可以根据需求设置成自动在规定的时间内进行自动备份。但是对于一般的系统用户来说直接进入比较陌生的数据库来进行设置则显得不是很友好,所以通过代码来实现只需利用控件进行简单的操作则显得很重要
<strong><span style="font-size:18px;"> Dim cn As SqlConnection '定义一个链接对象
Dim cm As SqlCommand '定义一个命令对象
Dim all1 As String '用来存放需要备份的数据库的备份时的名字
all1 = "d:\HumanResourcesSystem" & Format(Now, "yy-MM-dd") '指定备份的路径和名字,在这里加了一个时间
cn = New SqlConnection("Data Source=.;Initial Catalog=HumanResourcesSystem;User ID=sa;Password=123456") '给对象赋值
cm = New SqlCommand("BACKUP DATABASE HumanResourcesSystem TO DISK='" & all1 & "' WITH Format", cn) '通过使用WITH FORMAT可以做到覆盖任何现有的备份和创建一个新的媒体集
cn.Open() '打开数据库
cm.ExecuteNonQuery()
MsgBox("备份成功,请到D盘查找")
cn.Close()</span></strong>
<strong><span style="font-size:18px;"> Dim cn As New SqlConnection '定义一个链接对象
Dim cn1 As New SqlConnection '在定义一个链接对象
Dim mydr As SqlDataReader '定义一个读取数据的对象</span></strong>
总结:这两个功能还有很多可以完善之处,但功能已经能实现
数据库备份
说明:可以将数据库备份到指定的位置,如不指定则默认到数据库的安装文件夹内,为了还原方便在命名是加上了时间。<strong><span style="font-size:18px;"> Dim cn As SqlConnection '定义一个链接对象
Dim cm As SqlCommand '定义一个命令对象
Dim all1 As String '用来存放需要备份的数据库的备份时的名字
all1 = "d:\HumanResourcesSystem" & Format(Now, "yy-MM-dd") '指定备份的路径和名字,在这里加了一个时间
cn = New SqlConnection("Data Source=.;Initial Catalog=HumanResourcesSystem;User ID=sa;Password=123456") '给对象赋值
cm = New SqlCommand("BACKUP DATABASE HumanResourcesSystem TO DISK='" & all1 & "' WITH Format", cn) '通过使用WITH FORMAT可以做到覆盖任何现有的备份和创建一个新的媒体集
cn.Open() '打开数据库
cm.ExecuteNonQuery()
MsgBox("备份成功,请到D盘查找")
cn.Close()</span></strong>
数据库的还原
说明:进行还原时由用户自行选择要还原的数据库<strong><span style="font-size:18px;"> Dim cn As New SqlConnection '定义一个链接对象
Dim cn1 As New SqlConnection '在定义一个链接对象
Dim mydr As SqlDataReader '定义一个读取数据的对象</span></strong>
<strong><span style="font-size:18px;"> Dim str As String '定义一个字符用来盛放数据库进程 Dim tmpConnectionString As String = "Data Source= LJM;Initial Catalog=master;Integrated Security=True" '将链接语句赋值给tmpconnectionstring Dim all As String Me.OpenFileDialog1.Filter = "所有文件(*.*)|*.*|备份文件(*.bak)|*.bak" '打开选择框进行选择 Me.OpenFileDialog1.ShowDialog() all = OpenFileDialog1.FileName '获得文件名 If all = Nothing Then MessageBox.Show("文件名不能为空", "系统提示") Exit Sub End If cn.ConnectionString = tmpConnectionString cn1.ConnectionString = tmpConnectionString cn.Open() cn1.Open() Dim cm As SqlCommand = New SqlCommand("select spid from master..sysprocesses where dbid=db_id('HumanResourcesSystem')", cn) '选择所有进程 mydr = cm.ExecuteReader() Dim cm1 As SqlCommand = New SqlCommand() cm1.Connection = cn1 While (mydr.Read()) '杀死进程 str = mydr("spid").ToString() cm1.CommandText = str cm1.CommandType = CommandType.Text Application.DoEvents() cm1.ExecuteNonQuery() End While mydr.Close() cm = New SqlCommand("RESTORE DATABASE HumanResourcesSystem FROM DISK='" & all & "'WITH REPLACE", cn) cm.ExecuteNonQuery() MsgBox("恢复自" & all & ",软件自动关闭,请重新启动") cn.Close() cn1.Close() Me.Close()</span></strong>
总结:这两个功能还有很多可以完善之处,但功能已经能实现
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- 路由器备份配置
- Access 2000 数据库 80 万记录通用快速分页类
- 华为路由器密码恢复
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- ASP实现SQL备份、恢复
- CentOS下DB2数据库安装过程详解
- 路由器版本与密码恢复
- 备份线路的配置
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案