【发布时间】:2011-04-20 07:50:02
【问题描述】:
无法从下表中删除[U_Family] 列:
表创建脚本:
CREATE TABLE [dbo].[Users](
[U_Id] [int] IDENTITY(101,1) NOT NULL,
[U_Name] [nvarchar](50) NULL,
[U_Family] [nvarchar](50) NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
(
[U_Id] ASC
),
CONSTRAINT [IX_UserIdUnique] UNIQUE NONCLUSTERED
(
[U_UserId] ASC
)
) ON [PRIMARY]
GO
CREATE UNIQUE NONCLUSTERED INDEX [IX_Users(UserId)] ON [dbo].[Users]
(
[U_Id] ASC
)
INCLUDE ( [U_Name],
[U_Family]) ) ON [PRIMARY]
GO
错误信息:
“用户”表 - 无法修改表。索引“IX_Users(UserId)”取决于 “U_Family”列。更改表删除 COLUMN U_Family 失败,因为一个或 更多对象访问此列。
我知道问题是因为这个索引:
CREATE UNIQUE NONCLUSTERED INDEX [IX_Users(UserId)] ON [dbo].[Users]
(
[U_Id] ASC
)
INCLUDE ( [U_Name],
[U_Family])) ON [PRIMARY]
GO
但我从未找到编辑此索引并从包含的列中删除 [U_Family] 的语法。
我无法删除此索引,因为它被我不应该删除的外键约束使用。
任何解决方案????
提前致谢。
【问题讨论】:
标签: sql sql-server sql-server-2008 table-index