Server Database Engine Specifications 32-BIT MICROSOFT 32-BIT 64-BIT MICROSOFT 64-BIT
Batch size 2^16 * Network Packet Size 2^16 * Network Packet Size 2^16 * Network Packet Size 2^16 * Network Packet Size
Bytes per short string column 32000 8000 32000 8000
Bytes per GROUP BY, ORDER BY 8092 8060 8092 8060
Bytes per index key 3382 900 3382 900
Bytes per foreign key 3382 900 3382 900
Bytes per primary key 3382 900 3382 900
Bytes in source text of a stored procedure unlimited Lesser of batch size or 250 MB unlimited Lesser of batch size or 250 MB
Bytes per varchar(max), varbinary(max), xml, text, or image column 2^31-1 2^31-1 2^31-1 2^31-1
Characters per ntext or nvarchar(max) column 2^30-1 2^30-1 2^30-1 2^30-1
Columns in GROUP BY, ORDER BY Limited only by number of bytes Limited only by number of bytes Limited only by number of bytes Limited only by number of bytes
Columns per index key 32 16 32 16
Columns per foreign key 32 16 32 16
Columns per primary key 32 16 32 16
Columns per nonwide table 1024 1024 1024 1024
Columns per SELECT statement unlimited 4096 unlimited 4096
Columns per INSERT statement 1024 4096 1024 4096
Connections per client 2^16 2^16
Database size 2^21 terabytes 2^19 terabytes 2^21 terabytes 2^19 terabytes
Databases per instance of Server 2^16 (tablespaces) 2^15-1 2^16 (tablespaces) 2^15-1
Files per database 2^26 2^15-1 2^26 2^15-1
File size (data) 32 terabytes 16 terabytes 32 terabytes 16 terabytes
File size (log) 4 terabytes 2 terabytes 4 terabytes 2 terabytes
Foreign key table references per table 1024 253 1024 253
Instances per computer 64511 (maximun # of system port) 50 64511 (maximun # of system port) 50
Locks per connection unlimited 65,536 * Network packet size unlimited Maximum locks per server
Locks per instance of Server unlimited Up to 2^31 unlimited Limited only by memory
Nested stored procedure levels 64 32 64 32
Nested subqueries unlimited 32 unlimited 32
Nested trigger levels 64 32 64 32
Nonclustered indexes per table 64 999 64 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 Limited only by number of bytes 32 Limited only by number of bytes 32
Number of grouping sets generated by operators in the GROUP BY clause not supported 4096 not supported 4096
Parameters per stored procedure 1024 2100 1024 2100
Parameters per user-defined function 1024 2100 1024 2100
REFERENCES per table 1024 253 1024 253
Rows per table Limited by available storage Limited by available storage Limited by available storage Limited by available storage
Tables per database 2^21 Limited by number of objects in a database 2^21 Limited by number of objects in a database
Partitions per partitioned table or index 2^21 2^10 2^21 2^14
Tables per SELECT statement Limited only by available resources Limited only by available resources Limited only by available resources Limited only by available resources
Triggers per table Limited by number of objects in a database Limited by number of objects in a database Limited by number of objects in a database Limited by number of objects in a database
Columns per UPDATE statement (Wide Tables) 1024 (non-wide table) 4096 1024 (non-wide table) 4096
(wide table not supported) (wide table not supported)
User connections 2^16 2^15 2^16 2^15