Microsoft supplies recommended hardware requirements for SQL Server 2000. These are the minimum requirements for running SQL Server and should be treated as such. As each installation varies, the appropriate hardware for your site will no doubt be different than these requirements. Purchase the best hardware your budget allows, and ensure that the hardware will scale with the needs of your database.
An Intel Pentium 166MHz or higher processor is required for all editions of SQL Server 2000 running on Windows NT or Windows 2000. Requirements for running on Windows 95 and Windows 98 are operating-system specific, and requirements for Windows CE are vendor specific.
If required, SQL Server 2000 can scale up to 32 processors on machines running Windows 2000 Datacenter Server. Few installations require this much processing power. For almost all of the SQL Server 2000 installations that we have seen in the last two years, at the very least, a dual-processor machine has been used. Using a dual-processor machine positions you best to handle fairly large requirements from the start, and allows you to move up with ease as loads increase.
For Standard Edition installations, the minimum recommended memory is 64MB. If you opt to run SQL Server Enterprise Edition, Microsoft recommends at least 128MB. SQL Server Personal Edition requires 64MB on Windows 2000 and 32MB on all other operating systems.
Few things will benefit a database more than adequate memory. The more memory available, the more likely that requested data will be found in memory and not have to be read in from disk. All but the smallest database installations should start with at least 256MB of RAM, with 512MB?4GB installations becoming common. On Windows 2000 Advanced or Datacenter servers, setting the /3GB switch in the boot.ini file will allow the application (SQL Server) to address 3GB of virtual memory, reserving 1GB for the operating system. Do not use the /3GB switch on systems with more than 16GB of memory because Windows 2000 needs 2GB for system purposes. If you require more than 4GB of memory, the /pae switch must be set. On systems with more than 4GB of RAM, Windows 2000 uses the Address Windowing Extension API (AWE). If more than 3GB of memory is available to SQL Server, the SP_CONFIGURE AWE ENABLED option must be set. If required, SQL Server 2000 Enterprise Edition running on Windows 2000 Datacenter can support up to 64GB of physical memory. See the Windows 2000 documentation for more information on supporting AWE.
Rule of Thumb: For SQL Servers that will support less than 200 simultaneous users, you should plan on giving 25 percent of the systems memory to the operating system. For SQL Servers that will support greater than 200 simultaneous users, give a bit more (40?60 percent) of the memory to the operating system to better handle the significant increase in connections, thread management, I/O, and so on.
The required disk space for installing SQL Server 2000 and its associated options is listed in Table 8.4.
|Installation Type||Disk Space Required|
Of course, the preceding list doesn't take into account the storage requirements for your user databases, logs, backups, or Tempdb; these generally should be located on separate disk subsystem(s) to provide optimum performance. As databases can be extremely I/O intensive, use fast SCSI drives and quality disk controllers for your installation. If you choose to use write-caching controllers, consult your vendor to ensure they are designed for database applications to prevent potential data loss. You should also consider implementing RAID to provide fault tolerance or increased performance. Table 8.5 lists the various levels of RAID and their characteristics.
|RAID 0||Disk striping/no parity.||Excellent performance but negative fault tolerance.|
|RAID 1||Disk mirroring/duplexing.||Good read and write performance with excellent fault tolerance.|
|RAID 5||Disk striping with parity.||Excellent read performance, but only moderate write performance. Excellent fault tolerance.|
|RAID 10||Disk mirroring combined with disk striping (RAID 1 + 0).||Excellent performance and fault tolerance. Expensive due to the number of disks required.|
For more information on RAID configurations and their use with SQL Server 200, see Chapter 39, "Database Design and Performance."