nscontrol disable 命令
更新日期: 2005 年 12 月 5 日
禁用指定的 Microsoft SQL Server Notification Services 实例、应用程序或组件。
语法
nscontrol disable
[-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
显示命令的语法。
<component>
代表要禁用的组件。运行 nscontrol disable 时,可以不指定组件,也可以指定多个组件。如果不指定组件,则禁用实例或应用程序的所有组件。如果指定了组件,但未使用 -application 参数指定应用程序名称,则会禁用该实例承载的所有应用程序中的所有匹配组件。
<component> 可以是以下任意参数:
参数 说明 -distributor [systemName]
禁用实例或应用程序的分发。如果指定了分发服务器系统名称,则只禁用该系统上的分发服务器。否则,将禁用实例或应用程序的所有分发服务器。
-events [systemName]
禁用实例或应用程序的宿主事件提供程序。如果指定了系统名称,则只禁用该系统上的宿主事件提供程序。否则,将禁用实例或应用程序的所有宿主事件提供程序。
-generator
禁用生成器。
-subscriptions
禁用订阅管理。
-subscribers
禁用 Notification Services 实例的订阅服务器管理。
-nameinstanceName
指定受 nscontrol disable 影响的实例名称。如果指定 -name 参数而不指定 -application 或组件,则 nscontrol 将禁用所有实例应用程序和组件。有关将 -name 参数与 -server 参数一起使用的信息,请参阅 -server 参数。
-serverdatabaseServer
指定承载实例和应用程序数据库的服务器的名称。如果使用 SQL Server 命名实例承载数据库,则必须按如下格式指定服务器和实例的名称:<服务器名称>\<实例名称>。在先前已经使用 nscontrol register 命令注册了实例的系统上运行 nscontrol disable 时,请使用 -name 参数,而不要使用 -server 参数。nscontrol 实用工具可以通过读取实例的注册表信息来确定 SQL Server 实例的名称。
在未注册实例的系统上运行 nscontrol disable 时,必须同时使用 -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 disable 命令可将指定组件的状态更改为“禁用挂起”。实例状态存储在实例数据库中。单个组件状态存储在应用程序数据库中。
运行 nscontrol disable 时,Notification Services 会将所需的状态更改广播到所有组件。在所有运行组件都已响应更改之后,状态将从“禁用挂起”更改到“禁用”。除订阅服务器和订阅组件以外,实例必须正在运行,组件状态才能从“禁用挂起”更改为“禁用”。但是,如果将状态从“启用挂起”更改为“禁用”或从“禁用挂起”更改为“启用”,则不需要运行服务,因为这些操作只是取消挂起操作。
在 nscontrol disable 修改数据库之后,它将显示实例、应用程序和组件的当前状态。有关状态值的说明,请参阅查看实例、应用程序和组件的状态。
当引擎(通常是 NS$instance_name Windows 服务)启动时,它会确定自己的运行位置(它的主机名),然后将该值与每个分发服务器、宿主事件提供程序和生成器的 SystemName 值进行比较。如果主机名与 SystemName 值匹配,则服务将检查组件状态。如果该组件已启用,它将在服务器中运行。如果组件已禁用,则该组件不运行。
在服务运行时,它会每隔 30 秒检查一次数据库,以确定宿主事件提供程序、生成器和分发服务器的状态。因此,如果更改了这些组件中的任何一个组件的状态,则可能需要等待 30 秒的时间来使更改生效。
订阅方和订阅状态存储在数据库服务器中,在订阅管理对象执行订阅或订阅方操作之前,会检查该状态。
权限
用来运行 nscontrol disable 的帐户(或由 -sqlusername 参数所指定的 SQL Server 登录 ID)可以通过各个应用程序和实例数据库中的 NSAdmin 数据库角色的成员身份来获得适当的权限。db_owner 数据库角色的成员及 sysadmin 和 dbcreator 固定服务器角色的成员也可以运行 nscontrol disable。
该帐户还必须拥有执行 Notification Services 二进制文件的权限;Administrators 和 SQLServerNotificationServicesUser Windows 组的成员会被授予该权限。
示例
A. 禁用整个 Notification Services 实例
以下示例禁用一个名为 StockInstance
的整个 Notification Services 实例。nscontrol
命令使用 Windows 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。
nscontrol disable -name StockInstance
B. 禁用单个应用程序
以下示例禁用由 Notification Services 的 StockInstance
实例承载的 Stock
应用程序的所有组件。nscontrol
命令使用 Windows 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。
nscontrol disable -name StockInstance -application Stock
C. 禁用所有宿主事件提供程序
以下示例禁用在 Notification Services 的 StockInstance
实例中的所有应用程序的所有事件集合。nscontrol
命令使用 Windows 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。
nscontrol disable -name StockInstance -events
D. 从管理计算机禁用实例
如果从未注册 StockInstance 的计算机上运行 nscontrol disable,则必须使用 -server 参数提供 SQL Server 实例名。以下示例显示数据库位于名为 nsuetest
的 SQL Server 实例中时,如何禁用实例。nscontrol
命令使用 Windows 身份验证连接到 SQL Server。
nscontrol disable -name StockInstance -server nsuetest
E. 使用 SQL Server 身份验证禁用实例
重要提示: |
---|
请尽可能使用 Windows 身份验证。 |
以下示例禁用名为 StockInstance
的整个 Notification Services 实例。nscontrol
命令使用 SQL Server 身份验证连接到 SQL Server。实例必须在运行该命令的计算机上进行注册。
nscontrol disable -name StockInstance -sqlusername SqlUser
-sqlpassword sQl-P@sWd
请参阅
参考
其他资源
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|