系统运行一段时间以后,新记录存入数据库,现在又要把原来备份的数据库还原,并且要保留上次备份之后新存入的记录,要如何操作??
我的做法是:
将原来备份的数据库还原到另外一台机器上,然后用dts对每个表进行追加还原,但是总报主键冲突错误,dts导入表时,能不能跳过主键冲突的记录??
5 个解决方案
#1
你首先把原来的备份数据库恢复,名字不要和现在的数据库一样了。
back ------恢复的数据库名
power -------现在的数据库名
dbo----------表的所有者
id ---------表的主键
insert into back.dbo.tb(id,col1,col2...)
select id,col1,col2... from power.dbo.tb A
where not exists(select * from back.dbo.tb where id=A.id)
执行完后,再把back数据库备份,把power数据库删除(在删除之前先备份,以免出错)
再把刚备份好的数据库还原为power
back ------恢复的数据库名
power -------现在的数据库名
dbo----------表的所有者
id ---------表的主键
insert into back.dbo.tb(id,col1,col2...)
select id,col1,col2... from power.dbo.tb A
where not exists(select * from back.dbo.tb where id=A.id)
执行完后,再把back数据库备份,把power数据库删除(在删除之前先备份,以免出错)
再把刚备份好的数据库还原为power
#2
不用还原,用数据导入!应该可以
#3
hsj20041004(光芒)
表里面的列有二进制的字段,存图片,也能用这种方法吗?
表里面的列有二进制的字段,存图片,也能用这种方法吗?
#4
直接用DTS倒数据,只不过DTS工具里面的选项,要好好选,所有的都取消,仅仅选中“数据的添加”,应该就是倒入原来并不存在的数据,也就是你上次备份后,新insert的那部分数据。
#5
加条件,用DTS导入不存在的数据到旧的备份中.
这个要用手工控制,无法系统自动完成.
这个要用手工控制,无法系统自动完成.
#1
你首先把原来的备份数据库恢复,名字不要和现在的数据库一样了。
back ------恢复的数据库名
power -------现在的数据库名
dbo----------表的所有者
id ---------表的主键
insert into back.dbo.tb(id,col1,col2...)
select id,col1,col2... from power.dbo.tb A
where not exists(select * from back.dbo.tb where id=A.id)
执行完后,再把back数据库备份,把power数据库删除(在删除之前先备份,以免出错)
再把刚备份好的数据库还原为power
back ------恢复的数据库名
power -------现在的数据库名
dbo----------表的所有者
id ---------表的主键
insert into back.dbo.tb(id,col1,col2...)
select id,col1,col2... from power.dbo.tb A
where not exists(select * from back.dbo.tb where id=A.id)
执行完后,再把back数据库备份,把power数据库删除(在删除之前先备份,以免出错)
再把刚备份好的数据库还原为power
#2
不用还原,用数据导入!应该可以
#3
hsj20041004(光芒)
表里面的列有二进制的字段,存图片,也能用这种方法吗?
表里面的列有二进制的字段,存图片,也能用这种方法吗?
#4
直接用DTS倒数据,只不过DTS工具里面的选项,要好好选,所有的都取消,仅仅选中“数据的添加”,应该就是倒入原来并不存在的数据,也就是你上次备份后,新insert的那部分数据。
#5
加条件,用DTS导入不存在的数据到旧的备份中.
这个要用手工控制,无法系统自动完成.
这个要用手工控制,无法系统自动完成.