小编Joh*_*ohn的帖子

将 rowguidcol 属性更改为不同的列

在我的 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 标识符切换列,或者我应该重命名这个表,创建一个新的,然后从旧表中复制数据?

sql-server-2008 sql-server

6
推荐指数
1
解决办法
6208
查看次数

标签 统计

sql-server ×1

sql-server-2008 ×1