【发布时间】:2015-12-16 12:31:11
【问题描述】:
我有一个用于存储文档内容的表,其中包含一个 FILESTREAM 列,另一个列是 ROWGUIDCOL 列(当您有 FILESTREAM 列时需要)。我想将此表及其现有数据迁移到一个稍微新的结构中,作为代码重构的一部分,以便 2 个不同的项目可以重用代码来管理他们的文档记录。
问题是我想重命名 ROWGUIDCOL 列,以便两个项目的文档表具有相同的列定义。
我不能使用 sp_rename,因为它不适用于 ROWGUIDCOL 列。
我无法删除现有的 ROWGUIDCOL 列(然后添加替换),因为我收到错误消息“具有 FILESTREAM 列的表必须具有具有 ROWGUIDCOL 属性的非空唯一列。”
我无法添加新的 ROWGUIDCOL 列(然后删除多余的原始列),因为我收到错误“指定为 ROWGUIDCOL 的重复列”
这个问题有什么解决办法吗?我是否必须备份所有文档内容(FILESTREAM 列)并先将其删除,然后更改 ROWGUIDCOL,然后再将 FILESTREAM 内容放回?
【问题讨论】: