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 or nvarchar(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 except for Workgroup. Workgroup supports a maximum of 16 instances per computer.
SQL Server supports 25 instances on a failover cluster. |
50 instances on a stand-alone server.
25 instances on a failover cluster. |
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 |
1,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 |