当我尝试为7列创建英国时,我得到了
索引或主键的总大小 不能超过900字节。
如何解决此错误?
答案 0 :(得分:9)
没有什么特别令人满意的。有关如何在超过900字节限制的列上强制执行唯一约束的一些建议,请参阅this article。
答案 1 :(得分:1)
除了显而易见的(改变这7列的大小),没有设置或类似。但是,您可以通过使用触发器来强制执行此操作,以确保这7列是唯一的。
答案 2 :(得分:0)
如果您使用SSMS,将收到此错误,并且将无法创建索引。
但是您可以将其脚本化,并且创建相同的索引将产生警告。
警告!最大密钥长度为900字节。指标 “ IX_Member_LoginName”的最大长度为2000个字节。对于一些 组合较大的值,则插入/更新操作将失败。
脚本是
CREATE NONCLUSTERED INDEX [IX_Members_LoginName] ON [dbo].[Members]
(
[LoginName] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE =
OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]