https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server?view=sql-server-2017

一个数据库的最大对象是 2的31次方减1个..

Maximum Capacity Specifications for SQL Server

APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse

For content related to previous versions of SQL Server, see Maximum Capacity Specifications for SQL Server.

The following tables specify maximum sizes and numbers of various objects defined in SQL Server components. To navigate to the table for a SQL Server technology, click on its link:

SQL Server Database Engine Objects

SQL Server Utility Objects

SQL Server Data-tier Application Objects

SQL Server Replication Objects

Database Engine Objects

Maximum sizes and numbers of various objects defined in SQL Server databases or referenced in Transact-SQL statements.

SQL Server Database Engine object   Maximum sizes/numbers SQL Server (64-bit) Additional Information
Batch size   65,536 * Network Packet Size Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Database Engine. The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Bytes per short string column   8,000  
Bytes per GROUP BY, ORDER BY   8,060  
Bytes per index key   900 bytes for a clustered index. 1,700 for a nonclustered index. The maximum number of bytes in a clustered index key cannot exceed 900 in SQL Server. For a nonclustered index key, the maximum is 1700 bytes.

You can define a key using variable-length columns whose maximum sizes add up to more than the limit. However, the combined sizes of the data in those columns can never exceed the limit.

In a nonclustered index, you can include extra non-key columns, and they do not count against the size limit of the key. The non-key columns might help some queries perform better.

Bytes per index key for memory-optimized tables   2500 bytes for a nonclustered index. No limit for a hash index, as long as all index keys fit in-row. On a memory-optimized table, a nonclustered index cannot have key columns whose maximum declared sizes exceed 2500 bytes. It is irrelevant whether the actual data in the key columns would be shorter than the maximum declared sizes.

For a hash index key there is no hard limit on size.

For indexes on memory-optimized tables, there is no concept of included columns, since all indexes inherently cover of all columns.

For a memory-optimized table, even though the row size is 8060 bytes, some variable-length columns can be physically stored outside those 8060 bytes. However, the maximum declared sizes of all key columns for all indexes on a table, plus any additional fixed-length columns in the table, must fit in the 8060 bytes.

Bytes per foreign key   900  
Bytes per primary key   900  
Bytes per row   8,060 SQL Server supports row-overflow storage which enables variable length columns to be pushed off-row. Only a 24-byte root is stored in the main record for variable length columns pushed out of row; because of this, the effective row limit is higher than in previous releases of SQL Server. For more information, see the "Row-Overflow Data Exceeding 8 KB" topic in SQL Server Books Online.
Bytes per row in memory-optimized tables   8,060 Starting SQL Server 2016 (13.x) memory-optimized tables support off-row storage. Variable length columns are pushed off-row if the maximum sizes for all the columns in the table exceeds 8060 bytes; this is a compile-time decision. Only an 8-byte reference is stored in-row for columns stored off-row. For more information, see Table and Row Size in Memory-Optimized Tables.
Bytes in source text of a stored procedure   Lesser of batch size or 250 MB  
Bytes per varchar(max), varbinary(max), xml, text, or image column   2^31-1  
Characters per ntext or nvarchar(max) column   2^30-1  
Clustered indexes per table   1  
Columns in GROUP BY, ORDER BY   Limited only by number of bytes  
Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement   10  
Columns per index key   32 If the table contains one or more XML indexes, the clustering key of the user table is limited to 31 columns because the XML column is added to the clustering key of the primary XML index. In SQL Server, you can include nonkey columns in a nonclustered index to avoid the limitation of a maximum of 32 key columns. For more information, see Create Indexes with Included Columns.
Columns per foreign key   32  
Columns per primary key   32  
Columns per nonwide table   1,024  
Columns per wide table   30,000  
Columns per SELECT statement   4,096  
Columns per INSERT statement   4,096  
Connections per client   Maximum value of configured connections  
Database size   524,272 terabytes  
Databases per instance of SQL Server   32,767  
Filegroups per database   32,767  
Filegroups per database for memory-optimized data   1  
Files per database   32,767  
File size (data)   16 terabytes  
File size (log)   2 terabytes  
Data files for memory-optimized data per database   4,096 in SQL Server 2014 (12.x). Later versions of SQL Server do not impose such a strict limit.  
Delta file per data file for memory-optimized data   1  
Foreign key table references per table   Outgoing = 253. Incoming = 10,000. For restrictions, see Create Foreign Key Relationships.
Identifier length (in characters)   128  
Instances per computer   50 instances on a stand-alone server.

25 instances on a failover cluster when using a shared cluster disk as the stored option for you cluster installation SQL Server supports 50 instances on a failover cluster if you choose SMB file shares as the storage option for your cluster installation.

 
Indexes per memory-optimized table   999 starting SQL Server 2017 (14.x) and in Azure SQL Database
8 in SQL Server 2014 (12.x) and SQL Server 2016 (13.x)
 
Length of a string containing SQL statements (batch size)   65,536 * Network packet size Network Packet Size is the size of the tabular data stream (TDS) packets used to communicate between applications and the relational Database Engine. The default packet size is 4 KB, and is controlled by the network packet size configuration option.
Locks per connection   Maximum locks per server  
Locks per instance of SQL Server   Limited only by memory This value is for static lock allocation. Dynamic locks are limited only by memory.
Nested stored procedure levels   32 If a stored procedure accesses more than 64 databases, or more than 2 databases in interleaving, you will receive an error.
Nested subqueries   32  
Nested trigger levels   32  
Nonclustered indexes per table   999  
Number of distinct expressions in the GROUP BY clause when any of the following are present: CUBE, ROLLUP, GROUPING SETS, WITH CUBE, WITH ROLLUP   32  
Number of grouping sets generated by operators in the GROUP BY clause   4,096  
Parameters per stored procedure   2,100  
Parameters per user-defined function   2,100  
REFERENCES per table   253  
Rows per table   Limited by available storage  
Tables per database   Limited by number of objects in a database Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Partitions per partitioned table or index   15,000  
Statistics on non-indexed columns   30,000  
Tables per SELECT statement   Limited only by available resources  
Triggers per table   Limited by number of objects in a database Database objects include objects such as tables, views, stored procedures, user-defined functions, triggers, rules, defaults, and constraints. The sum of the number of all objects in a database cannot exceed 2,147,483,647.
Columns per UPDATE statement (Wide Tables)   4096  
User connections   32,767  
XML indexes   249  

SQL Server Utility Objects

Maximum sizes and numbers of various objects that were tested in the SQL Server Utility.

SQL Server Utility object   Maximum sizes/numbers SQL Server (64-bit)
Computers (physical computers or virtual machines) per SQL Server Utility   100
Instances of SQL Server per computer   5
Total number of instances of SQL Server per SQL Server Utility   200*
User databases per instance of SQL Server, including data-tier applications   50
Total number of user databases per SQL Server Utility   1,000
File groups per database   1
Data files per file group   1
Log files per database   1
Volumes per computer   3

*The maximum number of managed instances of SQL Server supported by SQL Server Utility may vary based on the hardware configuration of the server. For getting started information, see SQL Server Utility Features and Tasks. SQL Server Utility control point is not available in every edition of SQL Server 2017. For a list of features that are supported by the editions of SQL Server, see Features Supported by the Editions of SQL Server 2016.

SQL Server Data-tier Application Objects

Maximum sizes and numbers of various objects that were tested in the SQL Server data-tier applications (DAC).

SQL Server DAC object   Maximum sizes/numbers SQL Server (64-bit)
Databases per DAC   1
Objects per DAC*   Limited by the number of objects in a database, or available memory.

*The types of objects included in the limit are users, tables, views, stored procedures, user-defined functions, user-defined data type, database roles, schemas, and user-defined table types.

Replication Objects

Maximum sizes and numbers of various objects defined in SQL Server Replication.

SQL Server Replication object   Maximum sizes/numbers SQL Server (64-bit)
Articles (merge publication)   2048
Articles (snapshot or transactional publication)   32,767
Columns in a table* (merge publication)   246
Columns in a table** ( SQL Server snapshot or transactional publication)   1,000
Columns in a table** (Oracle snapshot or transactional publication)   995
Bytes for a column used in a row filter (merge publication)   1,024
Bytes for a column used in a row filter (snapshot or transactional publication)   8,000

*If row tracking is used for conflict detection (the default), the base table can include a maximum of 1,024 columns, but columns must be filtered from the article so that a maximum of 246 columns is published. If column tracking is used, the base table can include a maximum of 246 columns.

**The base table can include the maximum number of columns allowable in the publication database (1,024 for SQL Server), but columns must be filtered from the article if they exceed the maximum specified for the publication type.

SQLSERVER 的资源限制的更多相关文章

  1. sqlserver的资源调控器

    参考SQL Server2014管理最佳实战,所做的笔记. 1:创建资源池 use master go create resource pool poolAdhoc with ( min_cpu_pe ...

  2. 【转】怎样查出SQLServer的性能瓶颈

    怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQ ...

  3. 怎样查出SQLServer的性能瓶颈

    怎样查出SQLServer的性能瓶颈 --王成辉翻译整理,转贴请注明出自微软BI开拓者[url]www.windbi.com[/url]--原帖地址 如果你曾经做了很长时间的DBA,那么你会了解到SQ ...

  4. NHibernate动态加载资源文件

    最近做项目,又用到了以前做过的ORM框架--NHibernate. 此次想要实现的目标: 1.简单SQL用NHibernate的Session的CRUD方法实现 2.复杂SQL用Native SQL实 ...

  5. ogg-oracle to sqlserver

    环境: source:  54     Centos7  oracle12.2           ogg12.3 target  :    52 Windows sqlserver2012      ...

  6. 001.SQLServer高可用简介

    一 SQLServer高可用集群相关概念 1.1 Windows故障转移群集 Windows故障转移群集是由多个服务器组成的共同提供某高可用服务,该服务用于防止单台服务器故障导致服务失效.故障转移群集 ...

  7. 软-RAID 5组建

    图文版raid5组建之软RAID  [复制链接]   发表于 2007-3-6 09:19 | 来自  51CTO网页 [只看他] 楼主             硬件raid5的组建和使用,基本上说完 ...

  8. 硬盘-RAID 5组建

    没发正文之前本人先声明一下----本文是转载 这篇文章简直是太精彩了,呵呵 ,实在是忍不住了,一定要贴出来,让大家分享! 原作者:唐华 责任编辑:xiexiaojin 我们生活在一个历史记录在硬盘上的 ...

  9. 分享一下SQLSERVER技术交流QQ群里的群共享资源

    分享一下SQLSERVER技术交流QQ群里的群共享资源 SQLSERVER技术交流QQ群已经开了一段时间了,人数已经有了100多号人, 而群里面很多SQLSERVER爱好者上传了他们宝贵的SQLSER ...

随机推荐

  1. springboot之websocket,STOMP协议

    一.WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 ...

  2. python面试题(二)

    最近参加了几场招聘,发现好多人的一些基础知识不是很扎实,做的题很多都是错误的,因此找了一些我们公司面试过程中的一些最基本的面试题供大家参考,希望各位都能找到一个好的工作.今天给大家先分享的是关于Pyt ...

  3. MongoDB中设置expire过期自动删除

    关键词: expireAfterSeconds.TTL TTL Time to Live 类似Redis中的expire机制,MongoDB也可以设置过期自动删除的表. MongoDB的过期设置依赖索 ...

  4. Python学习之路:NumPy初识

    import numpy as np; //一维NumPy数组 myArray = np.array([1,2,3,4]); print(myArray); [1 2 3 4] //打印一维数组的形状 ...

  5. C++设计模式(转)

    在简书看到CharlesW同学学习设计模式的笔记,感觉很有意思(单身狗的妄想),转载下. 转载:https://www.jianshu.com/p/082662126bdd 好的软件设计是多用代码复用 ...

  6. 使用TCP在同一台电脑上可以建立连接,在两台电脑上却连接失败的原因分析

    最近在用unity做联机游戏,在网络方面费了不少劲,总是在代码没问题的时候出一些莫名奇妙的BUG,不过后来都决定了.如果感觉代码没问题,八成就是防火墙的问题. 用unity发布后的游戏,如果涉及网络, ...

  7. 高可用Kubernetes集群-16. ansible快速部署

    说明 本文档指导采用二进制包的方式快速部署高可用kubernetes集群. 脚本托管:k8s-ansible(持续更新) 参考:高可用kubernetes集群 组件版本 组件 版本 备注 centos ...

  8. 【Docker】第三篇 Docker容器管理

    一.Docker容器概述: 简单理解容器是镜像的一个实例. 镜像是静态的只读文件,而容器的运行需要可写文件层. 二.创建容器 [root@web130 ~]# docker create -it ub ...

  9. 一文拆解Faas的真实案例

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 刘敏洁:具有多年云计算行业经验,曾任职于华为.UClou ...

  10. MyBatis学习(一)————纯jdbc编程

    什么是JDBC  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java ...