【发布时间】:2018-02-16 13:33:37
【问题描述】:
我已经接管了一个项目,其中包含现有的 SQL Server 安装。客户希望将所有内容移动到 Azure SQL,并使多个本地数据库同步到 Azure。
表中的 PK 是 int 的,并且要让 Azure 数据同步工作 PK 需要是 guid。该数据库由几个相关的表组成。
因此,我的问题是。将 PK 更改为 guid 并同时在现有表中相应地更新 FK 的最佳方法是什么。
据我所知的过程: 1.新建引导栏 2.填写身份证。 3.将PK改为guid列 4. 将数据更新为 FK 表中的新 guid。
有没有一种简单的可编写脚本的方法来神奇地实现这一点?
【问题讨论】:
-
你知道需要做什么,并且有一个很好的计划,我会说。去做吧,不幸的是,没有更简单的方法。
-
你是对的。有 20 多个连接表。所以我宁愿找到一种自动化的方法。类似于循环连接的数据库。但是我在 SQL 查询方面没有足够的经验,到现在为止是有限的
-
有办法让这一切自动发生。即使有我也不会相信。特别是只有20张桌子。我建议您找到新 guid 以外的列用作聚集索引。
-
如果您包含另一个 GUID 列并保留旧的列,会有什么问题?使用旧系统作为参考和云的 GUID。
-
GUID 必须是使用数据同步合并表的主键。因此,仅添加一个 guid 列将无法正常工作。
标签: sql-server foreign-keys primary-key