Memory Used by SQL Server Objects Specifications

New: 17 July 2006

The following table lists the approximate amount of memory used by different objects in Microsoft SQL Server. The amounts listed are estimates and can vary depending on the environment and how objects are created. SQL Server 2005 manages some items in a way significantly different from earlier versions.

SQL Server 7.0 SQL Server 2000 SQL Server 2005

Lock

About 96 bytes

64 bytes + 32 bytes per owner

64 bytes + 32 bytes per owner

Open database

2,880 bytes

3924 bytes + 1640 bytes per file and 336 bytes per filegroup

Not applicable to SQL Server 2005

Open object

276 bytes

256 bytes + 1724 bytes per index opened on the object

Not applicable to SQL Server 2005

User connection

12 KB + (3 * network_packet_size)

12 KB + (3 * network_packet_size)

Approximately (3 * network_packet_size + 94 KB)

The network packet size is the size of the tabular data scheme (TDS) packets that are 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.

When using multiple active result sets is enabled, the user connection is approximately (3 + 3 * num_logical_connections) * network_packet_size + 94 KB.

See Also

Concepts

Memory Architecture
user connections Option

Other Resources

Using Multiple Active Result Sets (MARS)

Help and Information

Getting SQL Server 2005 Assistance