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(ja-jp,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) の一部の機能が期待どおりに動作しない場合があります。

Notification Services インスタンスに関するこの情報を修復するには、nscontrol repair コマンドを使用します。

権限

db_owner データベース ロール、sysadmin 固定サーバー ロール、および dbcreator 固定サーバー ロールのメンバは、nscontrol repair を実行できます。

アカウントには Notification Services バイナリ ファイルを実行するための権限も必要です。この権限は、Windows の Administrators グループおよび SQLServerNotificationServicesUser グループのメンバに与えられます。

–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 日

追加内容
  • Windows の SQLServerNotificationServicesUser グループに関する情報を追加。