SQL Server Performance

  • Home
  • Articles
  • Forums
  • Tips
  • Training
  • FAQ's
  • Blogs
  • Software
  • Books
  • About Us
RSS Feeds
Sign in | Join


Article Topics

All Articles
Performance Tuning
Audit
Business Intelligence
Clustering
Reporting Services
SQL Azure
Developer
General DBA
ASP.NET / ADO.NET
SQL Azure

USEFUL SITES :

ASP.NET Tutorials
Windows and SQL Azure Tutorials
Cloud Hosting Magazine
SharePoint Tutorials
Windows Server Help

Write for Us

Share your SQL Server knowledge with others and raise your profile in the community More...
Latest Articles

A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server - Part ...
A High Level Comparison Between Oracle and SQL Server

More     
 
Latest FAQ's

Add Node to A SQL Server failover Cluster failed with invalid ...
SQL Server Destination remote server error
Setting Up Data And Log Files For SQL Server
Will Check Constraints Improve Database Performance?

More     
   
Latest Software Reviews

dbForge Review
Spotlight on ApexSQL Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Data Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Doc 2008

More     

articles >> clustering >> Inside SQL Server Cluster Setup and Troubleshooting ...

Inside SQL Server Cluster Setup and Troubleshooting Techniques - Part I

By : Nirmal Sharma
Jul 17, 2008

Page 2 / 3


How SQL Setup knows which files to copy
After SQL Server Cluster Setup wizard detects that it is going to install the SQL Server instance in an existing cluster, it invokes the SQLCluster.dll from its BINN directory to execute the following functions:

DoSQLClusterSetUpWork - Installs the SQL instance in the cluster
DoUnClusterSetup - Uninstalls the SQL instance from the cluster
CheckDatabasesForInstance - Checks existing SQL Instances already installed

These functions are explained later in this article.

SQL Setup copies files during the setup process. Setup doesn’t really know which files to copy. It reads a file on the CD named 70cluster.lst. This file resides at x:\x86\setup directory on the SQL Server Setup CD. You can se all files copied during the setup by opening the file in notepad as shown in below figure 1.2:



FIGURE 1.2 – SQL Setup Files copied during installation

These files are copied to %INSTPATH%. %INSTPATH% is a system variable. The complete path in this variable is the value which is entered during the installation process. The user running the SQL Setup supplies the complete path. If you ever encounter any problems with the copy, make sure the 70cluster.lst file contains the entries for SQL Modules. The best way is to copy this file from the SQL Installation media to the source folder from which you are running the SQL Server setup.

There are other files which are copied by the SQL Server setup wizard. These files are not part of the 70cluster.lst.

Which SQL module is responsible for SQL Cluster Setup and what all basic functions it implements for a successful installation?
As explained earlier, SQL Server setup invokes the SQLCluster.dll module from its BINN directory when it realizes that it is going to install the SQL Instances in a cluster environment.

It executes the following functions from SQLCluster.dll module:

DoSQLClusterSetUpWork  
As shown in Figure 1.1, this function is defined in the SQLCluster.dll module. The main purpose of this function is to install the new SQL Instances in the cluster. This is the main step for installation. The setup performs the pre-tasks for the SQL installation by using this function. For example, gather the list of nodes, list of disks, list of network interfaces etc. If you add any new disks to the cluster while the SQL Server setup is running, the disk will not be recognized by the SQL setup process unless you exit the setup and start it again from scratch. This is because the DoSQLClusterSetUpWork function executed from SQLCluster.dll gathers the cluster configuration information before it comes to select the disks or nodes available in the SQL Setup.

DoUnClusterSetup
The next function is DoUnClusterSetup. The main responsibility of this function is to prepare the setup to uninstall any existing SQL instances from the cluster. You uninstall existing SQL instances from the cluster with the help of this function. If this function is not implemented then you will never be given an option to uninstall existing SQL instances.

CheckDatabasesForInstance
The last function of SQLCluster.dll is CheckDatabasesForInstance. The main purpose of this function is to check any existing instances in the cluster. This function is useful in both the cases (when installing an instance and when uninstalling an instance). Before SQL Server setup installs or uninstalls any instance from the cluster, it executes to check to see if the given instance name is already installed on the system. SQL Server setup process will not allow you to install the same instance if it is already installed. This is how SQL cluster detects the existing installed SQL instances.

After the SQL Server setup process has finished with this, the next step is to detect the list of nodes, list of disks and list of interfaces available in the cluster. This work is done by the DoSQLClusterSetUpWork. The next section explains this in detail.

From where does SQL Setup get a list of disks, nodes and interfaces available in the cluster?
After you have selected the “Virtual Server” option, the wizard will gather the required information from the cluster. The information may include the List of Disks, List of Nodes available in the cluster, list of Interfaces etc. This information is required for proper installation of the SQL Database instances in the cluster.

The SQL Server Setup wizard completely depends on the Cluster Configuration Database. The SQL Setup retrieves the cluster configuration information from HKLM\Cluster hive. This hive is mapped with %SystemRoot%\Cluster\CLUSDB file.  The Setup doesn’t really have knowledge of the number of disks available in the cluster. So it always queries the registry to get this information. The “Cluster Disk Selection” dialogue box will be displayed to select the cluster disk on which the SQL Databases will be installed as shown in Figure 1.3:



FIGURE 1.3 Cluster Disks selection for SQL Server Databases.

<< Prev Page     Next Page>>    








C# Help and Tutorials | PHP MySQL Tutorial | Sharepoint Tutorial | Azure Tutorial | Cloud Hosting Magazine | ASP.NET Tutorials | Windows Server Help | Windows Phone Pro | Silverlight Ace | Visual Studio Tutorials | Home | Peformance Articles | Audit Articles | Business Intelligence Articles | Clustering Articles | Developer Articles | Reporting Services Articles | DBA Articles | ASP.NET / ADO.NET Articles | SQL Server Training Videos | DBA FAQ's | Developer Peformance FAQ's | DBA Peformance FAQ's | Developer FAQ's | Clustering FAQ's | Error Messages | Audit Tool Reviews | Backup Tool Reviews | Coding Tool Reviews | Compare Tool Reviews | Documentation Tool Reviews | Design Tool Reviews | Monitoring Tool Reviews | Log Tool Reviews | Reporting Tool Reviews | Clustering Tool Reviews | Security Tool Reviews | Change Management Tool Reviews | Remote Access Tool Reviews | Book Reviews | Security Tool Reviews | ADO.NET / ASP.NET | Administration | Analysis/OLAP Services | Application Development | Configuration | Components | ETL | Hardware | High Availability | Hints | Index | Misc | Operating Systems | Performance Tuning | Replication | T-SQL | Views


              © 2010 Jude O'Kelly. All rights reserved