ALTER APPLICATION ROLE (Transact-SQL)

Ändert den Namen, das Kennwort oder das Standardschema einer Anwendungsrolle.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

ALTER APPLICATION ROLE application_role_name 
    WITH <set_item> [ ,...n ]

<set_item> ::= 
    NAME = new_application_role_name 
    | PASSWORD = 'password'
    | DEFAULT_SCHEMA = schema_name

Argumente

  • application_role_name
    Der Name der zu ändernden Anwendungsrolle.

  • NAME **=**new_application_role_name
    Gibt den neuen Namen der Anwendungsrolle an. Dieser Name darf nicht bereits als Verweis auf einen Prinzipal in der Datenbank verwendet werden.

  • PASSWORD ='password'
    Legt das Kennwort für die Anwendungsrolle fest. password muss den Anforderungen der Windows-Kennwortrichtlinien des Computers entsprechen, auf dem die Instanz von SQL Server ausgeführt wird. Es sollten immer sichere Kennwörter verwendet werden.

  • DEFAULT_SCHEMA **=**schema_name
    Gibt das erste Schema an, das vom Server beim Auflösen der Namen von Objekten durchsucht wird. schema_name kann ein Schema sein, das nicht in der Datenbank vorhanden ist.

Hinweise

Falls der neue Anwendungsrollenname bereits in der Datenbank vorhanden ist, wird für die Anweisung ein Fehler gemeldet. Wenn der Name, das Kennwort oder das Standardschema einer Anwendungsrolle geändert wird, wird die der Rolle zugeordnete ID nicht geändert.

Wichtiger HinweisWichtig

 Die Richtlinie für das Ablaufen von Kennwörtern wird nicht auf Anwendungsrollenkennwörter angewendet. Wählen Sie deshalb unbedingt sichere Kennwörter. Anwendungen, die Anwendungsrollen aufrufen, müssen deren Kennwörter speichern.

Anwendungsrollen werden in der sys.database_principals-Katalogsicht angezeigt.

VorsichtshinweisVorsicht

Das Verhalten der Schemas in SQL Server 2005 unterscheidet sich von dem in früheren Versionen von SQL Server. Code, in dem vorausgesetzt wird, dass Schemas Datenbankbenutzern entsprechen, gibt möglicherweise nicht die richtigen Ergebnisse zurück. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der jemals eine der folgenden DDL-Anweisungen verwendet wurde: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In einer Datenbank, in der eine dieser Anweisungen verwendet wurde, müssen Sie die neuen Katalogsichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wird. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).

Berechtigungen

Erfordert die ALTER ANY APPLICATION ROLE-Berechtigung für die Datenbank. Zum Ändern des Standardschemas benötigt der Benutzer auch die ALTER-Berechtigung für die Anwendungsrolle. Eine Anwendungsrolle kann ihr eigenes Standardschema ändern, jedoch nicht den Namen oder das Kennwort.

Beispiele

A. Ändern des Namens der Anwendungsrolle

Im folgenden Beispiel wird der Name der weekly_receipts-Anwendungsrolle in receipts_ledger geändert.

USE AdventureWorks;
CREATE APPLICATION ROLE weekly_receipts 
    WITH PASSWORD = '987Gbv8$76sPYY5m23' , 
    DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts 
    WITH NAME = receipts_ledger;
GO

B. Ändern des Kennworts der Anwendungsrolle

Im folgenden Beispiel wird das Kennwort der receipts_ledger-Anwendungsrolle geändert.

ALTER APPLICATION ROLE receipts_ledger 
    WITH PASSWORD = '897yUUbv867y$200nk2i';
GO

C. Ändern des Namens, des Kennworts und des Standardschemas

Im folgenden Beispiel werden der Name, das Kennwort und das Standardschema der receipts_ledger-Anwendungsrolle gleichzeitig geändert.

ALTER APPLICATION ROLE receipts_ledger 
    WITH NAME = weekly_ledger, 
    PASSWORD = '897yUUbv77bsrEE00nk2i', 
    DEFAULT_SCHEMA = Production;
GO