SQL Server 2000 Editions and Scalability

Support for up to 32 processors, 64GB of RAM, and the use of multiple servers make SQL server 2000 a very scalable database system. What determines the maximum number of processors and RAM is the edition of SQL Server and the Operating system you are running. The three tables below show you the maximum number of CPUs and amount of Memory supported on a few different operating systems.

SQL Server 2000 editions running on Windows 2000 Advanced Server:

Edition – Max Memory – Max CPUs

Enterprise Editions – 8GB – 8

Standard Edition – 2GB – 4

Personal Edition – 2GB – 2

SQL Server 2000 editions running on Windows 2000 Datacenter Server:

Edition – Max Memory – Max CPUs

Enterprise Editions – 64GB – 32

Standard Edition – 2GB – 4

Personal Edition – 2GB – 2

SQL Server 2000 editions running on Windows NT Server Enterprise Edition:

Edition – Max Memory – Max CPUs

Enterprise Editions – 3GB – 8

Standard Edition – 2GB – 8

Personal Edition – 2GB – 2

As for hard disk storage, your needs and budget are going to run out a long time before the maximum theoretical NTFS hard drive storage space is reached. Redundancy, acceptable downtime, and speed are all factors in what type of storage solution you will need. The most common storage solution implemented today is RAID also known as Redundant Array of Independent (or Inexpensive) Disks.

There are two types of RAID: Software and Hardware. Software RAID is normally slower but is included with Windows NT 4.0 and 2000. Hardware RAID gives the best performance but is more expensive. These two RAID types can then be divided into the different RAID levels. For an overview of RAID and working with Disks in Windows, take a look at these sections from two of Dan’s articles: “Implementing, Managing and Troubleshooting Disk Drives” and “Windows 2000 Fault Tolerance options” In a later article we will take a deeper look into RAID and it’s benefits for your databases.

Clustering is the last topic we are going to discuss in the scalability section. Clustering allows you to use multiple servers to provide redundancy and/or load balancing. Although the cluster may be made up of several servers, the cluster appears as one “virtual server” to the network. SQL Server 2000 is a fully “cluster aware” application that can operate in a clustered environment provided by the operating system.

NT Server 4.0 introduced clustering with the ability to have a complete duplicate of the server. This provided protection if any portion of the server failed, but there were no load-balancing capabilities. Windows 2000 Advanced Server and Datacenter Server add a “load-balancing” capability to clustering. We will be going into how to design and setup clusters in a later article.