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 を実行するときに指定できるコンポーネントの数は 0 以上です。

    コンポーネントの指定を省略すると、インスタンスまたはアプリケーションのすべてのコンポーネントが無効になります。コンポーネントを指定し、-application 引数でのアプリケーション名の指定を省略すると、そのインスタンスがホストするすべてのアプリケーションを対象として、指定したものと一致するすべてのコンポーネントが無効になります。

    <component> には次の引数のいずれかを指定できます。

    引数 説明

    -distributor [systemName]

    インスタンスまたはアプリケーションのディストリビューションを無効にします。ディストリビュータのシステム名を指定すると、そのシステムでのディストリビュータのみが無効になります。ディストリビュータのシステム名を省略すると、インスタンスまたはアプリケーションのすべてのディストリビュータが無効になります。

    -events [systemName]

    インスタンスまたはアプリケーションについて、ホストされたイベント プロバイダを無効にします。システム名を指定すると、そのシステムでのホストされたイベント プロバイダのみが無効になります。システム名を省略すると、インスタンスまたはアプリケーションについて、すべてのホストされたイベント プロバイダが無効になります。

    -generator

    ジェネレータを無効にします。

    -subscriptions

    サブスクリプション管理を無効にします。

    -subscribers

    Notification Services インスタンスに対するサブスクライバ管理を無効にします。

  • -nameinstanceName
    nscontrol disable によって影響を受けるインスタンスの名前を指定します。-application またはコンポーネントを指定せずに -name 引数を指定した場合、nscontrol は、すべてのインスタンス アプリケーションとコンポーネントを無効にします。

    -name 引数を -server 引数と併用する場合の詳細については、-server 引数を参照してください。

  • -serverdatabaseServer
    インスタンス データベースおよびアプリケーション データベースをホストするサーバーの名前を指定します。SQL Server の名前付きインスタンスを使用してこれらのデータベースをホストする場合、<servername>\<instancename> 形式を使用してサーバー名とインスタンス名を指定する必要があります。

    以前に nscontrol register コマンドを使用してインスタンスを登録したことのあるシステムで nscontrol disable を実行する場合は、-server 引数ではなく、-name 引数を使用します。nscontrol ユーティリティは、インスタンスのレジストリ情報を読み取ることで SQL Server インスタンスの名前を判断します。

    インスタンスが登録されていないシステムで nscontrol disable を実行する場合、-name 引数と -server 引数の両方を使用する必要があります。これは、nscontrol ユーティリティでは、インスタンス データベースを検索する場合に Notification Services インスタンスの名前と SQL Server インスタンスの名前の両方が必要となるためです。

    -server 引数を指定した場合、nscontrol ユーティリティはインスタンスのレジストリ値をすべて無視します。

  • -applicationapplicationName
    1 つ以上のコンポーネントを無効にするアプリケーションの名前を指定します。アプリケーション名を省略すると、そのインスタンスがホストするすべてのアプリケーションのコンポーネントが無効になります。
  • -sqlusernamesqlUserName
    SQL Server への接続に使用される SQL Server ログインを指定します。

    SQL Server 認証を使用して SQL Server に接続する場合、この引数を使用してログインを指定します。また、-sqlpassword 引数を使用してパスワードを指定します。

    Microsoft Windows 認証を使用している場合は、-sqlusername 引数と -sqlpassword 引数は指定しないでください。

    ms162841.note(ja-jp,SQL.90).gif重要 :
    可能な場合は、Windows 認証を使用します。
  • -sqlpasswordsqlPassword
    ‑sqlusername ログインに関連付けられているパスワードを指定します。この引数は、-sqlusername 引数と共に使用する必要があります。

解説

nscontrol disable コマンドは、データベース内の値を更新することで、指定されたコンポーネントのステータスを "無効化中" に変更します。インスタンスの状態は、インスタンス データベースに格納されます。それぞれのコンポーネントの状態は、アプリケーション データベースに格納されます。

nscontrol disable を実行すると、Notification Services は目的の状態への変更をすべてのコンポーネントにブロードキャストします。実行中のすべてのコンポーネントが変更に応答した後で、ステータスが "無効化中" から "無効" に変更されます。サブスクライバ コンポーネントとサブスクリプション コンポーネントを除き、コンポーネントの状態を "無効化中" から "無効" に変更するには、インスタンスが実行されている必要があります。ただし、この操作は保留になっている処理を取り消すだけなので、"有効化中" から "無効" または "無効化中" から "有効" に状態を変更する場合にサービスが実行されている必要はありません。

nscontrol disable によってデータベースが変更されると、インスタンス、アプリケーション、およびコンポーネントの現在のステータスが表示されます。ステータス値の説明については、「インスタンス、アプリケーション、およびコンポーネントの状態表示」を参照してください。

エンジン (通常は NS$instance_name Windows サービス) が開始されると、エンジンは実行場所 (ホスト名) を判別して、この値を、各ディストリビュータ、ホストされたイベント プロバイダ、およびジェネレータの SystemName 値と比較します。ホスト名が SystemName 値と一致した場合、サービスはコンポーネントの状態を調べます。コンポーネントが有効になっている場合、コンポーネントがサーバー上で実行されます。コンポーネントが無効になっている場合、コンポーネントは実行されません。

サービスが実行されている間、コンポーネントは 30 秒ごとにデータベースを調べ、ホストされたイベント プロバイダ、ジェネレータ、およびディストリビュータの状態を判断します。したがって、これらのコンポーネントのいずれかに状態の変更を行う場合、その変更が有効になるまで最大で 30 秒かかる場合があります。

サブスクライバおよびサブスクリプションの状態はデータベース サーバーに格納されるため、サブスクリプション管理オブジェクトは、サブスクリプションまたはサブスクライバ処理を実行する前にこの状態を調べます。

権限

各アプリケーション データベースとインスタンス データベースにおける NSAdmin データベース ロールのメンバシップを使うことで、nscontrol disable の実行に使用するアカウントや、-sqlusername 引数で指定する SQL Server のログオン ID に適切な権限を設定できます。db_owner データベース ロール、sysadmin 固定サーバー ロール、および dbcreator 固定サーバー ロールのメンバも、nscontrol disable を実行できます。

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

A. Notification Services インスタンス全体の無効化

次の例では、StockInstance という名前の Notification Services インスタンス全体を無効にします。nscontrol コマンドは、Windows 認証を使用して SQL Server に接続します。インスタンスは、コマンドを実行するコンピュータに登録されている必要があります。

nscontrol disable -name StockInstance

B. 1 つのアプリケーションの無効化

次の例では、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 認証を使用したインスタンスの無効化

ms162841.note(ja-jp,SQL.90).gif重要 :
可能な場合は、Windows 認証を使用します。

次の例では、StockInstance という名前の Notification Services インスタンス全体を無効にします。nscontrol コマンドは、SQL Server 認証を使用して SQL Server に接続します。インスタンスは、コマンドを実行するコンピュータに登録されている必要があります。

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

参照

関連項目

nscontrol ユーティリティ

その他の技術情報

インスタンス、アプリケーション、またはコンポーネントの有効化および無効化

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2005 年 12 月 5 日

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