nscontrol update (Befehl)

Aktualisiert: 05. Dezember 2005

Aktualisiert die Instanz- und Anwendungsdatenbanken für eine vorhandene Instanz von SQL Server Notification Services.

Syntax

nscontrol update 
    [-nologo]
    [-help]
        -in configFile
    [-verbose] 
    [-force] 
    [-sqlusername sqlUserName -sqlpassword sqlPassword] 
    [-argumentkey key]
    [-timeout seconds]
    [param=value ...]

Argumente

  • -nologo
    Unterdrückt die Anzeige der Produkt- und Versionsangabe beim Ausführen eines nscontrol-Befehls.
  • -help
    Zeigt die Befehlssyntax an.
  • -inconfigFile
    Der Pfad und der Dateiname der Instanzkonfigurationsdatei (Instance Configuration File, ICF), die die Instanz definiert. Wenn sich die Datei im aktuellen Verzeichnis befindet, ist der Pfad nicht erforderlich.
  • -verbose
    Zeigt alle Informationen, die sich in der ICF und der Anwendungsdefinitionsdatei (Application Definition File, ADF) geändert haben, wie vorgefunden an. Dies kann beim Debuggen nützlich sein oder Ihnen helfen, die Aktionen nachzuvollziehen, die von nscontrol update ausgeführt werden.
  • -force
    Erzwingt, dass die Ausführung von nscontrol update nach der Anzeige der auszuführenden Aktionen fortgesetzt wird, ohne eine Bestätigung anzufordern.
  • -sqlusernamesqlUserName
    Der SQL Server-Anmeldename, der zum Herstellen einer Verbindung mit SQL Server verwendet wird.

    ms162829.note(de-de,SQL.90).gifWichtig:
    Die Windows-Authentifizierung bietet eine höhere Sicherheit als die SQL Server-Authentifizierung. Sie sollten daher nach Möglichkeit die Windows-Authentifizierung verwenden.

    Wenn Sie die SQL Server-Authentifizierung für die Verbindung mit SQL Server verwenden, müssen Sie sowohl das -sqlusername- als auch das -sqlpassword-Argument angeben.

    Wenn Sie die Microsoft Windows-Authentifizierung verwenden, geben Sie keine Argumente -sqlusername und -sqlpassword an.

  • -sqlpasswordsqlPassword
    Das Kennwort, das mit dem -sqlusername-Anmeldenamen verknüpft ist. Sie sollten ein Kennwort nur angeben, wenn Sie eine Verbindung mithilfe der SQL Server-Authentifizierung herstellen.
  • -argumentkeykey
    Derselbe Schlüsselwert, der mit nscontrol register und nscontrol create angegeben wurde. Dieses Argument ist erforderlich, wenn EncryptArguments in der ICF den Wert true hat. Der Befehl nscontrol update entschlüsselt die Argumentwerte, um zu überprüfen, ob der Schlüssel mit dem in nscontrol create angegebenen Schlüssel gleich ist. Stimmt der Schlüsselwert überein, wird die Aktualisierung fortgesetzt. Sie können den Schlüssel nach dem Erstellen der Instanz nicht mehr ändern.
  • -timeout seconds
    Das Timeout (in Sekunden) für den Abschluss jeder Aktualisierungsaktion, z. B. das Erstellen oder Entfernen eines Indexes. Der Standardwert beträgt 30 Sekunden. Wenn anzunehmen ist, dass die einzelnen Aktionen länger als 30 Sekunden dauern, sollten Sie einen höheren Timeoutwert festlegen.
  • param=value
    Ein Name/Wert-Paar, mit dem Parameterwerte von der Eingabeaufforderung aus an die Konfigurationsdatei übergeben werden.

    Wenn die Konfigurationsdatei ersetzbare Parameter (z. B. %DBSystem%) enthält, geben Sie den Parameternamen und -wert an der Eingabeaufforderung an. Wenn die Konfigurationsdatei z. B. folgenden XML-Befehl enthält:

    <SqlServerSystem>%DBSystem%</SqlServerSystem>
    

    Geben Sie dann mithilfe von nscontrol update den Namen und den Wert wie folgt an:

    nscontrol create -in config.xml DBSystem=MySQLServer
    

    Parameterwerte, die Sie an der Eingabeaufforderung angeben, gelten für Parameter in der ICF, jedoch nicht für Parameter in den ADFs. Zum Übergeben von Parameterwerten an eine ADF müssen Sie dem Application-Abschnitt der Konfigurationsdatei einen Parameters-Unterabschnitt hinzufügen. Innerhalb dieses Knotens können Sie ersetzbare Parameter als Werte verwenden. An der Eingabeaufforderung können Sie Werte für diese Parameter angeben.

    Zusätzlich zur Angabe von Parametern an der Eingabeaufforderung können Sie in der ICF auch Umgebungsvariablen verwenden, wie z. B. %COMPUTERNAME%. Wenn Sie eine Umgebungsvariable in der ICF verwenden, müssen Sie beachten, dass ein Name/Wert-Paar, das an der Eingabeaufforderung angegeben wird, Vorrang vor der Umgebungsvariablen hat.

Hinweise

Der Befehl nscontrol update vergleicht den XML-Code in der ICF und den ADFs mit den Datenbanken. Für jede gültige Änderung aktualisiert nscontrol update die Datenbank gemäß den Angaben in der XML-Datei.

Nicht alle Elemente in der ICF und den ADFs können aktualisiert werden. Einige Elemente in diesen Dateien geben Optionen an, die nicht geändert werden können, ohne die Instanz zu löschen und neu zu erstellen. Weitere Informationen finden Sie in den Abschnitten Instance Configuration File Reference und Application Definition File Reference. In jedem Thema finden Sie die Updates-Zeile, in der angegeben ist, ob das Feld aktualisiert werden kann.

ms162829.note(de-de,SQL.90).gifWichtig:
Es wird nachdrücklich empfohlen, die Instanz- und Anwendungsdatenbanken vor dem Aktualisieren der Instanz zu sichern. Der Aktualisierungsvorgang kann einen Fehler erzeugen, bevor er abgeschlossen ist. Dies kann dazu führen, dass die Instanz- und Anwendungsdatenbanken in einem inkonsistenten Zustand verbleiben, was bedeutet, dass die Instanzen und Anwendungen möglicherweise nicht mehr ausgeführt werden können oder Daten möglicherweise verloren gegangen sind.
ms162829.note(de-de,SQL.90).gifHinweis:
Überprüfen Sie alle ADFs und die ICF, bevor Sie nscontrol update ausführen, um das Risiko für Fehler zu reduzieren. Wenn ein Fehler auftritt, müssen Sie die Datei korrigieren und nscontrol update anschließend erneut ausführen.

Wenn Sie Notification Services Standard Edition verwenden und Optionen in den ADFs angeben, die von dieser Edition nicht unterstützt werden, wird nscontrol update beendet, ohne dass die Instanz aktualisiert wurde.

Wenn Sie Abonnementklassen-Metadaten in der ADF ändern, benennt nscontrol update die vorhandene Abonnementklassentabelle NS<*subscription_class>*Subscriptions in NS<*subscription_class>*SubscriptionsOld um, um die Abonnementdaten zu sichern. Wenn Sie dieselbe Abonnementklasse später aktualisieren und nscontrol update dann versucht, die Tabelle umzubenennen, erzeugt diese Umbenennung einen Fehler, falls NS<*subscription_class>*SubscriptionsOld immer noch vorhanden ist. Weitere Informationen finden Sie unter Aktualisieren einer Anwendung.

Wenn sich eine Ereignis- oder Benachrichtigungsklasse in der ADF ändert, werden die vorhandenen Tabellen für diese Klassen von nscontrol update gelöscht.

Mit dem Befehl nscontrol update werden normalerweise alle Änderungen angezeigt, die beim Ausführen der Aktualisierung an der ICF und den ADFs vorgenommen wurden. Verwendet die Instanz jedoch die Argumentverschlüsselung, zeigt nscontrol update die verschlüsselten Argumente nicht an.

Bevor Sie eine Instanz aktualisieren, müssen Sie sicherstellen, dass jeglicher Code, durch den eine Tabelle, eine Sicht, ein Index oder ein anderes SQL Server-Objekt erstellt wird, zuerst eine Überprüfung im Hinblick auf vorhandene Objekte mit demselben Namen vornimmt und entsprechende Objekte löscht oder umbenennt. Dies ist wichtig, da nscontrol update vorhandene benutzerdefinierte SQL Server-Objekte mit demselben Namen nicht automatisch löscht oder umbenennt. Durch das explizite Löschen oder Umbenennen des SQL Server-Objekts vermeiden Sie Fehler aufgrund doppelter Objekte. Weitere Informationen finden Sie unter Definieren von Ereignisverlaufstabellen.

Berechtigungen

Das zum Ausführen von nscontrol update verwendete Konto oder der mit dem -sqlusername-Argument angegebene SQL Server-Anmeldename muss Mitglied der db_owner-Datenbankrolle in allen Instanz- und Anwendungsdatenbanken, die vom Befehl nscontrol update betroffen sind, oder der festen Serverrolle sysadmin sein.

Darüber hinaus muss das Konto über die Berechtigung zum Ausführen der Notification Services-Binärdateien verfügen; diese Berechtigung wird Mitgliedern der Windows-Gruppen Administratoren und SQLServerNotificationServicesUser erteilt.

Beispiele

In den folgenden Beispielen wird gezeigt, wie eine Instanz aktualisiert wird.

A. Aktualisieren einer Instanz, wobei alle Unterschiede angezeigt werden

In diesem Beispiel wird gezeigt, wie eine Instanz mithilfe einer ICF namens InstanceConfig.xml aktualisiert wird. Der Befehl nscontrol update zeigt alle Unterschiede an, die in der aktualisierten Konfigurationsdatei und den ADFs gefunden wurden. Sie werden aufgefordert, ja oder nein anzugeben, bevor die Aktualisierung fortgesetzt wird.

Der Befehl nscontrol verwendet die Windows-Authentifizierung, um eine Verbindung mit SQL Server herzustellen.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -verbose

B. Aktualisierung einer Instanz, wenn die ICF Parameter enthält

In diesem Beispiel wird gezeigt, wie beim Aktualisieren einer Instanz Werte für die Parameter BaseDirectoryPath, NSHost und SqlServer bereitgestellt werden. Der Befehl nscontrol verwendet die Windows-Authentifizierung, um eine Verbindung mit SQL Server herzustellen.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    BaseDirectoryPath=C:\NS\Samples\Stock NSHost=nsuetest 
    SqlServer=nsuetest

C. Aktualisieren einer Instanz, wenn die Argumentverschlüsselung verwendet wird

In diesem Beispiel wird gezeigt, wie eine Instanz aktualisiert wird, wenn Sie die Argumentverschlüsselung verwenden. Der Befehl nscontrol verwendet die Windows-Authentifizierung, um eine Verbindung mit SQL Server herzustellen.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -argumentkey "MyArgumentKey"

D. Erzwingen einer Aktualisierung ohne Aufforderung

In diesem Beispiel wird gezeigt, wie eine Instanz aktualisiert wird, ohne dass eine Aufforderung zur Bestätigung der Aktualisierung angezeigt wird. Der Befehl nscontrol verwendet die Windows-Authentifizierung, um eine Verbindung mit SQL Server herzustellen.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" -force

E. Aktualisieren einer Instanz mithilfe der SQL Server-Authentifizierung

ms162829.note(de-de,SQL.90).gifWichtig:
Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.

In diesem Beispiel wird gezeigt, wie Sie eine Instanz aktualisieren, wobei die SQL Server-Authentifizierung für die Verbindung mit SQL Server verwendet wird. Der Befehl nscontrol update zeigt alle Unterschiede an, die in der aktualisierten Konfigurationsdatei und den ADFs gefunden wurden. Sie werden aufgefordert, ja oder nein anzugeben, bevor die Aktualisierung fortgesetzt wird.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -sqlusername SqlUser -sqlpassword sQl-P@sWd

Siehe auch

Verweis

nscontrol (Dienstprogramm)

Andere Ressourcen

Aktualisieren von Instanzen und Anwendungen
EncryptArguments Element (ICF)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Neuer Inhalt:
  • Informationen zur Windows-Gruppe SQLServerNotificationServicesUser wurden hinzugefügt.