SQLServerCentral Article

Maximum Capacity Specifications in SQL Server 2005

,

Growing Up?

Every version of SQL Server has usually grown itself physically, allowing more capacity, scalability, etc. in each version. With the announcement of Yukon, now known as SQL Server 2005, I was excited to think about not having to answer the 8060 question. You know, how do you store more than 8060 bytes in a row. Actually you can't store that much, but you get close.

So I was surprised to see what some research into the new maximums of SQL Server 2005 didn't seem to show much growth. I included the 32-bit values, although I don't know if the 64-bit values are any different. My research started with books online for Beta 2, but the search didn't show up a Maximum Capacity page. So I went to Google, my first stop.

I stumbled upon this page for Maximum Capacity specifications for SQL Server 2005, but it appears to be a cut and past job of the MS page for SQL 7 and 2000. After double checking a few things, I decided it wasn't accurate for some reason. Now BOL has been known to have errors, and I wouldn't be surprised if much of it was cut and pasted from BOL 2000 and then edited, so don't take this information as the gospel, but based on my digging in places like BOL, MSDN, Technet, etc., this is what I pieced together.

The page size is the same, one that I wasn't sure would change, but I thought for sure they'd somehow allow a row to cross pages. The index sizes aren't bigger, although I'd be surprised if anyone is creating indexes this large. I think you're probably making a mistake if you are. It was nice to see instances go up, especially as more applications are starting to use MSDE. While I haven't seen anyone with more than 10 Access apps on a machine, I'm sure there are a few out there.

©dkranch.net 2004

Return to Steve Jones' home

The Specs

Where there are differences in SQL Server 2005, I have bolded the entry

ObjectMaximum sizes/numbers
SQL Server 7 (32-bit)
Maximum sizes/numbers
SQL Server 2000 (32-bit)
Maximum sizes/numbers
SQL Server 2005 (32-bit)

Batch size

65,536 * Network Packet Size

65,536 * Network Packet Size

65,536 * Network Packet Size

Bytes per short string column

8,000

8,000

8,000

Bytes per text, ntext, image, varchar(max), nvarchar(max), varbinary(max), or XML column

231 -2 bytes/p>

231 -2 bytes/p>

231 -1 bytes/p>

Bytes per GROUP BY, ORDER BY

8,060

8,060

8,060

Bytes per index

900

900

9001

Bytes per foreign key

900

900

??2

Bytes per primary key

900

900

900 - Not listed, but since this will be an index, the index guidelines should apply.

Bytes per row

8,060

8,060

8,060

Bytes in source text of a stored procedure

Lesser of batch size or 250 MB or 128MB3

Lesser of batch size or 250 MB or 128MB3

128MB

Clustered indexes per table

1

1

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

Columns or expressions in a GROUP BY WITH CUBE or WITH ROLLUP statement

10

10

10

Columns per index

16

16

164 5

Columns per foreign key

16

16

164

Columns per primary key

16

16

164

Columns per base table

1,024

1,024

1,024

Columns per SELECT statement

4,096

4,096

4,096

Columns per INSERT statement

1,024

1,024

1,024

Connections per client

Maximum value of configured connections (32,767 max)

Maximum value of configured connections (32,767 max)

Maximum value of configured connections (32,767 max)

Database size

1,048,516 terabytes

1,048,516 terabytes

1,048,516 terabytes

Databases per instance of SQL Server

32,767

32,767

32,767

Filegroups per database

256

256

32,767

Files per database

32,767

32,767

32,767

File size (data)

32 terabytes

32 terabytes

32 terabytes

File size (log)

32 terabytes

32 terabytes

32 terabytes

Foreign key table references per table

253

253

253

Identifier length (in characters)

128

128

128

Instances per computer

16

16

50

Length of a string containing SQL statements (batch size)

65,536 * Network packet size

65,536 * Network packet size

65,536 * Network packet size

Locks per connection

Maximum locks per server

Maximum locks per server

Maximum locks per server

Locks per instance of SQL Server

Up to 2,147,483,647

Limited only by memory

Limited to 60% of memory

Nested stored procedure levels

32

32

32

Nested subqueries

32

32

no limit, at least according to Beta 2 BOL

Nested trigger levels

32

32

32

Nonclustered indexes per table

249

249

249

Objects concurrently open in an instance of SQL Server

2,147,483,647 per database (depending on available memory)

2,147,483,647 per database (depending on available memory)

2,147,483,647 per database (depending on available memory)

Objects in a database

2,147,483,647

2,147,483,647

2,147,483,647

Parameters per stored procedure

2,100

2,100

2,100

Parameters per user-defined function

2,100

2,100

2,100

REFERENCES per table

253

253

253

Rows per table

Limited by available storage

Limited by available storage

Limited by available storage

Tables per 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

Tables per SELECT statement

256

256

256

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

UNIQUE indexes or constraints per table

249 nonclustered and 1 clustered

249 nonclustered and 1 clustered

249 nonclustered and 1 clustered

Footnotes

1 - By including nonkey columns in the index, you can exceed the 900 byte limit as these columns (used in covering queries) are not computed as part of the 900 byte limit.

2 - I could not find this listed in the SQL Server 2005 Beta 2 BOL.

3 - The Maximum Capacity Specifications shows the less or the batch size or 250MB, however Books Online shows 128MB in the entry for

4 - The 16 column limit is for key columns. Additional columns can be included (as in footnote 1) beyond the 15.

5 - Not valid for XML indexes.

Rate

5 (3)

You rated this post out of 5. Change rating

Share

Share

Rate

5 (3)

You rated this post out of 5. Change rating