SQL Server的最大容量规范整理标注(2019)

本文汇总了SQL Server 2019关于数据库引擎对象、实用工具对象、数据层应用程序对象和复制对象的最大容量规范。在数据库引擎对象中,如遇到SQL参数过多的问题,最大允许2100个用户自定义参数。其他对象如SQL Server实用工具对象的数量受限于服务器硬件。在复制对象方面,若启用列跟踪,基表最多可发布246列。
摘要由CSDN通过智能技术生成

最近在做批量插入SQL Server时,出现了SQL参数过多的错误异常。经查阅资料,发现SQL server对于SQL中用户自定义的参数限制为2100个。于是变更了批量插入的分组数,解决该问题。

以下是搜集的关于SQL Server的最大容量规范,包含数据库引擎对象、实用工具对象、数据层引用对象、复制对象四个对象中的相关最大数量和最小数量。一般开发者重点还是在数据库引擎对象这块。个人觉得比较重要的都进行了加粗变色处理。

数据库引擎 对象

在 SQL Server 数据库中定义的或在 Transact-SQL 语句中引用的各种对象的最大大小和最大数量。

SQL Server 数据库引擎 对象 (object) 最大大小/数量 SQL Server (64 位) 其他信息
批大小 65,536 * 网络数据包大小 网络数据包大小指的是用于在应用程序和关系 数据库引擎之间进行通信的表格格式数据流 (TDS) 数据包的大小。 默认的数据包大小为 4 KB,由“网络数据包大小”配置选项控制。
每个短字符串列的字节数 8,000  
每个 GROUP BY、ORDER BY 的字节数 8,060  
每个索引键的字节数 聚集索引为 900 字节。 非聚集索引为 1,700 字节。 在 SQL Server中,聚集索引键的最大字节数不能超过 900。 对于非聚集索引键,最大值为 1700 个字节数。

你可以使用可变长度列来定义键,这些列的最大大小之和可超过此限制。 但是,这些列中数据的总大小绝不能超过此限制。

在非聚集索引中,可以包含额外的非键列,且这些非键列不会算入键的大小限制。 非键列可能有助于更好地执行某些查询。
内存优化表中的每个索引键的字节数 非聚集索引为 2,500 字节。 哈希索引没有限制,只要全部索引键均适应行内即可。 在内存优化表上,非聚集索引不能具有声明的最大大小超过 2500 个字节的键列。 这与键列中实际数据是否短于声明的最大大小并不相关。

因为,哈希索引没有硬性大小限制。

对于内存优化表的索引,不存在“包含的列”这一概念,因为所有索引本来就覆盖了所有的列。

对于内存优化表,即使行大小为 8060 个字节,一些可变长度列也可以物理方式存储于这 8060 个字节以外的空间。 但是,表上所有索引的所有键列,加上表中任何其他固定长度列,其最大声明大小不得超过 8060 个字节。
每个外键的字节数 900  
每个主键的字节数 900  
每行的字节数 8,060 SQL Server 支持行溢出存储,行溢出存储使长度可变的列可以被推送到行外。 只有 24 字节的根存储在推送出行外的可变长度列的主记录中;因此,此版本中的有效行限制高于 SQL Server早期版本中的有效行限制。 有关更多信息,请参阅
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值