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