以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  利用export备份数据库的方案探讨  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29976)

--  作者:Fotable
--  发布时间:2013/3/18 14:52:00
--  利用export备份数据库的方案探讨

我们利用远程数据库存储数据非常方便,这样不管在那里都可以访问,但这种方式也存在很大风险,如果云端数据库服务终止或者崩溃了,你的宝贵数据也就完蛋了,所以备份数据和备份项目一样重要甚至更重要。

 

一、利用exporter备份项目的方法

Dim t As String
Dim c As Integer = DataTables.Count
Dim i As Integer = 0
For Each dt As DataTable In DataTables
    Dim ex As New Exporter
    ex.FilePath = ProjectPath & "backup\\" & Today & ".mdb"
    ex.SourceTableName = dt.Name   
    i= i + 1
    StatusBar.Message3= "正在备份" & dt.name &  i &"/" & c
    StatusBar.ProgressBar.Visible =True
    StatusBar.ProgressBar.Value = i/c   
    t = dt.LoadFilter
    If t <> "" Then
        dt.LoadFilter= ""
        dt.load
        ex.Export()
        dt.LoadFilter = t
        dt.load
    Else
        ex.Export()
    End If
Next

 

上面的方法 我利用了一个循环遍历所有的表 一个个导出,这样效率很低,反映很慢,客户以为死机了,而且我设置的动态进度条和状态显示也没有用。这是为什么呢?

如果export有个选项支持一次导出整个数据库就好了。

 

做好了备份 下一步就是恢复,恢复如果靠导入来实现的话,导入之前需要先 清空原有数据,这个清空怎么做?

[此贴子已经被作者于2013-3-18 14:52:36编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/3/18 14:53:00
--  

没有人这样备份数据的,没有意义的,除非你只有很少的数据。

从服务器端想办法,用SQL Server中备份,定期下载。


--  作者:Fotable
--  发布时间:2013/3/18 14:58:00
--  

狐狸爸,刚刚你都说 做一个项目,通过导出备份。现在又回过去说。

前面已经说了  “用SQL Server中备份,定期下载。”在租用sql数据服务的条件下 无法实现。

[此贴子已经被作者于2013-3-18 15:00:11编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/3/18 15:16:00
--  
那种只适合局域网和小数据量的
--  作者:Fotable
--  发布时间:2013/3/18 15:20:00
--  
以下是引用狐狸爸爸在2013-3-18 15:16:00的发言:
那种只适合局域网和小数据量的

我这里就是小数据量的。这种情况下如何解决这些问题呢


--  作者:狐狸爸爸
--  发布时间:2013/3/18 15:22:00
--  
太慢就证明此路不通
--  作者:Fotable
--  发布时间:2013/3/18 15:56:00
--  
以下是引用狐狸爸爸在2013-3-18 15:22:00的发言:
太慢就证明此路不通

讲半天,就是不帮我看看具体优化和修正,一直不停的讲,“你这个方法没有用”

而我的问题永远也没有解决。

利用exporter导出数据 应该是一种小数据 低成本的方法,总有他的适应场所,也是值得研究的。

不停的否认别人的研究方向,而不给出具体的指导有什么意义呢????


--  作者:qq121454970
--  发布时间:2013/3/18 17:25:00
--  

不要这么说狐爸嘛,狐爸每天都很忙,其实挺辛苦的,能够在论坛天天答疑,已经很努力了

您想备份的话,第一可以自己装一个SQL的,或者在网上租一个,据我所知,租的数据库大部分是有自动备份功能的

再说,狐爸每天给N个人答疑,大家需要什么,狐爸就给我们做什么,在途中也没有收取过谁的费用吧?

[此贴子已经被作者于2013-3-18 17:28:35编辑过]

--  作者:rjh4078
--  发布时间:2013/3/18 17:27:00
--  

有一个间接的方法 我现在也是这样用的 我用的是VPS主机 数据库在北京 应用在上海 香港 无锡 成都 广州  通过SQL2008的自动备份功能 +360云盘 服务器先把数据库备份到360同步文件夹 360再同步到云端 然后同步到无锡和上海公司的备份服务器 如果你用的是那种独立SQL服务 应该有备份功能 像西部数码 希网

[此贴子已经被作者于2013-3-18 17:28:59编辑过]

--  作者:客家阿哥
--  发布时间:2013/3/18 22:28:00
--  

数据量小用access数据库不就行了,备份,下载access数据库就行了