nscontrol repair 命令

更新日期: 2005 年 12 月 5 日

更新指定的 SQL Server 2005 Notification Services 实例的元数据信息。

语法

nscontrol repair 
    [-nologo]
    [-help]
        -name instanceName
        -database instanceDatabaseName
        -schema instanceSchemaName
    [-server databaseServer]
    [-sqlusername sqlUserName -sqlpassword sqlPassword]

参数

  • -nologo
    取消运行 nscontrol 命令时显示的产品和版本声明。
  • -help
    显示命令的语法。
  • -nameinstanceName
    指定需要修复元数据信息的 Notification Services 实例的名称。
  • -databaseinstanceDatabaseName
    指定包含 Notification Services 实例数据的数据库名称。Notification Services 将检查指定的数据库以构造 Notification Services 实例的元数据。

    如果在实例配置中指定了数据库名称,则使用该数据库名称。否则,将使用默认的实例数据库名称,该名称由 instanceNameapplicationName 串联而成,如 FlightInstanceFlight

  • -schemainstanceSchemaName
    指定实例元数据的架构名称。如果在实例配置中指定了架构名称,则使用指定的架构名称。否则,将使用默认的架构 dbo
  • -serverdatabaseServer
    指定承载实例和应用程序数据库的服务器的名称。只有未在本地计算机上注册实例时,才提供此参数。如果已注册实例并且提供了 -server 参数,则会忽略实例的注册表值。

    如果使用 SQL Server 的命名实例承载实例数据库,则使用 servername\instancename 格式指定服务器名和实例名。

  • -sqlusernamesqlUserName
    指定用于连接 SQL Server 的 SQL Server 登录 ID。

    ms162780.note(zh-cn,SQL.90).gif重要提示:
    请尽可能使用 Windows 身份验证。

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

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

  • -sqlpasswordsqlPassword
    指定与 -sqlusername 登录名相关联的密码。此参数必须与 -sqlusername 参数一起使用。

备注

创建 Notification Services 的实例时,将在 msdb 数据库存储的内部表中记录有关该实例的信息。通过此表可提供名为 msdb.NS90.NSInstances 的公共视图。此视图可用于发现服务器中的实例。

如果将包含实例或应用程序数据的数据库连接到服务器(如重新生成服务器或移动 Notification Services 实例时),则存储在 msdb 中的元数据将不包含有关实例的信息。因此,某些 SQL Server Management Studio 函数、nscontrol 命令提示实用工具以及 Notification Services 管理对象 (NMO) 可能无法正常工作。

请使用 nscontrol repair 命令修复 Notification Services 实例的这一信息。

权限

db_owner 数据库角色的成员以及 sysadmindbcreator 固定服务器角色的成员均可以运行 nscontrol repair 命令。

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

如果未使用 –server 参数,则用来运行 nscontrol repair 的帐户必须能够读取注册表。

示例

下列示例说明如何修复 msdb 数据库中 Notification Services 实例的信息。

A. 默认的数据库名称和架构名称

Notification Services 实例的默认数据库名称为实例名称加上“NSMain”,默认架构为 dbo。此示例显示如何修复 StockInstance 实例的实例信息。该实例包含在 StockInstanceNSMain 数据库的 dbo 架构中。

nscontrol repair -name StockInstance -database StockInstanceNSMain 
    -schema dbo

B. 命名的数据库和架构

配置 Notification Services 实例时,可以指定用于实例信息的数据库和架构。此示例显示如何修复 Notification Services 的 StockInstance 实例的实例信息。该实例包含在 StockDB 数据库的 stock 架构中。

nscontrol repair -name StockInstance -database StockDB 
    -schema stock

C. 未注册的实例

如果在未注册 StockInstance 实例的服务器中运行 nscontrol repair 命令,则必须使用 -server 参数提供数据库服务器的名称。此示例显示如何在 nsuetest 服务器中修复 StockDB 数据库的 stock 架构中实例的实例信息。

nscontrol repair -name StockInstance -database StockDB 
    -schema stock -server nsuetest

D. SQL Server 身份验证

此示例显示在必须使用 SQL Server 身份验证连接到数据库引擎时,如何修复实例信息。

nscontrol repair -name StockInstance -database StockDB 
    -schema stock -sqlusername SqlUser -sqlpassword sQl-P@sWd

请参阅

参考

nscontrol 实用工具

其他资源

如何查看 Notification Services 版本信息

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2005 年 12 月 5 日

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