The SQL Server failover cluster instance ‘[yourinstance]? was not correctly detected. The instance was discovered on the local node but it was not found to be active.

Recently when upgrading several of our SQL Server 2008 R2 Clusters to SQL Server 2008 R2 SP1 (KB2528583) clusters I ran into a problem where the update failed, and kept failing.

When searching in the logfiles located in: C:Program FilesMicrosoft SQL Server100Setup bootstrapLogSummary.txt

We found several of the following errors:

Instance [MyInstance] overall summary:
Final result: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Exit code (Decimal): -2068578304
Exit facility code: 1204
Exit error code: 0
Exit message: The SQL Server failover cluster instance ‘[MyInstance]’ was not correctly detected. The instance was discovered on the local node but it was not found to be active. To continue, confirm the state of the instance installed on all applicable nodes of the cluster and the state of the failover cluster resources.
Start time: 2011-12-18 01:24:11
End time: 2011-12-18 01:24:45
Requested action: Patch

When searching for this error on google I found some tips for troubleshooting this error on this link. The tips basically stated the following cause and resolution:

Cause

This error generally occurs during Upgrade, repair and rebuild database phases and because of internal /ISLOCALNODEACTIVE setting

Resolution

  • The error occurs when the local node is not the owner of the cluster group, but Setup was unable to detect any other nodes in the cluster
  • Verify that the registry of the remote machines is accessible to the local node
  • The list of nodes is automatically calculated
  • Verify that the instance name specified by the user is installed on some nodes of the cluster

In my case the resolution proved to be more simple than the above suggestions.

Apparently something was wrong with the update supplied from Windows Update. Instead of using the update from windows update through our WSUS-server, I downloaded the update separately at microsoft.com, here.

Updating with this update did the trick. Everything went smooth from here.

I can recommend updating the inactive node, and when updating is complete move the instances to the updated node and continue the update on the next node.

Don’t be alarmed if the instance cannot be accessed instantly when failing over to the updated node. When instances become active on the updated node they will get into script update mode to update the databases. This can render some errors and informationals in the eventlog like the following, but this is to be expected and the databases will soon be accesible again:

Log Name: Application
Source: MSSQLSERVER
Date: 1/28/2012 11:49:12 PM
Event ID: 19019
Task Category: Failover
Level: Error
Keywords: Classic
User: N/A
Computer: [Yourserver.FQDN]
Description:
[sqsrvres] OnlineThread: Could not connect to server but server is considered up.

Log Name: Application
Source: MSSQLSERVER
Date: 1/28/2012 11:49:14 PM
Event ID: 18401
Task Category: Logon
Level: Information
Keywords: Classic
User: SYSTEM
Computer: [YourServer.FQDN]
Description:
Login failed for user ‘NT AUTHORITYSYSTEM’. Reason: Server is in script upgrade mode. Only administrator can connect at this time. [CLIENT: x.x.x.x[IP-Address]]