在我的 SQL Server 2008 数据库中,我有一个包含两个 uniqueidentifier 列的表。
CREATE TABLE MyTable (
Col1 uniqueidentifier rowguidcol not null,
Col2 uniqueidentifier not null,
AttachmentData varbinary(max) filestream null
)
Run Code Online (Sandbox Code Playgroud)
现在,我想通过将其从 Col1 移动到 Col2 来切换具有 rowguidcol 标识符的列,因此它最终会成为
CREATE TABLE MyTable (
Col1 uniqueidentifier not null,
Col2 uniqueidentifier rowguidcol not null,
AttachmentData varbinary(max) filestream null
)
Run Code Online (Sandbox Code Playgroud)
当我尝试通过表设计器执行此操作时(通过设置 Col1.RowGuid = No 和 Col2.RowGuid = Yes),我收到以下错误:
- Error modifying column properties for 'Col1'.
A table with FILESTREAM column(s) must have a non-NULL unique ROWGUID column.
Run Code Online (Sandbox Code Playgroud)
有没有办法用 rowguidcol 标识符切换列,或者我应该重命名这个表,创建一个新的,然后从旧表中复制数据?