我有两个包含10到200万行的GUID主键和通过外键相关的12个表的表。基表每个都有10-20个索引。在SQL Server相关表中将主键从GUID更改为BigInt的方法
我们正在从GUID移动到BigInt主键。我想知道是否有人对方法有任何建议。现在,这是我正在思考的方法:
- 删除所有涉及表上的所有索引和fkey。
- 添加“NewPrimaryKey”列各表
- 使在两个基表
- 脚本数据改变“更新表x中的键的身份,设置NewPrimaryKey = y其中OldPrimaryKey = Z
- 重命名原始的PrimaryKey以 'oldprimarykey'
- 重命名 'NewPrimaryKey' 列 '的PrimaryKey'
- 脚本回所有的索引和fkeys
这个问题似乎像一个好方法? 有谁知道一个工具或脚本,将有助于此? TD:根据附加信息编辑。看到这个博客文章,解决了当GUID是主要的方法:http://www.sqlmag.com/blogs/sql-server-questions-answered/sql-server-questions-answered/tabid/1977/entryid/12749/Default.aspx
你最终走哪条路?除了你所说的之外,应用程序必须确保知道PrimaryKey现在是你的新数据类型而不是Guid。 – user420667 2017-04-12 20:51:41