Checklist for installing SQL Server 2005 as a clustered instance
1) Verify the Windows cluster is set up per basic best practices and that basic failover works.
2) Verify you have the latest patches, especially security patches, for Windows.
3) For Windows 2008: Validate the configuration using “Validate a Configuration” in Failover Cluster Management.
4) For Windows 2008: Make sure your quorum choice is appropriate for the number of nodes and other factors in your environment.
5) Unless you have verified that your network cards support it, disable TCP Chimney and the other SNP settings.
6) Verify none of the cluster nodes are domain controllers.
7) Request a disk subsystem configured per IO and recoverability best practices that meets your minimum performance requirements (often you will require that Avg disk sec/read < 10-20ms and Avg disk sec/write < 3-5ms for a given load on the system).
8) Have one or more “shared disks” that are not otherwise used by anything else (not even another instance of SQL) available to SQL Server. Create a new group and move the disk(s) from “Available Storage” (new in Windows 2008) to the group you created for this SQL Server instance. The disks should be configured per database best practices. Generally no other resources should be in this group.
9) Download whatever service packs (SPs) and cumulative updates (CUs) you will be installing. Make sure the files you download are the proper architecture (x86 vs. x64).
10) Download Visual Studio 2005 SP1.
11) Find a new, (preferably) static IP address that is not currently used by anything. You will enter this during setup and the setup process will take care of adding it to DNS and other locations as appropriate.
12) Find or create one or more domain groups that will be used by setup. The best practice is to use three unique groups for each instance of SQL Server, one each for SQL Server, SQL Agent, and Full Text. If the account you are using for setup does not have the permission to add the startup account(s) to the groups, add them manually ahead of time.
13) Determine your SQL virtual name (cannot be used for a physical or virtual machine anywhere in the domain).
14) Determine an instance name which will be unique in the cluster. Note that the name of a default instance is implicitly MSSQLSERVER so you can only have one default instance per cluster.
15) Determine which domain user account(s) you will assign to run SQL Server, SQL Agent, and Full Text. The account(s) you choose will be added to the domain groups by the setup process if your setup account has permissions to do so. As a security best practice each service should have a unique account.
16) Look through the items in my blog to find possible setup blockers http://blogs.msdn.com/cindygross/archive/2009/06/10/sql-server-2005-clustering-tips-references.aspx.
17) From the node which currently owns the group with the disks to be used by SQL Server, log in with an account that is a local admin on all nodes.
18) Make sure no one is logged on through terminal services to any of the remote nodes.
19) Make sure the Remote Registry service, Cryptography services, and Task Scheduler service are started on all nodes.
20) Verify all available disks in the cluster are online, even those that SQL Server will not use.
21) Stop non essential services that may slow down file copies (like virus scanners) or try to connect to SQL Server (like IIS or monitoring tools).
22) Install the RTM version of SQL Server, for SQL Server 2005 you run setup once per instance. It will install the cluster aware components on all nodes. This includes SQL Server and Analysis Services if you choose them.
1. Install the SQL SP.
2. Install the SQL CU.
3. Install the VS05 SP1.
23) On every other node in the cluster, if you want the non-cluster aware components to be available, install those components on each node.
1. RTM (for example, you may want to install the client tools and SSIS on the other node(s))
2. SQL SP.
3. SQL CU.
4. VS05 SP1.
24) Make SQL depend on any drives it will use for data and log files. Those drives must be in the SQL Server group.
25) If you will be using DTC, you may want to cluster it.
26) Update MSDTSSrvr.ini.xml on each node to point to the SQL Server virtual nameinstance. If you have multiple instances of SQL Server that will store SSIS packages you can add multiple instance names to the file.
27) Consider setting “Max server memory” for each instance of SQL Server.
28) Make sure the SQL Server service is set to “affect the group”.
29) Follow your normal SQL Server best practices and standard configuration such as removing builtinadministrators and configuration maintenance operations.
· The 3 Things you Need to Know to Install SQL 2005 on Windows 2008 Cluster http://blogs.msdn.com/psssql/archive/2009/04/08/the-3-things-you-need-to-know-to-install-sql-2005-on-windows-2008-cluster.aspx
· List of known issues when you install SQL Server 2005 on Windows Server 2008 http://support.microsoft.com/default.aspx?scid=kb;EN-US;936302
· SQL Server 2005 Failover Clustering White Paper http://www.microsoft.com/downloads/details.aspx?familyid=818234dc-a17b-4f09-b282-c6830fead499&displaylang=en
· System Configuration Check (SCC) http://msdn.microsoft.com/en-us/library/ms143185(SQL.90).aspx
· Hardware and Software Requirements for Installing SQL Server 2005 http://msdn.microsoft.com/en-us/library/ms143506(SQL.90).aspx
· How to: Create a New SQL Server 2005 Failover Cluster (Setup) http://msdn.microsoft.com/en-us/library/ms179530(SQL.90).aspx
· SQL Server 2005 Readme http://download.microsoft.com/download/5/0/e/50ec0a69-d69e-4962-b2c9-80bbad125641/ReadmeSQL2005.htm
· Changes to the readme file for SQL Server 2005 http://support.microsoft.com/default.aspx?scid=kb;EN-US;907284
· (my blog) SQL Server 2005 Clustering Tips/References http://blogs.msdn.com/cindygross/archive/2009/06/10/sql-server-2005-clustering-tips-references.aspx
· (my blog) How to configure DTC for SQL Server in a Windows 2008 cluster http://blogs.msdn.com/cindygross/archive/2009/02/22/how-to-configure-dtc-for-sql-server-in-a-windows-2008-cluster.aspx