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 参数。
重要提示: 请尽可能使用 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 数据库角色的成员及 sysadmin 和 dbcreator 固定服务器角色的成员也可运行 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
请参阅
参考
其他资源
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|