加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql-server – 如何在SQL Server中合并两个数据库?

发布时间:2021-03-15 00:33:44 所属栏目:编程 来源:网络整理
导读:两个数据库都具有沟通的模式,但在某些表中它们也许会碰着与主键的斗嘴.以是我但愿他们只是忽略一再的行,并继承进一步归并. 办理要领 起首,密钥斗嘴表白您当前行使的任何流程都很差. 要正确归并行使自动天生(non_GUID)键的两个数据库,您必要执行几个步调.起首

两个数据库都具有沟通的模式,但在某些表中它们也许会碰着与主键的斗嘴.以是我但愿他们只是忽略一再的行,并继承进一步归并.

办理要领

起首,密钥斗嘴表白您当前行使的任何流程都很差.

要正确归并行使自动天生(non_GUID)键的两个数据库,您必要执行几个步调.起首将新的自动天生的密钥添加到父表,然后从两个表中导入全部数据,将旧的文件重定名为ID_old,并将新文件重定名为旧的ID名称.此时,您可以移动子表.您必要通过毗连到父表并将新的id字段作为外键的值而不是现有表中的值来复制到子表.您必要为每个外键表一再此进程,假如该表也是父表,则必要在复制任何数据之前将conversionid字段添加到表中,以便您可以在链中一向事变.要做到这一点,必要把握大量关于数据库布局和大量筹划的常识.假如没有两个源数据库的精采备份,请不要思量这样做.当两个数据库都处于单用户模式时,最好可以或许举办此进程.

假如您行使天然键并具有一再项,则会碰着很大的题目.全部一再的密钥记录都应起首移动到一个单独的表中,并确定应该建造哪个矫正确的数据.在某些环境下,您会发明天然键现实上并不是独一的(它们很少就是我险些不行使它们的缘故起因)而且归并的数据库必要行使某种范例的自动天生的键.这将涉及代码变动以及数据库变动,因此它是最后的选择.

您常常行使天然键找到的是每个数据的数据差异可是simliar(地点中的St. vice Street)在这种环境下标志插入的记录之一,然后在两个步调中插入时,起首记录没有一再项,然后一再项表中标志为插入的记录.请记着,您必需搜查全部外键表中的全部记录,以确定要保存哪些记录以及哪些记录不保存.丢弃任何一再项是一个坏主意,你会丢失数据,也许是要害数据(如客户的订单).这是一个漫长而乏味的进程,必要具稀有据专业常识的人才气做出抉择.作为措施员,您应该为他们提供一个一再数据删除器材,让他们搜查每组一再项的全部数据,并选摘要保存的内容和删除的内容,然后标志每个一再项,它将运行一个进程来插入记录.记着你的计划,对付真正的一再,会有一些子表(如订单)必要发送到数据库的记录选择作为输入的记录(订单是一个例子),对付其他表你会想要选择哪个是正确的(譬喻地点).因此,您可以看到这是一个伟大的进程,必要彻底相识数据库.

假如您有许多一再项,他们也许会整理并添加数据数月,因此器材很是重要.这样做的人很也许是体系用户,而不是数据库专家或措施员,由于他们是独一真正可以判定保存哪笔记录的人.也许你必要在任何环境下做一些相同的工作,由于纵然你有一个自动天生的密钥,也也许有一再的记录.它们更难找到.

没有简朴的要领来归并两个数据库(纵然行使GUIDS,您也会碰着天然键中一再的题目).

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读