【发布时间】:2017-02-03 15:09:21
【问题描述】:
我有两个关于迁移 SQL 数据的问题:
1.将增量 ID 从 db1.table 迁移到 db2.table(不同的数据库)
例子:
我的噩梦是我必须将这 3 个表的数据从一个数据库移动到另一个数据库。两个数据库中的id不相同。
目前,我的最佳做法是在迁移 Guest 和 Room 表之后,我将使用带有 Vlookup 的 Excel 来使用新 ID 更新表 Booking 中的所有 RoomId 和之后迁移所有这些修改过的数据。
问题:有没有更好的方法来度过这场噩梦?
请注意,在这个例子中,只提到了 3 个表,但在我的实际情况中,连接在一起的表不少于 5 个......
2。从 IncrementId 迁移到 Guid
对于新项目设计,我使用唯一的 Guid 而不是传统的增量 ID 作为表的主键。
问题:将旧的 SQL Server 表从递增的 Id 迁移到 Guid 的最佳做法是什么?
编辑:我使用的是 SQL Server 2012,甚至可以使用实体框架来访问我的数据库。所以只要有帮助,SQL 脚本或 C# 编程代码都是有用的
【问题讨论】:
-
@marc_s 感谢您编辑我的问题。你对我的问题有什么建议吗?
-
除了说:不要这样做! - 不,抱歉。我认为在您的 SQL Server 表中将 GUID 作为 PK 是一个非常糟糕的主意 - 但您似乎绝对致力于沿着这条路走下去,所以我只是闭嘴,让您自己体验一下.....
-
第一个问题是客户需要的,所以我无法避免。但是对于我的第二个问题,我正在阅读您关于 GUID 的帖子:stackoverflow.com/a/11938495/3133518。还是谢谢你
-
我会: 1. 向模型添加 guid 并将它们注释为 id。 2. 迁移,确保它有效。 3.删除id,将guid字段命名为id。 4. 迁移,确保它有效。完成。
标签: c# asp.net sql-server excel entity-framework