nscontrol enable 命令

更新日期: 2005 年 12 月 5 日

启用指定的 SQL Server Notification Services 实例、应用程序或组件。

语法

nscontrol enable 
    [-nologo]
    [-help]
    [< component > [...n]]
        -name instanceName
    [-server databaseServer]
    [-application applicationName]
    [-sqlusername sqlUserName -sqlpassword sqlPassword]

< component > ::=
    -events [systemName]
    | -generator
    | -distributor [ systemName ]
    | -subscriptions
    | -subscribers 

参数

  • -nologo
    取消运行 nscontrol 命令时显示的产品和版本声明。
  • -help
    显示命令的语法。
  • < 组件 >
    指定要启用的组件。在运行 nscontrol enable 命令时,可以不指定组件,也可以指定多个组件。

    如果不指定组件名称,则启用应用程序或实例的所有组件。如果指定组件,但不使用 -application 参数指定应用程序的名称,则启用此实例中承载的所有应用程序中的所有匹配组件。

    < component> 可以是以下任意参数:

    参数 说明

    -distributor [systemName]

    允许分发实例或应用程序。如果指定分发服务器系统名称,则只启用此系统中的分发服务器。否则,将为实例或应用程序启用所有分发服务器。

    -events [systemName]

    为实例或应用程序启用宿主事件提供程序。如果指定 -events 时使用了系统名称,则仅启用此系统中的宿主事件提供程序。否则,为实例或应用程序启用所有的宿主事件提供程序。

    -generator

    启用生成器。

    -subscriptions

    启用订阅管理。

    -subscribers

    启用 Notification Services 实例的订阅服务器管理。

  • -nameinstanceName
    nscontrol enable 命令影响的实例的名称。如果指定 –name 参数时不指定 –application 参数或组件,则 nscontrol 实用工具将启用所有实例应用程序和组件。

    有关将 -name 参数与 -server 参数一起使用的信息,请参阅 -server 参数。

  • -serverdatabaseServer
    承载实例和应用程序数据库的服务器的名称。如果使用 SQL Server 命名实例承载数据库,则必须按如下格式指定服务器和实例的名称:<服务器名称>\<实例名称>

    如果对某个系统运行 nscontrol enable 命令,并且先前已使用 nscontrol register 命令注册了该系统中的实例,则使用 -name 参数,而不使用 -server 参数。nscontrol 实用工具可以通过读取实例的注册表信息来确定 SQL Server 实例的名称。

    如果对某个系统运行 nscontrol enable 命令,并且该系统中的实例未被注册,则必须同时使用 -name 和 -server 参数,因为 nscontrol 实用工具在定位实例数据库时,需要 Notification Services 实例名称和 SQL Server 实例名称。

    指定 -server 参数时,nscontrol 实用工具会忽略实例的所有注册表值。

  • -applicationapplicationName
    为其启用了一个或所有组件的应用程序的名称。如果不指定应用程序名称,则将为该实例承载的所有应用程序启用指定的组件。
  • -sqlusernamesqlUserName
    用于连接到 SQL Server 的 SQL Server 登录名。

    如果使用 SQL Server 身份验证连接到 SQL Server,则请使用此参数指定登录名。也可以使用 -sqlpassword 参数指定密码。

    如果使用的是 Windows 身份验证,则无需指定 -sqlusername-sqlpassword 参数。

    ms162798.note(zh-cn,SQL.90).gif重要提示:
    请尽可能使用 Windows 身份验证。
  • -sqlpasswordsqlPassword
    -sqlusername 登录名相关联的密码。此参数必须与 -sqlusername 参数一起使用。

备注

通过更新数据库中的值,nscontrol enable 命令可以将指定组件的状态更改为“启用挂起”。实例状态存储在实例数据库中。单个组件状态存储在应用程序数据库中。

运行 nscontrol enable 命令时,Notification Services 会向所有组件广播所需的状态更改。所有正在运行的组件都响应了状态更改之后,状态将由“启用挂起”变为“启用”。除了订阅服务器组件和订阅组件外,引擎(一般为 NS$instance_name Windows 服务)必须正在运行,组件状态才能由“启用挂起”改为“启用”。但是,如果将状态从“启用挂起”更改为“禁用”或从“禁用挂起”更改为“启用”,则不需要运行服务,因为这些操作只是取消挂起操作。

修改了数据库之后,nscontrol enable 命令将显示实例、应用程序和组件的当前状态。有关状态值的说明,请参阅查看实例、应用程序和组件的状态

如果启动了 NS$<instance_name> 服务,该服务将确定其运行的位置(主机名称),然后将此值与每个分发服务器、宿主事件提供程序和生成器的 SystemName 值进行比较。如果主机名与 SystemName 值匹配,则服务将检查组件状态。如果组件已启用,则启动该组件。

在服务运行时,它会每隔 30 秒检查一次数据库,以确定宿主事件提供程序、生成器和分发服务器的状态。

订阅服务器和订阅状态缓存在数据库服务器中,订阅管理对象会检查此状态,然后执行订阅或订阅服务器操作。

权限

通过单个应用程序和实例数据库中的 NSAdmin 数据库角色的成员资格,用于运行 nscontrol enable 的帐户或由 -sqlusername 参数指定的 SQL Server 登录名可获得适当的权限。db_owner 数据库角色的成员及 sysadmindbcreator 固定服务器角色的成员也可运行 nscontrol enable 命令。

该帐户还必须拥有执行 Notification Services 二进制文件的权限;Administrators 和 SQLServerNotificationServicesUser Windows 组的成员会被授予该权限。

示例

A. 启用 Notification Services 实例

以下示例启用了名为 StockInstance 的 Notification Services 完整实例。该实例必须在运行以下命令的计算机上进行注册。

nscontrol enable -name StockInstance

B. 启用单个应用程序

以下示例对 Notification Services 的 StockInstance 实例启用 Stock 应用程序的所有组件。nscontrol 命令使用 Windows 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。

nscontrol enable -name StockInstance -application Stock

C. 启用所有宿主事件提供程序

以下示例为 Notification Services 的 StockInstance 实例中的所有应用程序启用宿主事件提供程序。nscontrol****命令使用 Windows 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。

nscontrol enable -name StockInstance -events

D. 从管理计算机启用实例

如果从未注册 StockInstance 的计算机上运行 nscontrol enable,则必须使用 -server 参数提供 SQL Server 实例名。以下示例显示数据库位于名为 nsuetest 的 SQL Server 实例中时,如何启用实例。nscontrol 命令使用 Windows 身份验证连接到 SQL Server。

nscontrol enable -name StockInstance -server nsuetest

E. 使用 SQL Server 身份验证启用 Notification Services 实例

以下示例使用 SQL Server 身份验证连接到 SQL Server,启用名为 StockInstance 的 Notification Services 完整实例。该实例必须在运行以下命令的计算机上进行注册。

nscontrol enable -name StockInstance -sqlusername SqlUser 
    -sqlpassword sQl-P@sWd

请参阅

参考

nscontrol 实用工具

其他资源

启用和禁用实例、应用程序或组件

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

新增内容:
  • 添加了有关 SQLServerNotificationServicesUser Windows 组的信息。