如何设置用于全文搜索的 FDHOST 启动器 (MSSQLFDLauncher) 服务帐户(SQL Server 配置管理器)

本主题介绍如何使用 SQL Server 配置管理器来设置 FDHOST Launcher 服务 (MSSQLFDLauncher) 的服务帐户。SQL Server 2008 中的全文搜索功能使用 FDHOST Launcher 服务来启动筛选器后台程序宿主进程,该进程处理全文搜索筛选和断字。必须运行此服务才能使用全文搜索。

FDHOST Launcher 服务是可识别实例的服务,它与特定 SQL Server 实例相关联。FDHOST Launcher 服务将服务帐户信息传播到每个筛选器后台程序宿主进程。有关筛选器后台程序宿主进程的信息,请参阅全文搜索的体系结构

安全建议

建议根据操作系统来设置 FDHOST Launcher 服务的帐户:

  • 在 Windows Vista 和 Windows Server 2008 上

    为增强安全性,在 Windows Vista 和 Windows Server 2008 上,指定给 FDHOST Launcher 服务的默认帐户为 Local Service 帐户。SQL Server 2008 使用 Windows Vista 和 Windows Server 2008 中提供的新安全功能为以 Local Service 身份运行的 FDHOST Launcher 服务和 FDHOST 进程提供高级别的安全性和隔离。因此,在 Windows Vista 和 Windows Server 2008 上,我们建议您对 FDHOST Launcher 始终使用 Local Service 帐户。在这些平台上,您不应将 FDHOST Launcher 服务配置为在任何其他帐户下运行。

  • 在 Windows XP 或 Windows Server 2003 上

    当您在 Windows XP 或 Windows Server 2003 上安装 SQL Server 2008 全文搜索时,SQL Server 2008 安装程序将提示您提供 FDHOST Launcher 服务的帐户和密码。为了安全起见,请不要指定 Local System、Local Service 或 Network Service 帐户作为服务帐户。在 Windows XP 或 Windows Server 2003 上,使用这些帐户之一可能会不必要地提升该服务的特权并降低 SQL Server 安装的安全性。

    因此,强烈建议您指定对本地计算机拥有用户权限的低特权本地用户帐户。为了确保以尽可能低的特权来运行该服务,还建议为每个全文搜索实例指定专用的服务帐户。如果 SQL Server 全文搜索服务的实例安装在域服务器上,请将此服务帐户指定给域用户帐户。

    重要说明重要提示

    如果对 FDHOST Launcher 服务使用本地用户帐户并且与该帐户关联的 Windows 密码已过期,则须为该帐户设置一个新的 Windows 密码,然后使用 SQL Server 配置管理器更新 FDHOST Launcher 服务以便使用新密码。

    建议您使用符合安全 SQL Server 环境最佳实践的 FDHOST Launcher 服务帐户。有关为 FDHOST Launcher 服务设置安全的服务帐户的详细信息,请参阅设置 Windows 服务帐户

    如果不提供帐户和密码,则该服务默认使用 Local Service 帐户,并且该服务将被禁用。

步骤

设置用于全文搜索的 FDHOST Launcher 服务帐户

  1. 在**“开始”菜单中,依次指向“所有程序”、Microsoft SQL Server 2008、“配置工具”,然后单击“SQL Server 配置管理器”**。

  2. SQL Server 配置管理器中,单击**“SQL Server 2008 服务”,右键单击 MSSQLFDLauncher <instance name>,然后单击“属性”**。

  3. 单击**“SQL Server 全文搜索** <instance name> 属性”对话框的“登录”选项卡,选择“本帐户”,然后输入用于运行由 FDHOST Launcher 服务创建的每个进程的 Windows**“帐户名”**。建议您指定对本地计算机拥有用户权限的低特权本地用户帐户。

  4. 在**“密码”文本框中,输入此帐户的密码,然后在“确认密码”文本框中重新输入该密码。若要查找特定用户或组,请单击“浏览”**。

    重要说明重要提示

    虽然我们建议使用低特权本地用户帐户,但如果您还是要使用 Local Service 帐户来运行 FDHOST Launcher 服务,则请单击“应用”,然后将帐户更改为 Local Service。SQL Server 配置管理器会自动将 Local Service 帐户添加到 FDHOST 组,从而使 FDHOST Launcher 服务能够以 Local Service 帐户运行。

  5. 单击**“重新启动”**以重新启动 FDHOST Launcher 服务。

如果 FDHOST Launcher 服务无法启动

如果 FDHOST Launcher 服务无法启动,可能是由以下一种或多种情况引起的:

  • 与 FDHOST Launcher 服务帐户关联的密码已过期。

    如果对 FDHOST Launcher 服务使用本地用户帐户并且您的密码已过期,您需要执行以下操作:

    1. 为此帐户设置一个新的 Windows 密码。

    2. 在 SQL Server 配置管理器中,更新 FDHOST Launcher 服务以便使用新密码。

  • 此服务帐户的用户帐户或密码不正确。

    FDHOST Launcher 服务可能试图以错误的用户帐户和密码登录。按照上述过程,验证该服务的用户帐户是否发生了更改。

  • 用来登录到该服务的帐户没有相应的特权。

    您使用的帐户可能对安装该服务器实例的计算机不具有登录特权。请验证您用于登录的帐户是否对相应本地计算机具有用户权限。

  • 相同命名管道的另一个实例已在运行。

    SQL Server 服务充当 FDHOST Launcher 服务客户端的命名管道服务器。如果在 SQL Server 启动之前另一进程便已创建该命名管道,则将在 SQL Server 错误日志和 Windows 事件日志中记录一条错误,并且将无法使用全文搜索。确定哪个进程或应用程序在试图使用该命名管道并停止相应的应用程序。有关了解 SQL Server 启动过程中的协议错误的详细信息,请参阅排除数据库引擎启动时出现的协议错误

  • FDHOST Launcher 服务未正确配置。

    该服务在本地计算机上的配置可能不正确。

    如果本地计算机已禁用命名管道功能,或者已将 SQL Server 配置为使用非默认命名管道,则 FDHOST Launcher 服务可能无法启动。

    有关 SQL Server 2008 中的 named pipe 协议的详细信息,请参阅客户端协议 - Named Pipes 属性

  • SQL Server 服务组没有启动 FDHOST Launcher 服务的权限。

    在 SQL Server 2008 的安装过程中,向 SQL Server 服务组授予了管理、查询和启动 FDHOST Launcher 服务的默认权限。如果在安装 SQL Server 2008 后删除了 SQL Server 服务组对 FDHOST Launcher 服务帐户的权限,则 FDHOST Launcher 服务将无法启动,并且全文搜索也将被禁用。请确保 SQL Server 服务组拥有对 FDHOST Launcher 服务帐户的权限。