最大键长度为 900 字节。索引 'idx' 的最大长度为 8000 字节。对于较大值的某些组合,插入/更新操作将失败。

警告!最大键长度为 900 字节。索引 'idx' 的最大长度为 8000 字节。对于较大值的某些组合,插入/更新操作将失败。

我给一个表建一个索引,产生如此错误!
搜一下,原因如下:

所有参与索引定义的固定数据列的总长度必须小于或等于 900 字节。当所要创建的索引只由固定数据列构成时,固定数据列的总计大小必须小于或等于 900 字节。否则将不能创建索引,且 SQL Server 将返回错误。

如果索引定义由固定类型列和可变类型列组成,且固定数据列满足前面的条件(小于或等于 900 字节),则 SQL Server 仍要检查可变类型列的总大小。如果可变类型列的最大大小与固定数据列大小的和大于 900 字节,则 SQL Server 将创建索引,不过将给用户返回警告消息以提醒用户:如果随后在可变类型列上的插入或更新操作导致总大小超过 900 字节,则操作将失败且用户将收到运行时错误。同样,如果索引定义只由可变类型列组成,且这些列的最大总大小大于 900 字节,则 SQL Server 将创建索引,不过将返回警告消息

就是说在建组合索引的时候,SQL SERVER会检查被索引字段的大小之和,如果大于900字节就会报这个错误。由于我的这个表是通过DTS导入的时候生成的,看了一下字段大小都是varchar 8000长度。肯定是超了!

呵呵。。。

 

 

引用:http://hi.baidu.com/unusa/blog/item/8aa165fb3ea01c809f51467a.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值