SQL Server Database Engine object
|
Maximum sizes/numbers SQL Server (32-bit)
|
Maximum sizes/numbers SQL Server (64-bit)
|
Batch size1
|
65,536 * Network Packet Size
|
65,536 * Network Packet Size
|
Bytes per short string column
|
8,000
|
8,000
|
Bytes per GROUP BY, ORDER BY
|
8,060
|
8,060
|
Bytes per index key2
|
900
|
900
|
Bytes per foreign key
|
900
|
900
|
Bytes per primary key
|
900
|
900
|
Bytes per row8
|
8,060
|
8,060
|
Bytes in source text of a stored procedure
|
Lesser of batch size or 250 MB
|
Lesser of batch size or 250 MB
|
Bytes per varchar(max), varbinary(max), xml, text, or image column
|
2^31-1
|
2^31-1
|
Characters per ntext ornvarchar(max) column
|
2^30-1
|
2^30-1
|
Clustered indexes per table
|
1
|
1
|
Columns in GROUP BY, ORDER BY
|
Limited only by number of bytes
|
Limited only by number of bytes
|
Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement
|
10
|
10
|
Columns per index key7
|
16
|
16
|
Columns per foreign key
|
16
|
16
|
Columns per primary key
|
16
|
16
|
Columns per nonwide table
|
1,024
|
1,024
|
Columns per wide table
|
30,000
|
30,000
|
Columns per SELECT statement
|
4,096
|
4,096
|
Columns per INSERT statement
|
4096
|
4096
|
Connections per client
|
Maximum value of configured connections
|
Maximum value of configured connections
|
Database size
|
524,272 terabytes
|
524,272 terabytes
|
Databases per instance of SQL Server
|
32,767
|
32,767
|
Filegroups per database
|
32,767
|
32,767
|
Files per database
|
32,767
|
32,767
|
File size (data)
|
16 terabytes
|
16 terabytes
|
File size (log)
|
2 terabytes
|
2 terabytes
|
Foreign key table references per table4
|
253
|
253
|
Identifier length (in characters)
|
128
|
128
|
Instances per computer
|
50 instances on a stand-alone server for all SQL Server editions.
SQL Server supports 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 For more information, seeStorage Types for Data Files.
|
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 For more information, see Storage Types for Data Files.
|
Length of a string containing SQL statements (batch size)1
|
65,536 * Network packet size
|
65,536 * Network packet size
|
Locks per connection
|
Maximum locks per server
|
Maximum locks per server
|
Locks per instance of SQL Server5
|
Up to 2,147,483,647
|
Limited only by memory
|
Nested stored procedure levels6
|
32
|
32
|
Nested subqueries
|
32
|
32
|
Nested trigger levels
|
32
|
32
|
Nonclustered indexes per table
|
999
|
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
|
32
|
Number of grouping sets generated by operators in the GROUP BY clause
|
4,096
|
4,096
|
Parameters per stored procedure
|
2,100
|
2,100
|
Parameters per user-defined function
|
2,100
|
2,100
|
REFERENCES per table
|
253
|
253
|
Rows per table
|
Limited by available storage
|
Limited by available storage
|
Tables per database3
|
Limited by number of objects in a database
|
Limited by number of objects in a database
|
Partitions per partitioned table or index
|
1,000
Important |
Creating a table or index with more than 1,000 partitions is possible on a 32-bit system, but is not supported.
|
|
15,000
|
Statistics on non-indexed columns
|
30,000
|
30,000
|
Tables per SELECT statement
|
Limited only by available resources
|
Limited only by available resources
|
Triggers per table3
|
Limited by number of objects in a database
|
Limited by number of objects in a database
|
Columns per UPDATE statement (Wide Tables)
|
4096
|
4096
|
User connections
|
32,767
|
32,767
|
XML indexes
|
249
|
249
|