Installation of SQL Server 2000 Service Pack 4 on cluster environment may appear hung while installing MDAC Component on the remote machine

Installation of SQL Server 2000 Service Pack 4 on cluster environment may appear hung while installing MDAC Component on the remote machine

  • Comments 1

Installation of SQL Server 2000 Service Pack 4 on cluster environment may appear hung while installing MDAC Component on the remote machine

 

Consider a scenario wherein the Service Pack 4 on SQL Server 2000 Enterprise Edition is failing or get hung forever on an n-node cluster on Windows Server 2000 SP4 or Windows Server 2003 SP2. To get out of hung situation you need to kill the setup. After the failure of the setup you may see that SQL Server was upgraded to SP4 but you cannot do a failover. In this situation check the SQL Server Setup Logs on active node from C:\Windows\sqlsp.log. You may see something like the following at the end of the logs:

 

 

//////////////SQLSP.LOG from Active Node////////////////////

 

 

22:54:13 Setup is performing required operations on cluster nodes.  This may take a few minutes...

22:54:13  "C:\DOCUME~1\ADMINI~1.COR\LOCALS~1\Temp\SqlSetup\Bin\remsetup.exe" C:\WINNT\remsetup.ini

23:46:07 Process Exit Code: (1460) This operation returned because the timeout period expired. 

23:46:07 Begin Action : GetRemsetupRetCode

23:46:07 Installation return status on FNET2 : 3010

23:46:07 Installation return status on FNET1 : -1

23:46:07 End Action : GetRemsetupRetCode

#### SQL Server Remote Setup - Start Time 02/19/10 22:54:13 ####

 

CThreadPool::RunUntilCompleteHlpr create thread, index=0

CThread::Run thread [0x88] created for execution.

CThread::Process [0x88]

CThreadPool::RunUntilCompleteHlpr create thread, index=1

CThread::Run thread [0x8c] created for execution.

CThread::Process [0x8c]

CThreadPool::RunUntilCompleteHlpr start thread [0x88],index=0

CThreadPool::RunUntilCompleteHlpr start thread [0x8c],index=1

Script file copied to '\\FNET1\ADMIN$\FNET1_MSSQLSERVER.iss' successfully.

 

Installing remote service (FNET1)...

 

CProcess::RunUntilComplete [0x88] exit code: 3010

Remote process exit code was '3010' (FNET2).

 

CThreadPool::RunUntilCompleteHlpr WaitForMultipleObjects returned: 0

CThreadPool::RunUntilCompleteHlpr signaled thread [0x88]

Thread [0x88] exit code: [0xbc2]

CThreadPool::RunUntilCompleteHlpr WaitForMultipleObjects returned: 3010

CThreadPool::RunUntilCompleteHlpr the operation timed out.

CThreadPool::RunUntilComplete returned 1460

CThreadPool::RunUntilComplete execution level=1, need execution: 0

One or more errors occurred while running the remote/unattended setups.

 

Disconnecting from remote machine (FNET2)...

 

Service removed successfully.

 

Remote files could not be removed.

 

#### SQL Server Remote Setup - Stop Time 02/19/10 23:31:05 ####

 

Disconnecting from remote machine (FNET1)...

 

Service removed successfully.

 

Remote files removed successfully.

 

#### SQL Server Remote Setup - Stop Time 02/19/10 23:46:07 ####

 

23:46:07 End Action : Run setup on cluster nodes

23:46:07 One or more errors occurred while running remote setup on the clustered machines.

23:47:08 Setup failed to perform required operations on the cluster nodes.

23:47:08 End Action : ClusterSetupHelper

23:47:08 Begin Action : LogEvent

23:47:08 End Action : LogEvent

23:47:08 Begin Action : CloseEventLog

23:47:08 End Action : CloseEventLog

 

 

//////////////SQLSP.LOG from Active Node////////////////////

 

 

To resolve "Process Exit Code: (1460) This operation returned because the timeout period expired." message try following steps:

 

1. Start -> Run -> secpol.msc

2. Navigate to Local Policies\Security Options\Unsigned non-driver installation behaviour

3. Change this to Silently succeed

4. Choose Security Settings at the top of the tree.

5. Select Action - Reload

 

Now, check the sqlsp.log from the remote machine (Passive Machine) and you may see something like the following:

 

 

//////////////SQLSP.LOG from Passive Node////////////////////

 

 

02:19:06 SQL program folder: C:\Program Files\Microsoft SQL Server\MSSQL

02:19:06 SQL data folder: R:\MSSQL7

02:19:06 Windows system folder: C:\WINNT\system32\

02:19:06 Prog req: 62955, Data req: 0, Sys req: 50849

02:19:06 Prog avail: 34626576, Data avail: 0, Sys avail: 34626576

02:19:06 Prog req vs. avail, 113804, 34626576

02:19:06 Data req vs. avail, 0, 0

02:19:06 Sys req vs. avail, 50849, 34626576

02:19:06 Begin:  InstallPkgs(ID_INSTALLMDAC)

02:19:06 Begin Action: Locked Connectivity Files Check

02:19:07 ConnectivityLocked returned: 0

02:19:07 The operation completed successfully.

 

02:19:07 End Action: Locked Connectivity Files Check

02:19:07 Setup is installing Microsoft Data Access Components (MDAC) ...

02:19:07 \\ServerName\C$\temp\SQL2KSP4\x86\Other\sqlredis.exe /q:a /C:"setupre.exe MDACQFE=0 -s -SMS"

02:19:07 Unloading library - sqlsut.dll (#U2) 

 

//////////////SQLSP.LOG from Passive Node////////////////////

 

 

Here, you can clearly see that the setup is installing MDAC on the remote machine and it got stuck during the installation of MDAC and eventually getting timeout. This could be due to corrupted MDAC on the remote machine. To verify issues with MDAC you can check DASETUP.Log which may give more details about the MDAC issue on the passive node. DASETUP.Log is located in the SystemRoot\Winnt or the SystemRoot\Windows\ folder. You must also check the MDAC Component Checker to verify any DLLs version mismatch. Component Checker can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyId=8F0A8DF6-4A21-4B43-BF53-14332EF092C9&displaylang=en . If there are any DLLs with version mismatch, then you should first fix that and then proceed with the setup.

 

Even after following the above steps if the setup still fails then follow the below mentioned steps:

 

1. Reinstall the MDAC with the same version that currently exists on the server or the latest version (most likely MDAC 2.8 SP1). On Windows 2000\2003, you can install any arbitrary MDAC version, even if older than the current version, by following the steps below. Since MDAC is an operating system component, its installation is governed by ExceptionComponents registry keys. By deleting these keys, you can reinstall the same MDAC version or an older MDAC version. For newer versions, you do not have to delete these keys. They are located under the following registry key:

 

Remove keys within ExceptionComponent:

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ExceptionComponent]
 

The keys have GUID names and a FriendlyName value. Any ExceptionComponent key with a FriendlyName containing the words MDAC, SQL, OLEDB, ODBC, MSXML, WEBDATA, etc. should be deleted. Most keys are MDAC keys. For example:

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ExceptionComponents\{GUID}]

"FriendlyName"="Microsoft MDAC Response Files"

 

Note: Before doing this step, please take the backup of the registry.

 

2. Install latest MDAC version on both machines of the cluster.

 

3. Disable the following services on both nodes of the cluster:

                RAC VNC Service

                Remote Access Controller (RAC) Service

                Anti Virus service

                VNC Server Service

Some of the above services may not appear in your machine.

 

4. Reboot both nodes of the cluster one by one.

 

Then restart the installation from active node and make sure to log off completely from passive node. This time the setup should not get hung.

 

Sumit Sarabhai 
SE, Microsoft SQL Server

 

Reviewed by

 

Mukesh Nanda
TL, Microsoft SQL Server

 

 

Leave a Comment
  • Please add 4 and 5 and type the answer here:
  • Post
  • require sql server 2000 sp4 for win xp professnal

Page 1 of 1 (1 items)