Number of Cluster Nodes Error: Add Node Fails on Enterprise Edition

The number of cluster nodes error appeared even though my client ran Enterprise edition. A SQL Server failover cluster install is a two-step process: InstallFailoverCluster first, then AddNode. My client completed step 1 without trouble, but adding the second node failed.

Gouache painting of a wooden shelf holding a row of identical slate-blue teacups, with one empty saucer at the end and a vermilion thread across it

The Error

This is the log from Detail.txt.

(13) 2017-01-08 14:33:01 Slp: Initializing rule : Number of cluster nodes supported for edition
(13) 2017-01-08 14:33:01 Slp: Rule is will be executed : True
(13) 2017-01-08 14:33:01 Slp: Init rule target object: Microsoft.SqlServer.Configuration.SetupExtension.NumberOfNodesFacet
(13) 2017-01-08 14:33:01 Slp: Rule 'Cluster_NumberOfNodes' edition Invalid allows 0 cluster nodes.
(13) 2017-01-08 14:33:01 Slp: Rule 'Cluster_NumberOfNodes' detected 1 cluster nodes.
(13) 2017-01-08 14:33:01 Slp: Evaluating rule : Cluster_NumberOfNodes
(13) 2017-01-08 14:33:01 Slp: Rule running on machine: SQLNODE02
(13) 2017-01-08 14:33:01 Slp: Rule evaluation done : Failed
(13) 2017-01-08 14:33:01 Slp: Rule evaluation message: This SQL Server edition does not support the installed number of cluster nodes. To continue, remove nodes and then complete cluster installation.

What the Client Saw

My first thought was the Standard edition limit, which I covered in an earlier post on the same rule. So I asked the client to check the edition with this query.

SELECT SERVERPROPERTY ('Edition')

It returned Enterprise. That edition has no limit on the number of nodes in a cluster. The error looked strange, so I read the log line by line.

Gouache painting of a small wooden drawer pulled halfway out of a shelf, holding one blank brass label holder with a vermilion edge

Why It Happens

One line stood out:

(13) 2017-01-08 14:33:01 Slp: Rule 'Cluster_NumberOfNodes' edition Invalid allows 0 cluster nodes.

Setup couldn’t read the edition and marked it Invalid. An edition of Invalid allows 0 nodes, which explains the failed rule. I checked further and found a second message. Setup skipped the AddNodeEditionBlock rule and logged an exception about the PID input:

(04) 2017-01-08 14:33:01 Slp: Loading rule: AddNodeEditionBlock
(04) 2017-01-08 14:33:01 Slp: Creating rule target object: Microsoft.SqlServer.Configuration.SetupExtension.AddNodeEditionBlock
(04) 2017-01-08 14:33:01 Slp: Rule applied features : ALL
(04) 2017-01-08 14:33:01 Slp: ----------------------------------------------------------------------
(04) 2017-01-08 14:33:01 Slp: Skipping rule AddNodeEditionBlock
(04) 2017-01-08 14:33:01 Slp: Rule will not be evaluated due to the following failed restriction(s):
(04) 2017-01-08 14:33:01 Slp: Condition "Is requested input setting is set to PID" did not pass as it returned false and true was expected.
Returning false as an unhandled exception was caught:
Microsoft.SqlServer.Chainer.Infrastructure.ChainerInvalidOperationException: The input 'PID' requested by the StringInputSettingExistsCondition is not of string type.

From my search on the internet, setup reads the version from a file named sqlboot.dll, using a checksum value. The folder of the DLL is stored in the SharedCode value under this registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\120

The checksum is stored under this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.<InstanceName>\Setup

How to Check

In my client’s case, the DLL was missing from this folder:

C:\Program Files\Microsoft SQL Server\120\Shared

Look in that folder first. I don’t know how the file went missing. The client told me that setup on Node1 had been incomplete, and that they had patched it by hand.

The missing file and the hand-patched setup on Node1 are where I’d look.

How to Prevent It

Finish each setup step on the first node properly before you add the second. A manual hack to get past an incomplete setup can come back as a strange error on the next node. Have you seen an error like this? Tell me in the comments.

Quick reference card: Add Node Edition Error

The edition is not the problem, it is how setup reads it.

Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.


Discover more from SQL Authority with Pinal Dave

Subscribe to get the latest posts sent to your email.

SQL Error Messages, SQL Server, SQL Server Cluster, SQL Server Installation
Previous Post
SQL SERVER – Unable to See Tables (Objects) in SSMS
Next Post
SQL SERVER – How to Apply Patch in AlwaysOn Availability Group Configuration?

Related Posts

1 Comment. Leave new

  • Gyanendra Yadav
    July 5, 2017 12:08 pm

    This could be due to missing dll files on the specific node. Please check the logs and add the missing dll files from active now. It worked for me.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.