Install SQL Server 2008 on a Windows Server 2008 Cluster Part 1

By:   |   Comments (48)   |   Related: 1 | 2 | 3 | 4 | > Clustering


In a previous tip on SQL Server 2008 Installation Process, we have seen how different SQL Server 2008 installation is from its previous versions. Now, we have another challenge to face: installing SQL Server 2008 on a Windows Server 2008 Cluster. Windows Server 2008 has a lot of differences from its previous versions and one of them is the clustering feature. How do I go about building a clustered SQL Server 2008 running on Windows Server 2008?


There have been a lot of changes regarding clustering between Windows Server 2003 and Windows Server 2008. It took quite a lot of effort for us to build a cluster in Windows Server 2003 - from making sure that the server hardware for all nodes are cluster-compatible to creating resource groups. Microsoft has redefined clustering with Windows Server 2008, making it simpler and easier to implement. Now that both SQL Server 2008 and Windows Server 2008 are out in the market for quite some time, it would be a must to prepare ourselves to be able to setup and deploy a clustered environment running both. Installing SQL Server on a stand-alone server or member server in the domain is pretty straight-forward. Dealing with clustering is a totally different story. The goal of this series of tips is to be able to help DBAs who may be charged with installing SQL Server on a Windows Server 2008 cluster.

Prepare the cluster nodes

I will be working on a 2-node cluster throughout the series and you can extend it by adding nodes later on. You can do these steps on a physical hardware or a virtual environment. I opted to do this on a virtual environment running VMWare. To start with, download and install a copy of the evaluation version of Windows Server 2008 Enterprise Edition. This is pretty straight-forward and does not even require any product key or activation. Evaluation period runs for 60 days and can be extended up to 240 days so you have more than enough time to play around with it. Just make sure that you select at least the Enterprise Edition during the installation process and have at least 12GB of disk space for your local disks. This is to make sure you have enough space for both Windows Server 2008 and the binaries for SQL Server 2008. A key thing to note here is that you should already have a domain on which to join these servers and that both have at least 2 network cards - one for the public network and the other for the heartbeat. Although you can run a cluster with a single network card, it isn't recommend at all. I'll lay out the details of the network configuration as we go along. After the installation, my recommendation is to immediately install .NET Framework 3.5 with Service Pack 1 and Windows Installer 4.5 (the one for Windows Server 2008 x86 is named Windows6.0-KB942288-v2-x86.msu). These two are prerequisites for SQL Server 2008 and would speed up the installation process later on.

Carve out your shared disks

We had a lot of challenges in Windows Server 2003 when it comes to shared disks that we will use for our clusters. For one, the 2TB limit which has a lot to do with the master boot record (MBR) has been overcome by having the GUID Partition Table (GPT) support in Windows Server 2008. This allows you to have 16 Exabytes for a partition. Another has been the use of directly attached SCSI storage. This is no longer supported for Failover Clustering in Windows Server 2008. The only supported ones will be Serially Attached Storage (SAS), Fiber Channel and iSCSI. For this example, we will be using an iSCSI storage with the help of an iSCSI Software Initiator to connect to a software-based target. I am using StarWind's iSCSI SAN to emulate a disk image that my cluster will use as shared disks. In preparation for running SQL Server 2008 on this cluster, I recommend creating at least 4 disks - one for the quorum disk, one for MSDTC, one for the SQL Server system databases and one for the user databases. Your quorum and MSDTC disks can be as small as 1GB, although Microsoft TechNet specifies a 512MB minimum for the quorum disk. If you decide to use iSCSI as your shared storage in a production environment, a dedicated network should be used so as to isolate it from all other network traffic. This also means having a dedicated network card on your cluster nodes to access the iSCSI storage.

Present your shared disks to the cluster nodes

Windows Server 2008 comes with iSCSI Initiator software that enables connection of a Windows host to an external iSCSI storage array using network adapters. This differs from previous versions of Microsoft Windows where you need to download and install this software prior to connecting to an iSCSI storage. You can launch the tool from Administrative Tools and select iSCSI Initiator.


To connect to the iSCSI target:

  1. In the iSCSI Initiator Properties page, click on the Discovery tab.


  2. Under the Target Portals section, click on the Add Portal button.
  3. In the Add Target Portal dialog, enter the DNS name or IP address of your iSCSI Target and click OK. If you are hosting the target on another Windows host as an image file, make sure that you have your Windows Firewall configured to enable inbound traffic to port 3260. Otherwise, this should be okay.


  4. Back in the iSCSI Initiator Properties page, click on the Targetstab. You should see a list of the iSCSI Targets that we have defined earlier


  5. Select one of the targets and click on the Log on button.
  6. In the Log On to Target dialog, select the Automatically restore this connection when the computer starts checkbox. Click OK.


  7. Once you are done, you should see the status of the target change to Connected. Repeat this process for all the target disks we initially created on both of the servers that will become nodes of your cluster.

Once the targets have been defined using the iSCSI Initiator tool, you can now bring the disks online, initialize them, and create new volumes using the Server Manager console. I won't go into much detail on this process as it is similar to how we used to do it in Windows Server 2003, except for the new management console. After the disks have been initialized and volumes created, you can try logging in to the other server and verify that you can see the disks there as well. You can rescan the disks if they haven't yet appeared.

Adding Windows Server 2008 Application Server Role

Since we will be installing SQL Server 2008 later on, we will have to add the Application Server role on both of the nodes. A server role is a program that allows Windows Server 2008 to perform a specific function for multiple clients within a network. To add the Application Server role,

  1. Open the Server Manager console and select Roles.
  2. Click the Add Roles link. This will run the Add Roles Wizard


  3. In the Select Server Roles dialog box, select the Application Server checkbox. This will prompt you to add features required for Application Server role. Click Next.


  4. In the Application Server dialog box, click Next.


  5. In the Select Role Services dialog box, select Incoming Remote Transactions and Outgoing Remote Transactions checkboxes. These options will be used by MSDTC. Click Next


  6. In the Confirm Installation Selections dialog box, click Install. This will go thru the process of installing the Application Server role


  7. In the Installation Results dialog box, click Close. This completes the installation of the Application Server role on the first node. You will have to repeat this process for the other server


We have now gone thru the process of creating the cluster at this point. In the next tip in this series, we will go thru the process of installing the Failover Cluster feature, validating the nodes that will become a part of the cluster and creating the cluster itself. And that is just on the Windows side. Once we manage to create a working Windows Server 2008 cluster, that's the only time we can proceed to install SQL Server 2008.

Next Steps
  • Download and install an Evaluation copy of Windows Server 2008 for this tip
  • Start working on building your test environment in preparation for building a SQL Server 2008 cluster on Windows Server 2008
  • Read Part2, Part3 and Part4

sql server categories

sql server webinars

subscribe to mssqltips

sql server tutorials

sql server white papers

next tip

About the author
MSSQLTips author Edwin Sarmiento Edwin M Sarmiento is a Microsoft SQL Server MVP and Microsoft Certified Master from Ottawa, Canada specializing in high availability, disaster recovery and system infrastructures.

This author pledges the content of this article is based on professional experience and not AI generated.

View all my tips

Comments For This Article

Friday, October 26, 2018 - 11:16:48 AM - bass_player Back To Top (78068)

Have a look at the Configuring the Cluster Quorum Settings section of this tip

Thursday, October 25, 2018 - 5:32:20 PM - Alfredo Soto Back To Top (78058)

 Hi Edwin,

I'm working in a cluster Windows Server 2012 with a file share witness but I have some problems, do you have a manual step by step to configure this kind of cluster..?? I've been looking in the Internet but I can't found something about that.


Thank you. Best Regards.


Sunday, December 31, 2017 - 5:53:28 AM - .ganesh Back To Top (74627)

When  I am installing the sql server in cluster that throw the error of

"The given network is unusable because there was a failure trying to determine if the network name is valid for use by the clustered SQL instance due to the following error :the network address is invalid" 

Please send me solutions 

Monday, July 10, 2017 - 4:31:47 PM - bass_player Back To Top (59204)



Refer to these tips for Windows Server 2016

Sunday, July 9, 2017 - 8:17:35 PM - jon Back To Top (59163)

Hi dear

In Windows server 2016 we cannnot find

(5 - Role Services dialog box, select Incoming Remote Transactions and Outgoing Remote Transactionscheckboxes. These options will be used by MSDTC )

What is our choice ? 



Wednesday, January 8, 2014 - 12:24:21 PM - bass_player Back To Top (27993)

When using SRDF, your cluster needs to be configured according to their documentation. This is because you are dealing with block-level replication on the storage layer. Have a look at this series of posts for more details on how this can be done on the SQL Server layer

Wednesday, January 8, 2014 - 4:33:42 AM - Srini Back To Top (27987)

My plan is to configure 1 node in Prod DC and 1 node in BCP DC, and enable SRDF replication between these 2 sites. When it fails over to another node, how does the storage split happen? Can this be automated?

Tuesday, April 16, 2013 - 1:57:57 AM - a3 Back To Top (23364)


what a amazing post.....that's just what I want with pics step by step....

Thursday, October 4, 2012 - 2:28:54 PM - Sik Back To Top (19790)

Hello Edwin,

I am a very frequent visitor of your articles on sqltips and I need your feedback on my current scenario if possible…

 To give you the background I recently joined this company where they are using an (Node 1) Active / (Node 2) Passive/Node (3) Active/Node4 (Active)/Node 5 (Passive) cluster environment. This is a SQL 2008 R2/Windows 2008 R2 environment.

As of today, Node 1 has a named SQL Instance running on it and is set to Failover to Node2 and they both are the preferred owners/failover partners. Next, Node 3 has a named SQL instance installed on it and is set to failover to Node 5 and they both are preferred owners/failover partners in cluster. Node 4 doesn’t have anything running on it but it is in the cluster.

The task I was given is to now first change the failover partner(preferred owners) of Node 1 to Node 5 and then install a new named SQL cluster instance on the Node 2 and set it to failover to Node 5. Next thing I need to do is, install another named SQL instance on the Node 4 and set it to failover to Node 5. The ultimate goal here is all the first 4 nodes will have once single named instance running on each of them and they will all be set to failover to ONLY Node 5 in case any one goes down. This cluster was built half way by a DBA who left the organization and unfortunately we don’t have any documentation on this. I have to take this task at where it is left and build a complete A/A/A/A/P cluster.

Here is my current plan and please take a look and let me know if this makes sense…

1.       On Node 5 I run the SQL setup and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner for instance on Node 1 to Node 5.

2.       Now I change the Failover partner instance on Node 1 to Node 5 and make Node 1 and Node 5 preferred owners.

3.       Now I run the set up on Node 2 and select the “New SQL Server failover cluster Installation” and install new instance on Node 2.

4.       On Node 5 I run the SQL setup again and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner/preferred owners for instance on Node 2 to Node 5. At this point I am going to make the failover partners of Instance 2 on Node 2 as Node 2 and Node 5.

5.       Now I run the set up on Node 4 and select the “New SQL Server failover cluster Installation” and install new instance on Node 4.

6.       On Node 5 I run the SQL setup again and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner for instance on Node 4 to Node 5. At this point I am going to make the failover partners/preferred owners of Instance 4 on Node 4 as Node 4 and Node 5.

I have done many A/P passive installs before but this set up is bit complicated and as you have a lot of experience building the clusters (of course I read all your articles on cluster installJ) I would like to get your opinion on what will be the best route to complete this cluster build and make sure it goes smoothly. Please let me know your feedback on this.


Friday, August 31, 2012 - 6:01:45 PM - bass_player Back To Top (19359)

Even though it can read the directory services entry and DNS from the secondary DC, it will still take some time to do it because of the AD and DNS replication. This will affect your ability to perform a quick failover. It is still recommended to move them outside of the cluster

Friday, August 31, 2012 - 3:45:45 PM - abubakar Back To Top (19355)

Thanks for the update.

Note that the cluster can read the directory services entry and DNS from the secondary DC.


What do you think?


Friday, August 31, 2012 - 12:52:58 PM - bass_player Back To Top (19350)

If the Windows Server 2008 cluster relies on VM-1 as it's domain controller, then, this solution will not work. The cluster requires both Active Directory and DNS to function well. If you reboot one of your cluster nodes, it will failover the cluster resources to one of the available nodes. In order to do that, it has to read both the directory services entry and DNS. If the domain controller and DNS resides as a virtual machine in the node that just got rebooted, it will take some time for them to be moved to the available node and will cause the failover to fail. Make sure that your Windows Server 2008 cluster does not depend on anything inside it. Move the domain controllers outside of the cluster if the cluster depends on them

Friday, August 31, 2012 - 10:55:47 AM - abubakar Back To Top (19344)

Dear All,

We have created a 2 node cluster using server 2008 R2.

Each of the nodes in the cluster have a virtual machine. The VM-1 is the PDC and the VM-2 is the secondary domain controller.

On top of the cluster also we implemented SQL cluster with SQL 2008 R2.

All configuration validation is ok and cluster validation is also ok.

The problem is, when 1 node goes down, the cluster fails, not able to switch the traffic to the other node.

I suspected the DNS and Domain controller issues. so I used DCdiag tool to make all test and everything is passed.

I have been testing by disabling the network adapter to observe the fail-over but is still failing.

What I have observed also is that, when the nodes does not have internet, they can not be reached, even with ping.

Kindly help with solution.



Thursday, August 23, 2012 - 11:54:22 AM - Abubakar Back To Top (19196)

Thanks for the quick response.

I have an application running on which will be accessing the database. I want when the node1 is not available, Node2 takes over automatically.

I am ready to have one database on an external iSCSI storage that is running RAID1.


What configuration of SQL will give me this option?




Thursday, August 23, 2012 - 9:59:17 AM - bass_player Back To Top (19194)

Are your domain controllers mission critical? Are you using it for something else other than the SQL Server cluster? If they are mission critical, then, they should be in a separate environment that is also designed with high availability in mind. Don't fall for the trap of implementing failover clustering just because you can. As I've previously mentioned, understand and define your availability objectives. Maybe database mirroring or log shipping would be enough to address your requirement. 

Thursday, August 23, 2012 - 5:07:30 AM - Abubakar Back To Top (19184)

Thank you for the update.

To achieve redandancy on the domain controller side, can I create 1 VM on each node to serve as domain controllers?

That way, I will have 4 nodes in my cluster, 2 VMs + 2 Main nodes.

I will appreciate if you can share with me a guide to implement the VMs and also things I have to take note of.


Thank you.

Wednesday, August 22, 2012 - 10:54:39 PM - bass_player Back To Top (19182)

Unfortunately, you can't install SQL Server on a domain controller. If you only need a domain controller because of the cluster, you can provision a virtual machine that would run on a cheap hardware to host your domain controller plus your DNS server. If you use your domain controller for production and you have many users, computers and services authenticating to the domain controller, then, you need to make it highly available. Before you start with implementing SQL Server Failover Clustering, define your recovery and high availability objectives first and let that be your guide in deciding the appropriate solution for you.

Wednesday, August 22, 2012 - 9:39:41 PM - Abubakar Back To Top (19181)

Thanks for the good material.


I have been following this good work to configure my 2-node cluster.


I get a prompt that the domain controller rule has failed because in SQL server cluster can not be installed in a cluster where 1 on the node is a domain controler.


In my case, I want the 2 servers to be domain controllers as I have no budget to include additional server. Also only one server as a domain controller gives me sigle point of failure.


Thanks for your support.




Sunday, July 22, 2012 - 11:35:15 AM - bass_player Back To Top (18729)

There is an option in StarWind to configure the disk for use with clustering - Allow multiple concurrent iSCSI connections (clustering) - if you choose the device type Basic Virtual. I would recommend contacting StarWind support for assistance on configuring your iSCSI storage for clustering

Tuesday, July 17, 2012 - 5:01:56 AM - Rajan Back To Top (18566)

Hi Bass,

I am Using starwind's ISCSI SAN for creating the Shared disk.

Is there any specific option that, I need to check to make the disk to be shared for the two nodes of the cluster.


Thanks in advance



Monday, July 16, 2012 - 9:41:42 AM - bass_player Back To Top (18542)


As I've mentioned, you may want to check with your storage engineers regarding this. There are numerous reasons why you can't bring your disks online on both servers. One of them might be that the disks are not configured for use on clusters. Just because you were able to bring the disks online on one server doesn't mean you will be able to bring the same disk online on a different server. Imagine two boys playing with a toy. If the two boys try to compete with each other when using the toy, it may break. The toy needs to be shared and only one of the boys can play with the toy at any given point in time. However, the toy needs to be designed so that it can be shared. Same thing with your clustered disk. It needs to support sharing before you can bring it online on all of your cluster nodes.

Monday, July 16, 2012 - 6:12:46 AM - Rajan Back To Top (18538)

Hi all,

Anyone help me on presenting the shared disk to the cluster nodes.


Hi Bass,

Any Update on my query to you.


Thanks in advance


Friday, July 13, 2012 - 9:24:18 AM - Rajan Back To Top (18498)

Hi Bass,


But I can able to bring the shared disk to online in the Node 1 , the thing is i cant able to do the same in Node 2

Actually what i am facing is  as per your tutorial of presenting shared disk to cluster nodes, i can't able to complete the step 7.

That is , I cant able to change the inactive status of the shared disk to connected in the Node 2.

Friday, July 13, 2012 - 9:08:04 AM - bass_player Back To Top (18497)


What error message are you getting when you bring the disks online on the other node? I suspect that the disks are not configured to be shared. Check with your storage engineers on how to configure this

Friday, July 13, 2012 - 9:06:31 AM - bass_player Back To Top (18496)

Hi Sadaf,

I'm not familiar with OpenFiler but from the error message, it seems that it is not configured for SCSI-3 Persistent Reservation. Make sure that OpenFiler supports it and is configured properly

Friday, July 13, 2012 - 1:51:45 AM - Rajan Back To Top (18486)


I am doing SQL clustering 2008 on windows server 2008 64 bit.

As per your guidance in this above tutorial, I have  created the shared disk  and when Presenting the  shared disks to the cluster nodes.

I can able to present  the disk and bring them to online in  the  Node1 but when i try the same in the Node 2 ,  I cant able to accomplish it.

Please help me to do this right a way.


Thanks in advance



Friday, July 13, 2012 - 12:35:33 AM - Sadaf Ullah Khan Back To Top (18485)

I am trying to create SQL Server 2008R2 cluster environment and using Open filer 2.99 software for shared disk but Validate a Configuration Wizard failed and report the following Error on Storage

 "Validate SCSi-3 Persistent Reservation" and cancel some disk related verifications.

I would like to update you about the Operating System for better understanding that MS Windows Server 2008 R2 Enterprise Edition (64 bit) is installed on both nodes.

Please help out..........


Monday, July 2, 2012 - 3:52:34 PM - Dave Back To Top (18307)

Ok, thanks 



Monday, July 2, 2012 - 9:56:32 AM - bass_player Back To Top (18297)


One thing to keep in mind is the mainstam support for SQL Server 2005 with Service Pack 4 ended last year so you might want to re-evaluate the decision to do so.

Setting up a SQL Server 2005 failover cluster is not as easy as it is in SQL Server 2008 and higher. Check out this URL for reference in setting it up

The iSCSI initiator in this tip is only used to access the shared storage. You should talk to your storage engineers to discuss what type storage subsystem you will use for your cluster

Sunday, July 1, 2012 - 9:53:03 PM - Dave Back To Top (18287)


I'm doing SQL 2005 clustering on Windows 2008 , please let me know the steps 

Do I need to do iSCSI Initiator as a starting point 

Please help 






Monday, June 18, 2012 - 5:49:13 AM - Mani Back To Top (18082)

This is an Excellent Article ever seen:)  Thanks!!!!!!

Wednesday, June 13, 2012 - 6:53:49 PM - LightheartAl Back To Top (17976)

Excellent!  Thanks for the work. :)

Sunday, June 3, 2012 - 12:28:18 AM - bass_player Back To Top (17787)

iSCSI is an IP-based storage networking standard for connecting data storage. It is one way to implement shared/clustered storage for Windows Failover Cluster. You can implement other storage types such as serial attached SCSI- or fiber channel-based as long as they support the SCSI persistent reservation defined in the SPC-3 standards. Your storage vendor will be able to tell you if the storage complies with this requirement. The only reason I used iSCSI for this example is because I only have access to iSCSI storage. 

In the Add Target Portal dialog box you used to connect to the iSCSI Target, you need to specify the DNS name or IP address of your iSCSI storage, not the DNS server. If you are using iSCSI storage for your Windows Failover Cluster, check with your storage engineers or vendors to get these values.

Tuesday, May 22, 2012 - 3:31:44 AM - VAHID Back To Top (17580)

What is the purpose of seting iscsi for sql server clustring???

Tuesday, May 22, 2012 - 3:29:06 AM - VAHID Back To Top (17579)


I have problem with Add Target Portal  when i enter my DNS ip address in filed and then clik ok  i accure error (Connection failed)

Thank you

Wednesday, April 18, 2012 - 10:41:59 AM - Michael Back To Top (16990)

Great article, thanks for sharing!


Wednesday, September 7, 2011 - 5:19:47 PM - BuntyBoy Back To Top (14606)

Very helpful article. Thanks for sharing.

Monday, December 13, 2010 - 6:52:32 PM - GregB Back To Top (10454)

Very useful post. Steps included were very helpful, and overall it was quite comprehensive.

Thanks for your efforts!

Friday, November 19, 2010 - 11:55:27 PM - bass_player Back To Top (10383)

Hi Donald,

Yes it is valid for SQL Server 2008 R2 on a Windows Server 2008 R2. A couple of things to consider is that the .NET Framework 3.5.1 is already included with Windows Server 2008 R2 as a feature so you only need to enable that instead of downloading the installation file from the Microsoft Download Center. Plus, no need to slipstream the SQL Server 2008 R2 media for Windows Server 2008 R2 as described in this tip 

Wednesday, November 10, 2010 - 3:38:42 AM - Donald Fernandes Back To Top (10347)

Is this article valid SQL Server 2008 R2 on a Windows Server 2008 R2.



Saturday, October 17, 2009 - 4:05:54 PM - bass_player Back To Top (4230)

Technically,the Application Role is really not necessary to run SQL Server or other Microsoft servers. It's more for formalization. Besides, installing the Application Role will install components that are needed by applications, such as .NET Framework. Since I opted to install the .NET Framework separately, it's no longer necessary

Wednesday, July 29, 2009 - 12:55:19 AM - MOttaway Back To Top (3795)

I would also like to know the purpose of the application server role. You say in the article 'Since we will be installing SQL Server 2008 later on, we will have to add the Application Server role on both of the nodes' that makes it sound as if it's required.

Yet this technet article states that 'Not every server application benefits from the installation of the Application Server role. For example, the Application Server role is not necessary to support Microsoft Exchange Server or Microsoft SQL Server on Windows Server 2008'

 Could you please clarify. Is the Applicartion Server Role required or not?

Tuesday, April 7, 2009 - 7:38:13 AM - Bryan Back To Top (3147)

What is the purpose for installing the Application Server role on the nodes?  Does this help with configuring MSDTC to function properly on a failover cluster or is there another purpose/benefit to installing this role?

Monday, March 23, 2009 - 4:16:39 PM - bass_player Back To Top (3061)

Hi Bob,

You'd be surprised if I tell you that I am running everything using Windows XP as I dont have very good hardware to play around with.  I am running VMWare Workstation 6.5 while the iSCSI target machine is also my Windows XP laptop with a 500GB external hard drive running the StarWind service. Make sure you open the appropriate port numbers on your firewall for the iSCSI target machine.

You can check if I'm online on IM at my blog if you need further assistance

Monday, March 16, 2009 - 8:45:00 AM - BobbyW Back To Top (3015)

Hi Edwin,

I'd be interested to know what your VMWare environment is and also what OS you used to install the iSCSI target machine.

 I've been struggling to get a test environment up and running and would be grateful for any pointers.


Tuesday, February 17, 2009 - 1:20:36 AM - myangzki Back To Top (2782)
I will be definitely waiting for this article because I will also be needing it for my SQL Server 2008 clustering task. Thanks again!

Tuesday, February 17, 2009 - 1:17:02 AM - bass_player Back To Top (2781)

Thanks for the feedback.  In part 2 of this series, I will be completing the configuration of the Windows Server 2008 cluster in preparation for installing SQL Server 2008

Monday, February 16, 2009 - 10:54:20 PM - myangzki Back To Top (2778)
Hi Edwin, This is a great article, very comprehensive and detailed. This article helped me with my windows clustering task. Even a non-System Admin like me can follow the steps clearly. I hope you continue to share your knowledge through writing up articles like this. Thank you so much and keep up the great work!

get free sql tips
agree to terms