Groups | Blog | Home
all groups > sql server clustering > august 2006 >

sql server clustering : Fulltext failure on a 2 node cluster


frankm
8/25/2006 3:56:34 PM
We have a 2 node windows 2003 enterprise edition cluster (S01 and S02).
-2 sql servers running in 2 different virtual servers (V01 and V02).
-The V01 SQL Server's preferred node is S01 and the V02 SQL Server's
preferred node is S02.
-On V01 one database has fulltext catalogs.

-When the V01 virtual server fails to S02, FULLTEXT will not work.
-MSSEARCH is running.
-Cluadmin shows FullText resource running
-I have NO error messages.
-Take note of the [Location of errorlog files] field. In other clusters this
field is blank.
-When I look at the registry key on S01
HKEY_LOCAL_MACHINE\Software\Microsoft\Search\1.0\SQLServer\SQLServer\STREAMLOGSDIRECTORY
I see the path [E:\mssql\ftdata\SQLServer\GatherLogs], but it does not
exist in S02 registry.

This is the only reference for that path I can find.

Observations...........
--------------Normal running mode---------------------------------
On V01 running on S01 (V02 is on S02)
Support Services - > R-Click - Full-Text Search -> Properties
Default location of catalog files = E:\MSSQL\FTDATA
Location of Temporary Files = C:\windows\temp\gthsrvc
Location of errorlog files =
E:\mssql\ftdata\SQLServer\GatherLogs

On V02 running on S02 (V01 is on S01)
Support Services - > R-Click - Full-Text Search -> Properties
Default location of catalog files = F:\MSSQL$V02\FTDATA
Location of Temporary Files = C:\windows\temp\gthsrvc
Location of errorlog files = ---Field is BLANK---
****************************************************
--------------Failover running
mode---------------------------------
On V01 running on S02 (V02 is on S02)
Support Services - > R-Click - Full-Text Search -> Properties
Default location of catalog files = E:\MSSQL\FTDATA
Location of Temporary Files = C:\windows\temp\gthsrvc
Location of errorlog files =
E:\mssql\ftdata\SQLServer\GatherLogs

On V02 running on S02 (V01 is on S02)
Support Services - > R-Click - Full-Text Search -> Properties
Default location of catalog files = F:\MSSQL$V02\FTDATA
Location of Temporary Files = C:\windows\temp\gthsrvc
Location of errorlog files =
E:\mssql\ftdata\SQLServer\GatherLogs
----------------------------------------------

v-xuwen NO[at]SPAM online.microsoft.com
8/28/2006 12:00:00 AM
Hi ,

Please check following article:

Error message when you use the Cluster Administrator to bring the SQL
Server full-text search resource online: "SQL Cluster Resource 'Full Text'
failed"
http://support.microsoft.com/?id=304282

Since SQL Server 2000 depends on distinct registry keys and service names
within the failover cluster so that operations will continue correctly
after a failover. Therefore, the name you provide for the instance of SQL
Server 2000, including the default instance, must be unique across all
nodes in the failover cluster, as well as across all virtual servers within
the failover cluster. Check the full-text related registry key.

How to manually re-create the resource-specific registry keys for SQL
Server cluster resources
http://support.microsoft.com/default.aspx?scid=kb;[LN];810056

If the problem persists, please try following steps to re-build full-text
on cluster:

Remove the failed full-text search resource
======================
To remove the failed full-text search resource from your clustered instance
of SQL Server, follow these steps:
1. Start Cluster Administrator on the node that has the failed full-text
search resource.
2. Use Cluster Administrator to locate and delete the failed full-text
search resource.
3. Delete the registry keys that are related to the instance of SQL Server
where the full-text search will be reinstalled. To do so, follow these
steps.

Warning If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using
Registry Editor incorrectly. Use Registry Editor at your own risk. a.
Click Start, and then click Run.
b. In the Run dialog box, type regedit in the Open box, and then click OK.

c. In Registry Editor, locate and then click the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Search\Install\Applications
d. In the right pane, delete the registry values that have the same name
as your instance of SQL Server. For a default instance of SQL Server, the
registry value is named SQLServer. For a named instance of SQL Server, the
registry value is named SQLServer$ Instance Name .

Reinstall the full-text search service
============================
To reinstall the full-text search service, follow these steps:
1. Use the Searchstp.exe program to install the full-text search service.
If the full-text search service is not installed on the computer, the
Searchstp.exe program will create it.
2. Use the Ftsetup.exe program to configure the full-text search service
and to configure the instance of SQL Server as an application that uses the
full-text search service. On SQL Server clusters, the Ftsetup.exe program
also creates the required configuration files to maintain the failover
properties for the full-text search resource. The Ftsetup.exe program uses
the following parameter options: ? ApplicationName : For a default instance
of SQL Server, the parameter value must be SQLServer. For a named instance
of SQL Server, the parameter value must be SQLServer\ Instance Name .
? User : For a local system account, the parameter value must be 0. For a
domain user account, the value of the parameter must be Domain Name \ User
Account .
? IsMasterNode : This parameter indicates whether the Ftsetup.exe program
runs on the node that owns the disk where the FTDATA folder will be
created. The parameter value must be 0 or 1.
? IsUpgrade : This parameter indicates whether the FtSetup.exe program is
upgrading the full-text search service to a later version. This parameter
value must be 0 or 1.
? IsCluster : This parameter indicates whether the Ftsetup.exe program runs
on a clustered instance of SQL Server. For a stand-alone instance of SQL
Server, the parameter value must be 0. For a clustered instance of SQL
Server, the parameter value must be 1.
? IsUninstall : This parameter indicates whether the Ftsetup.exe program
removes the full-text search service. If the Ftsetup.exe program installs
the full-text search service, the parameter value must be 0. If the
Ftsetup.exe program removes the full-text search service, the parameter
value must be 1. However, if the parameter value is 1, the values for the
IsMasterNode parameter, the IsUpgrade parameter, and the IsCluster
parameter must all be set to 0.

Re-create the full-text search resource
========================
To re-create the full-text search resource on your clustered instance of
SQL Server, follow these steps.

On the node of the SQL Server cluster that owns the disks and the resource
groups
1. In Cluster Administrator, bring the SQL Server resource online.
2. Create a command file named Installsearch.cmd to run on the node of the
SQL Server cluster that owns the disks and the resource groups. To do so,
follow these steps: a. Click Start, and then click Run.
b. In the Run dialog box, type notepad.exe in the Open box, and then click
OK.
c. Add the following commands to the text file (where Full path of SQL
Server Setup files is the path of the setup files that were used to install
the instance of SQL Server): " Full path of SQL Server Setup files
\x86\FullText\MSSearch\Search\SearchStp.exe"
/s /a:SQLServer[$ Instance name ] " Full path of SQL Server Setup
\x86\FullText\ftsetup.exe" SQLServer[$ Instance name ]
Domain name \ User account 1 0 1 0
Note For a default instance of SQL Server, remove [$ Instance name ]. For a
named instance of SQL Server, replace [$ Instance name ] with the name of
the instance of SQL Server.
d. Save the file as installsearch.cmd .

3. At a command prompt, run the following command: Full path of the
Installsearch.cmd file > installsearch.out
Note After you run the command, you must wait for the disk activities and
the network activities to stop. If the command runs successfully, a
subfolder named SQLServer$ Instance name is created in the FTDATA folder on
the shared drive.
4. Use Cluster Administrator to create the full-text search resource. To do
so, follow these steps: a. Start Cluster Administrator on the node where
the virtual server group is located.
b. On the File menu, point to New, and then click Resource.
c. In the New Resource dialog box, add a new resource with the following
properties: ? Set the value of the Name property to Full-text search.
? Leave the value of the Description property blank.
? Set the value of the Resource Type property to Microsoft Search Service
Instance.
? Set the value of the Group property to Virtual server group where the
resource will be created .

d. Click Next.
e. On the Possible Owners page, click the appropriate nodes, and then
click Next.
frankm
8/28/2006 1:03:21 PM
There is no failure of any resources or service. Fulltext resource and
mssearch do not show as failed.
No cluster resource for that cluster has shown as failed.
There are NO error messages in SQL Server or the event log.
So http://support.microsoft.com/?id=304282 does not appear to apply.

One odd thing though is that fulltext and the db fulltext catalogue tree
views in Enterprise Manager do not show up.




[quoted text, click to view]
v-xuwen NO[at]SPAM online.microsoft.com
8/29/2006 12:00:00 AM
Hi Frank,

Thanks for your reply but I thought you said "V01 virtual server fails to
S02, FULLTEXT will not work."

You also said, the registry key "does not exist in S02 registry."

Therefor, I provided following article:

How to manually re-create the resource-specific registry keys for SQL
Server cluster resources
http://support.microsoft.com/default.aspx?scid=kb;[LN];810056

If the problem persists, I suggest you try following steps to re-build
full-text on cluster:

Remove the failed full-text search resource
======================
To remove the failed full-text search resource from your clustered instance
of SQL Server, follow these steps:
1. Start Cluster Administrator on the node that has the failed full-text
search resource.
2. Use Cluster Administrator to locate and delete the failed full-text
search resource.
3. Delete the registry keys that are related to the instance of SQL Server
where the full-text search will be reinstalled. To do so, follow these
steps.

Warning If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using
Registry Editor incorrectly. Use Registry Editor at your own risk. a.
Click Start, and then click Run.
b. In the Run dialog box, type regedit in the Open box, and then click OK.

c. In Registry Editor, locate and then click the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Search\Install\Applications
d. In the right pane, delete the registry values that have the same name
as your instance of SQL Server. For a default instance of SQL Server, the
registry value is named SQLServer. For a named instance of SQL Server, the
registry value is named SQLServer$ Instance Name .

Reinstall the full-text search service
============================
To reinstall the full-text search service, follow these steps:
1. Use the Searchstp.exe program to install the full-text search service.
If the full-text search service is not installed on the computer, the
Searchstp.exe program will create it.
2. Use the Ftsetup.exe program to configure the full-text search service
and to configure the instance of SQL Server as an application that uses the
full-text search service. On SQL Server clusters, the Ftsetup.exe program
also creates the required configuration files to maintain the failover
properties for the full-text search resource. The Ftsetup.exe program uses
the following parameter options: ? ApplicationName : For a default instance
of SQL Server, the parameter value must be SQLServer. For a named instance
of SQL Server, the parameter value must be SQLServer\ Instance Name .
? User : For a local system account, the parameter value must be 0. For a
domain user account, the value of the parameter must be Domain Name \ User
Account .
? IsMasterNode : This parameter indicates whether the Ftsetup.exe program
runs on the node that owns the disk where the FTDATA folder will be
created. The parameter value must be 0 or 1.
? IsUpgrade : This parameter indicates whether the FtSetup.exe program is
upgrading the full-text search service to a later version. This parameter
value must be 0 or 1.
? IsCluster : This parameter indicates whether the Ftsetup.exe program runs
on a clustered instance of SQL Server. For a stand-alone instance of SQL
Server, the parameter value must be 0. For a clustered instance of SQL
Server, the parameter value must be 1.
? IsUninstall : This parameter indicates whether the Ftsetup.exe program
removes the full-text search service. If the Ftsetup.exe program installs
the full-text search service, the parameter value must be 0. If the
Ftsetup.exe program removes the full-text search service, the parameter
value must be 1. However, if the parameter value is 1, the values for the
IsMasterNode parameter, the IsUpgrade parameter, and the IsCluster
parameter must all be set to 0.

Re-create the full-text search resource
========================
To re-create the full-text search resource on your clustered instance of
SQL Server, follow these steps.

On the node of the SQL Server cluster that owns the disks and the resource
groups
1. In Cluster Administrator, bring the SQL Server resource online.
2. Create a command file named Installsearch.cmd to run on the node of the
SQL Server cluster that owns the disks and the resource groups. To do so,
follow these steps: a. Click Start, and then click Run.
b. In the Run dialog box, type notepad.exe in the Open box, and then click
OK.
c. Add the following commands to the text file (where Full path of SQL
Server Setup files is the path of the setup files that were used to install
the instance of SQL Server): " Full path of SQL Server Setup files
\x86\FullText\MSSearch\Search\SearchStp.exe"
/s /a:SQLServer[$ Instance name ] " Full path of SQL Server Setup
\x86\FullText\ftsetup.exe" SQLServer[$ Instance name ]
Domain name \ User account 1 0 1 0
Note For a default instance of SQL Server, remove [$ Instance name ]. For a
named instance of SQL Server, replace [$ Instance name ] with the name of
the instance of SQL Server.
d. Save the file as installsearch.cmd .

3. At a command prompt, run the following command: Full path of the
Installsearch.cmd file > installsearch.out
Note After you run the command, you must wait for the disk activities and
the network activities to stop. If the command runs successfully, a
subfolder named SQLServer$ Instance name is created in the FTDATA folder on
the shared drive.
4. Use Cluster Administrator to create the full-text search resource. To do
so, follow these steps: a. Start Cluster Administrator on the node where
the virtual server group is located.
b. On the File menu, point to New, and then click Resource.
c. In the New Resource dialog box, add a new resource with the following
properties: ? Set the value of the Name property to Full-text search.
? Leave the value of the Description property blank.
? Set the value of the Resource Type property to Microsoft Search Service
Instance.
? Set the value of the Group property to Virtual server group where the
resource will be created .

d. Click Next.
e. On the Possible Owners page, click the appropriate nodes, and then
click Next.
f. On the Dependencies page, move the SQL Server resource from the
Available Resources list to the Resource Dependencies list.
g. Click Finish.
h. Right-click the full-text search resource, and then click Properties.
i. In the Full-Text Search Properties dialog box, click the Advanced tab.
j. Under Restart, click to clear the Affect the group check box.
k. Click Apply, and then click OK.

frankm
8/29/2006 9:13:20 AM
Yes I did list those items.
Fulltext doesn't work, but shows in cluadmin as running.
Fulltext doesn't show in EM though.
But... I am not getting any errors whatsoever. The article refers to
specific errors in the veent log.



[quoted text, click to view]
frankm
8/29/2006 9:17:00 AM
oops more.............................
It was "one" registry key that I was refering to.

HKEY_LOCAL_MACHINE\Software\Microsoft\Search\1.0\SQLServer\SQLServer\STREAMLOGSDIRECTORY
I see the path [E:\mssql\ftdata\SQLServer\GatherLogs], but it does not exist
in S02 registry.




[quoted text, click to view]
v-xuwen NO[at]SPAM online.microsoft.com
8/30/2006 12:00:00 AM
Hi Frank,

For current situation, I'd like to suggest you recover the full-text search
resource, you must remove it and then re-create it. I have provided the
steps in my previous reply. I'd like to confirm if you followed the steps
before we go further. Thanks for your time.

I paste the steps here again for your convenience:

Remove the failed full-text search resource
======================
To remove the failed full-text search resource from your clustered instance
of SQL Server, follow these steps:
1. Start Cluster Administrator on the node that has the failed full-text
search resource.
2. Use Cluster Administrator to locate and delete the failed full-text
search resource.
3. Delete the registry keys that are related to the instance of SQL Server
where the full-text search will be reinstalled. To do so, follow these
steps.

Warning If you use Registry Editor incorrectly, you may cause serious
problems that may require you to reinstall your operating system. Microsoft
cannot guarantee that you can solve problems that result from using
Registry Editor incorrectly. Use Registry Editor at your own risk. a.
Click Start, and then click Run.
b. In the Run dialog box, type regedit in the Open box, and then click OK.

c. In Registry Editor, locate and then click the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Search\Install\Applications
d. In the right pane, delete the registry values that have the same name
as your instance of SQL Server. For a default instance of SQL Server, the
registry value is named SQLServer. For a named instance of SQL Server, the
registry value is named SQLServer$ Instance Name .

Reinstall the full-text search service
============================
To reinstall the full-text search service, follow these steps:
1. Use the Searchstp.exe program to install the full-text search service.
If the full-text search service is not installed on the computer, the
Searchstp.exe program will create it.
2. Use the Ftsetup.exe program to configure the full-text search service
and to configure the instance of SQL Server as an application that uses the
full-text search service. On SQL Server clusters, the Ftsetup.exe program
also creates the required configuration files to maintain the failover
properties for the full-text search resource. The Ftsetup.exe program uses
the following parameter options: ? ApplicationName : For a default instance
of SQL Server, the parameter value must be SQLServer. For a named instance
of SQL Server, the parameter value must be SQLServer\ Instance Name .
? User : For a local system account, the parameter value must be 0. For a
domain user account, the value of the parameter must be Domain Name \ User
Account .
? IsMasterNode : This parameter indicates whether the Ftsetup.exe program
runs on the node that owns the disk where the FTDATA folder will be
created. The parameter value must be 0 or 1.
? IsUpgrade : This parameter indicates whether the FtSetup.exe program is
upgrading the full-text search service to a later version. This parameter
value must be 0 or 1.
? IsCluster : This parameter indicates whether the Ftsetup.exe program runs
on a clustered instance of SQL Server. For a stand-alone instance of SQL
Server, the parameter value must be 0. For a clustered instance of SQL
Server, the parameter value must be 1.
? IsUninstall : This parameter indicates whether the Ftsetup.exe program
removes the full-text search service. If the Ftsetup.exe program installs
the full-text search service, the parameter value must be 0. If the
Ftsetup.exe program removes the full-text search service, the parameter
value must be 1. However, if the parameter value is 1, the values for the
IsMasterNode parameter, the IsUpgrade parameter, and the IsCluster
parameter must all be set to 0.

Re-create the full-text search resource
========================
To re-create the full-text search resource on your clustered instance of
SQL Server, follow these steps.

On the node of the SQL Server cluster that owns the disks and the resource
groups
1. In Cluster Administrator, bring the SQL Server resource online.
2. Create a command file named Installsearch.cmd to run on the node of the
SQL Server cluster that owns the disks and the resource groups. To do so,
follow these steps: a. Click Start, and then click Run.
b. In the Run dialog box, type notepad.exe in the Open box, and then click
OK.
c. Add the following commands to the text file (where Full path of SQL
Server Setup files is the path of the setup files that were used to install
the instance of SQL Server): " Full path of SQL Server Setup files
\x86\FullText\MSSearch\Search\SearchStp.exe"
/s /a:SQLServer[$ Instance name ] " Full path of SQL Server Setup
\x86\FullText\ftsetup.exe" SQLServer[$ Instance name ]
Domain name \ User account 1 0 1 0
Note For a default instance of SQL Server, remove [$ Instance name ]. For a
named instance of SQL Server, replace [$ Instance name ] with the name of
the instance of SQL Server.
d. Save the file as installsearch.cmd .

3. At a command prompt, run the following command: Full path of the
Installsearch.cmd file > installsearch.out
Note After you run the command, you must wait for the disk activities and
the network activities to stop. If the command runs successfully, a
subfolder named SQLServer$ Instance name is created in the FTDATA folder on
the shared drive.
4. Use Cluster Administrator to create the full-text search resource. To do
so, follow these steps: a. Start Cluster Administrator on the node where
the virtual server group is located.
b. On the File menu, point to New, and then click Resource.
c. In the New Resource dialog box, add a new resource with the following
properties: ? Set the value of the Name property to Full-text search.
? Leave the value of the Description property blank.
? Set the value of the Resource Type property to Microsoft Search Service
Instance.
? Set the value of the Group property to Virtual server group where the
resource will be created .

d. Click Next.
e. On the Possible Owners page, click the appropriate nodes, and then
click Next.
f. On the Dependencies page, move the SQL Server resource from the
Available Resources list to the Resource Dependencies list.
g. Click Finish.
h. Right-click the full-text search resource, and then click Properties.
i. In the Full-Text Search Properties dialog box, click the Advanced tab.
j. Under Restart, click to clear the Affect the group check box.
k. Click Apply, and then click OK.

5. Create registry values named ApplicationName and ApplicationPath for the
full-text search resource that you created in step 4. To do so, follow
these steps: a. Click Start, and then click Run.
AddThis Social Bookmark Button