SQL 2005 Patch on cluster might fail with “No Passive nodes were successfully patched”

This is one of those “rare” setup issues you might run into, on a “Bad luck” day. The patch fails, and in the summary.txt, you see this at the bottom:-

Summary
     No passive nodes were successfully patched
     Exit Code Returned: 11009
Looking at the hotfix.log, you find this:-

03/18/2012 11:57:51.200 MSP Error: 29527  The setup has encountered an unexpected error in datastore. The action is RestoreSetupParams. The error is :  Source File Name: datastorecachedpropertycollection.cpp
Compiler Timestamp: Tue Sep 21 15:48:22 2010
     Function Name: CachedPropertyCollection::findProperty
Source Line Number: 130
----------------------------------------------------------
Failed to find property "OwningGroup" {"VirtualServerInfo", "", "SQLINST"} in cache
      Source File Name: datastoreclusterinfocollector.cpp
    Compiler Timestamp: Tue Sep 21 15:48:22 2010
         Function Name: ClusterInfoCollector::collectClusterVSInfo
    Source Line Number: 888
    ----------------------------------------------------------
    Failed to detect VS info due to datastore exception.
          Source File Name: datastoremachineconfigscopeproperties.cpp
        Compiler Timestamp: Tue Sep 21 15:48:22 2010
             Function Name: SqlInstallConfigScope.InstanceName
        Source Line Number: 95
        ----------------------------------------------------------
        Error:
03/18/2012 11:57:51.357 Attempting to continue the 32 bit ngen queue
03/18/2012 11:57:51.592 Attempting to continue the 64 bit ngen queue
03/18/2012 11:57:51.639 The patch installation could not proceed due to unexpected errors

Nothing conclusive, right? So now we proceed to the relevant file ending with sqlrun_sql.msp.log file. In there, I found this:-

<Func Name='RestoreSetupParams'>
Failed to find installation media path due to datastore exception
in FindSetupFolder()
MSI (s) (30!C4) [11:57:48:930]: Note: 1: 2203 2: C:WINDOWSsystem32SetupSqlRun.msi 3: -2147287038

Loaded DLL:
C:Program FilesMicrosoft SQL Server90Setup Bootstrapxmlrw.dll
Version:
2.0.3609.0

Failed to find installation media path due to datastore exception
in FindSetupFolder()

Failed to find installation media path due to datastore exception
in FindSetupFolder()

Failed to find installation media path due to datastore exception
in FindSetupFolder()

Failed to find installation media path due to datastore exception
in FindSetupFolder()

Failed to find installation media path due to datastore exception
in FindSetupFolder()

Failed to find installation media path due to datastore exception
in FindSetupFolder()
MSI (s) (30!C4) [11:57:50:386]: PROPERTY CHANGE: Adding SqlInstanceName property. Its value is 'MSSQLSERVER'.
MSI (s) (30!C4) [11:57:50:386]: PROPERTY CHANGE: Adding INSTANCENAME property. Its value is 'MSSQLSERVER'.

Loaded DLL:
C:Program FilesMicrosoft SQL Server90Setup Bootstrapsqlsval.dll
Version:
2005.90.5000.0

MSI (s) (30!C4) [11:57:51:185]: Transforming table Error.

MSI (s) (30!C4) [11:57:51:185]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:51:185]: Transforming table Error.

MSI (s) (30!C4) [11:57:51:185]: Transforming table Error.

MSI (s) (30!C4) [11:57:51:185]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:51:185]: Transforming table Error.

MSI (s) (30!C4) [11:57:51:185]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:51:185]: Transforming table Error.

MSI (s) (30!C4) [11:57:51:185]: Note: 1: 2262 2: Error 3: -2147287038
Error Code: 29527
MSI (s) (30!C4) [11:57:54:034]: Transforming table Error.

MSI (s) (30!C4) [11:57:54:034]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:54:034]: Transforming table Error.

MSI (s) (30!C4) [11:57:54:034]: Transforming table Error.

MSI (s) (30!C4) [11:57:54:034]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:54:034]: Transforming table Error.

MSI (s) (30!C4) [11:57:54:034]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:54:034]: Transforming table Error.

MSI (s) (30!C4) [11:57:54:034]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30!C4) [11:57:54:034]:
MSI (s) (30:B4) [11:57:54:050]: Transforming table InstallExecuteSequence.

MSI (s) (30:B4) [11:57:54:050]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038
MSI (s) (30:B4) [11:57:54:065]: Transforming table InstallExecuteSequence.

MSI (s) (30:B4) [11:57:54:065]: Transforming table InstallExecuteSequence.

MSI (s) (30:B4) [11:57:54:065]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038
MSI (s) (30:B4) [11:57:54:065]: Transforming table InstallExecuteSequence.

MSI (s) (30:B4) [11:57:54:065]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038
MSI (s) (30:B4) [11:57:54:065]: Transforming table InstallExecuteSequence.

MSI (s) (30:B4) [11:57:54:065]: Note: 1: 2262 2: InstallExecuteSequence 3: -2147287038
MSI (s) (30:B4) [11:57:54:065]: Product: Microsoft SQL Server 2005 (64-bit) - Update 'Service Pack 4 for SQL Server Database Services 2005 (64-bit) ENU (KB2463332)' could not be installed. Error code 1603. Additional information is available in the log file C:Program FilesMicrosoft SQL Server90Setup BootstrapLOGHotfixSQL9_Hotfix_KB2463332_sqlrun_sql.msp.log.

…..

MSI (s) (30:B4) [11:57:54:097]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (30:B4) [11:57:54:097]: Product: Microsoft SQL Server 2005 (64-bit) -- Configuration failed.

Any guesses as to what might be causing the issue? Nothing conclusive from the logs right? I agree. So, the root cause here, or at least on the 3-4 cases of this nature that I have worked on, was that there was another group/disk in the cluster which was in “failed” state. Once we fixed that (either by bringing the group/disk online, or deleting it altogether if it’s not being used), we were able to install the patch successfully. This is because the SQL setup loops through (we call it enumeration) all the disks in all the cluster groups, and not just the group in which SQL is installed.

Hope this helps. Let me know if there’s any comments/discrepancies, or any other causes that you find for this issue.