ALTER SERVICE (Transact-SQL)
Ändert einen vorhandenen Dienst.
Syntax
ALTER SERVICE service_name
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]
<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
Argumente
service_name
Der Name des zu ändernden Diensts. Server-, Datenbank- und Schemanamen können nicht angegeben werden.ON QUEUE [ schema_name**.** ] queue_name
Gibt die neue Warteschlange für diesen Dienst an. Service Broker verschiebt alle Nachrichten für diesen Dienst aus der aktuellen Warteschlange in die neue WarteschlangeADD CONTRACT contract_name
Gibt einen Vertrag an, der dem durch diesen Dienst verfügbar gemachten Vertragssatz hinzugefügt werden soll.DROP CONTRACT contract_name
Gibt einen Vertrag an, der aus dem durch diesen Dienst verfügbar gemachten Vertragssatz gelöscht werden soll. Service Broker sendet eine Fehlermeldung für alle vorhandenen Konversationen mit diesem Dienst, die diesen Vertrag verwenden.
Hinweise
Wenn mithilfe der ALTER SERVICE-Anweisung ein Vertrag aus einem Dienst gelöscht wird, kann der Dienst kein Ziel für Konversationen mehr sein, die diesen Vertrag verwenden. Deshalb lässt Service Broker keine neuen Konversationen mit dem Dienst für diesen Vertrag zu. Bestehende Konversationen, die den Vertrag verwenden, sind davon nicht betroffen.
Verwenden Sie die ALTER AUTHORIZATION-Anweisung, wenn Sie AUTHORIZATION für einen Dienst ändern möchten.
Berechtigungen
Die Berechtigung zum Ändern eines Diensts erhalten standardmäßig die Besitzer des Diensts, Mitglieder der festen Datenbankrollen db_ddladmin oder db_owner sowie Mitglieder der festen Serverrolle sysadmin.
Beispiele
A. Ändern der Warteschlange für einen Dienst
Im folgenden Beispiel wird der //Adventure-Works.com/Expenses-Dienst so geändert, dass er die Warteschlange NewQueue verwendet.
ALTER SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE NewQueue ;
B. Hinzufügen eines neuen Vertrags zum Dienst
Im folgenden Beispiel wird der //Adventure-Works.com/Expenses-Dienst so geändert, dass Dialoge für den Vertrag //Adventure-Works.com/Expenses zugelassen sind.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
C. Hinzufügen eines neuen Vertrags zum Dienst, wobei der vorhandene Vertrag gelöscht wird
Im folgenden Beispiel wird der //Adventure-Works.com/Expenses-Dienst so geändert, dass Dialoge für den Vertrag //Adventure-Works.com/Expenses/ExpenseProcessing zugelassen sind und Dialoge für den Vertrag //Adventure-Works.com/Expenses/ExpenseSubmission nicht zugelassen sind.
ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing],
DROP CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
Siehe auch