我正在使用Visual C#2008 Express Edition的数据库浏览器/设计器和SQL Server Express 2008.
我创建了一个表,想要添加一个索引。但索引将超过900字节。一种解决方法是在索引中使用包含的列。不幸的是,索引设计器中禁用了“包含的列”属性,但我还没有找到启用它的方法。
有人可以告诉我如何启用该属性吗?是否有另一种方法可以使用设计器将包含的列添加到索引中? SQL Server Express是否支持此功能?
答案 0 :(得分:12)
您需要通过展开资源管理器中的表来创建索引,右键单击Indexes文件夹并选择“Add index ...”。确保在执行此操作时关闭表设计器
答案 1 :(得分:1)
肯定支持快递。过了一会儿,你会发现大多数GUI工具都有局限性,值得学习实际的语法,直接输入命令。 CREATE INDEX的语法很容易在MSDN上找到,它们通常会在备注部分描述任何版本限制。
所以,例如,我刚刚针对我的Express实例运行此操作,没有问题:
create table T1 (
ID int not null,
Val1 varchar(10) not null
)
go
create unique nonclustered index IX_T1 on T1 (ID) INCLUDE (Val1)
go
编辑也正如其他人所说,这是一个不寻常的设计。此外,一个限制(可能是在GUI中禁用它的原因)是,您只能在非聚簇索引中包含列。稍微考虑一下它们应该揭示原因。