XADM: Server Cannot Bring the Microsoft Search Resource Online (282122)



The information in this article applies to:

  • Microsoft Exchange 2000 Server

This article was previously published under Q282122
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

For a Microsoft Exchange Server 2003 version of this article, see 830189.

SYMPTOMS

On an Exchange 2000 Server computer in a clustered environment, you may experience the following symptoms:
  • You receive an error message that indicates that the server cannot bring the Microsoft Search (MSSearch) resource online.
  • The MSSearch resource instance appears as Failed in the Cluster Administrator utility.
  • An event with a description similar to the following is logged in the System log of Event Viewer:The server threw an exception.

RESOLUTION

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. To resolve this issue, follow these steps:
  1. If the server cluster is an Active/Active cluster configuration, move the affected Exchange virtual server to a cluster node that is not running any other Exchange Server resources. All the following steps must be performed on this node. If the server cluster is an Active/Passive cluster configuration, all remaining steps must be performed on the Active cluster node.
  2. Delete the failed MSSearch resource in the affected virtual server, if the MSSearch resource exists.
  3. Delete the MSSearch application. To do so:
    1. Copy the following code to a new text file, and then save the file as Deleteapp.vbs.

      Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, see the following Microsoft Web site: For additional information about the support options available from Microsoft, visit the following Microsoft Web site:
      Sub Usage
          WScript.Echo "Microsoft Search Version 2.0"
          WScript.Echo "Deletes an Application"
          WScript.Echo
          WScript.Echo "Usage: Deleteapp.vbs Application"
          WScript.Echo
      end Sub
      
      Sub Main
      
          if WScript.Arguments.Count = 1 then
              if WScript.Arguments(0) = "/?" or WScript.Arguments(0) = "-?" then
                  Usage
                  WScript.Quit(1)
              end if
          end if
      
          if WScript.Arguments.Count < 1 then
              Usage
              WScript.Quit(1)
          end if
      
          dim applicationName
          applicationName = WScript.arguments(0)
      
          WScript.echo "Deleting Search Application " & applicationName
          Set objHost = WScript.CreateObject("MSSearch.Admin")
      
          'Delete the application
          objHost.Applications.Remove(applicationName)
      
      End Sub
      
      call Main
      						
    2. Start the Cluster Administrator utility, right-click the Network Name resource that is associated with the affected Exchange virtual server, and then click Properties.
    3. Click the Parameters tab, and then confirm that the name of the Exchange virtual server that has the failed MSSearch resource appears in the Name box. For example, MSExchServer1.
    4. Click Cancel.
    5. Start a command prompt, change to the folder that contains the Deleteapp.vbs file that you created, and then enter the following command, where virtual server is the name of the Exchange virtual server that you confirmed in step c:

      cscript deleteapp.vbs ExchangeServer_virtual server

      For example, MSExchServer1.

      If you receive the following message when you press ENTER, the MSSearch application may not exist: The specified object cannot be found. Specify the name of an existing object. Typically, this behavior occurs if the application has been removed, or if it has not been created. If you receive this message, ignore it, and continue to step 4.
  4. Click Start, click Run, type regedit in the Open box, and then click OK.
  5. Locate the following registry subkey:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Search\1.0\Databases

  6. Under the Databases registry subkey, export and then delete all ExchangeServer_ virtual server registry keys (where virtual server is the name of the Exchange virtual server that you noted in step c earlier in this article). For example, export, and then delete ExchangeServer_MSExchServer1.
  7. Stop and then restart the Microsoft Search (MSSEARCH) service. To do this, type the following commands at a command prompt, and press ENTER after each command:

    net stop mssearch
    net start mssearch

  8. Click Start, click Run, type %windir%\cluster, and then click OK.
  9. Right-click Exres.dll, click Properties, and then click the Version tab. Note the version number listed next to File version.
  10. Click Cancel, and then start Registry Editor if it is not already running.
  11. Locate the following registry subkey:

    HKEY_LOCAL_MACHINE\Cluster\Resources\<GUID>

    In this subkey, <GUID> is one of the following GUIDs:
    • If the Exres.dll version that you noted in step 9 is 6.0.4592.0 or earlier, use the GUID associated with the Microsoft Exchange Information Store instance. Microsoft Exchange Information Store appears in the Data column in the right pane when you click this GUID.
    • If the Exres.dll version that you noted in step 9 is later than 6.0.4592.0, use the GUID associated with the Microsoft Exchange System Attendant instance. Microsoft Exchange System Attendant appears in the Data column in the right pane when you click this GUID.
  12. Under the GUID, click Parameters, right-click ResourceVersion in the right pane, and then click Modify.
  13. In the Value data box, type 1 (one), and then click OK.
  14. Quit Registry Editor.
  15. Stop and then restart either the Microsoft Exchange System Attendant resource instance or the Microsoft Exchange Information Store resource instance, as determined by the version of the Exres.dll file from step 9. When you restart the appropriate resource instance, the MSSearch application is automatically re-created.
  16. In the Cluster Administrator utility, create a new Microsoft Search Server Instance resource and make it dependant on the Exchange Information Store resource. Name the resource MSSearch-virtual server, where virtual server is the name of the affected Exchange virtual server. For example, name the resource MSSearch-MSExchServer1.
  17. Start a command prompt, type the following commands, and then press ENTER after each command. In the following commands, virtual server is the name of the affected Exchange virtual server and drive: is the network drive where the Exchange Server Information Store database is located.

    cluster res MSSearch-virtual server /priv ApplicationName="ExchangeServer_virtual server"

    cluster res MSSearch-virtual server /priv ApplicationPath="drive:\Exchsrvr\ExchangeServer_virtual server"

    cluster res MSSearch-virtual server /priv

    Note You can determine the path of the default database from the LogPath registry value in the following registry subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Databases\ExchangeServer_<virtual server>

  18. Start the Cluster Administrator utility (if it is not already started), and then bring the MSSearch resource online.

Modification Type:MajorLast Reviewed:6/17/2005
Keywords:kbpending kbprb KB282122 kbAudITPRO