以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现将多个区独立SQL数据库中的库表数据导出,然后导入到机关目标数据库中,进行增量导入……  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185246)

--  作者:cnsjroom
--  发布时间:2023/2/13 9:28:00
--  如何实现将多个区独立SQL数据库中的库表数据导出,然后导入到机关目标数据库中,进行增量导入……

因使用环境需要,有多个区需要使用单机,会存在多个SQL数据库,每个区独立录入数据,然后再汇总数据到机关

如何实现将多个区独立SQL数据库中的库表数据导出,然后导入到机关目标数据库中,进行增量导入……


--  作者:有点蓝
--  发布时间:2023/2/13 10:16:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=77351&skin=0

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=160119&skin=0

--  作者:cnsjroom
--  发布时间:2023/2/13 10:39:00
--  回复:(有点蓝)http://www.foxtable.com/bbs/dispbb...

老师  看了一下  也学习了一下  没有得到要领

老师 可否指导一下 呢?

 

下面的代码是备份

Dim cmd As New SQLCommand
  cmd.C
  Dim time As String =Format(Date.now,"yyyyMMddHHmmss")
  Dim mdf As String = "综合业务系统"
  cmd.CommandText = "use master;BACKUP DATABASE [" & mdf & "] To DISK = \'D:\\SQL_Backup\\" & mdf & "_" & time & ".bak\';"
  cmd.ExecuteNonQuery

 

有没有办法直接导入到目标数据库中   不管这个数据是什么内容   全部导入到目标数据库

 

但是又不能影响目标数据库原有数据  

如果有数据 就直接增量覆盖……


--  作者:有点蓝
--  发布时间:2023/2/13 10:50:00
--  
麻烦多了。
如果程序只有一个人使用还好,每个表增加一个更新时间列,根据时间判断更新数据即可。

如果是多人使用的,还要考虑到脏数据问题,简单的说,用户a往表A更新了数据,用户b也往表A更新了数据,那么最后更新到主机的时候,表A是要保留用户a修改的数据还是用户b修改的数据?不管是保留谁的,其它用户的数据都会无效,用户就会有疑惑,录入的数据如果无效我录他干嘛!特别是数据还有关联到多个表的时候,甚至涉及到权限控制的时候....想想就是一团乱。

所以这种情况要根据具体业务功能设计好一套可行的数据更新策略才行,这个就远远超出我的能力之外了。


--  作者:cnsjroom
--  发布时间:2023/2/13 12:01:00
--  回复:(有点蓝)麻烦多了。如果程序只有一个人使用还...

只有一个人使用,每个表增加一个更新时间列,根据时间判断更新数据即可

 

直接利用bak文件来恢复  所有表都进行 怎么操作呢?


--  作者:有点蓝
--  发布时间:2023/2/13 12:07:00
--  
利用bak文件来恢复,默认就是恢复bak文件的所有数据的,恢复后会完全覆盖旧的数据库,旧的数据就没有了。

恢复数据库使用RESTORE DATABASE,不是用过了吗:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=165531&skin=0

--  作者:cnsjroom
--  发布时间:2023/2/13 14:54:00
--  回复:(有点蓝)利用bak文件来恢复,默认就是恢复bak...

好的 老师  这个bak恢复   是直接覆盖旧数据

 

如果多个地区给出的多个bak   这个库操作bak恢复后里面的数据是不是就是大家的汇总呢?


--  作者:有点蓝
--  发布时间:2023/2/13 15:03:00
--  
不可能的。只能是最后一个恢复的备份的数据,之前恢复的数据都不会有的。这种方法不要想了
--  作者:cnsjroom
--  发布时间:2023/2/13 15:29:00
--  回复:(有点蓝)不可能的。只能是最后一个恢复的备份...
那还是考虑用表导出然后用表导入了^