Erweitern Minimieren
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ALTER USER (Transact-SQL)

Benennt einen Datenbankbenutzer um oder ändert sein Standardschema.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


ALTER USER userName  
     WITH <set_item> [ ,...n ]

<set_item> ::= 
     NAME = newUserName 
     | DEFAULT_SCHEMA = schemaName
     | LOGIN = loginName
userName

Gibt den Namen an, durch den der Benutzer in dieser Datenbank identifiziert wird.

LOGIN =loginName

Ordnet einen Benutzer einer anderen Anmeldung neu zu. Dazu wird die Sicherheits-ID (SID) des Benutzers in die SID der Anmeldung geändert.

NAME =newUserName

Gibt den neuen Namen des Benutzers an. newUserName darf in der aktuellen Datenbank nicht bereits vorhanden sein.

DEFAULT_SCHEMA =schemaName

Gibt das erste Schema an, das vom Server beim Auflösen der Namen von Objekten für diesen Benutzer durchsucht wird.

Wird DEFAULT_SCHEMA nicht definiert, ist dbo das Standardschema des Benutzers. DEFAULT_SCHEMA kann auf ein Schema festgelegt werden, das zurzeit nicht in der Datenbank vorhanden ist. Deshalb können Sie DEFAULT_SCHEMA einem Benutzer zuweisen, bevor das Schema erstellt wird. DEFAULT_SCHEMA kann nicht für einen Benutzer angegeben werden, der einer Windows-Gruppe, einem Zertifikat oder einem asymmetrischen Schlüssel zugeordnet ist.

Wichtiger Hinweis Wichtig

Der Wert von DEFAULT_SCHEMA wird ignoriert, wenn der Benutzer ein Mitglied der festen Serverrolle sysadmin ist. Alle Mitglieder der festen Serverrolle sysadmin verfügen über das Standardschema dbo.

Sie können den Namen eines einer Windows-Anmeldung oder -Gruppe zugeordneten Benutzers ändern, wenn die SID des neuen Benutzernamens mit der SID in der Datenbank übereinstimmt. Diese Überprüfung trägt dazu bei, das Spoofing von Windows-Anmeldungen in der Datenbank zu verhindern.

Mit der WITH LOGIN-Klausel kann ein Benutzer einer anderen Anmeldung neu zugeordnet werden. Benutzer ohne Anmeldung, einem Zertifikat zugeordnete Benutzer oder einem asymmetrischen Schlüssel zugeordnete Benutzer können mithilfe dieser Klausel nicht neu zugeordnet werden. Nur SQL-Benutzer und Windows-Benutzer (oder -Gruppen) können neu zugeordnet werden. Mit der WITH LOGIN-Klausel kann nicht der Benutzertyp geändert werden, beispielsweise kann ein Windows-Konto nicht in eine SQL Server-Anmeldung geändert werden.

Der Name des Benutzers wird automatisch in den Anmeldenamen umbenannt, wenn die folgenden Voraussetzungen erfüllt sind.

  • Der Benutzer ist ein Windows-Benutzer.

  • Der Name ist ein Windows-Name (enthält einen umgekehrten Schrägstrich).

  • Es wurde kein neuer Name angegeben.

  • Der aktuelle Name unterscheidet sich vom Benutzernamen.

Andernfalls wird der Benutzer nicht umbenannt, es sei denn, der Aufrufer ruft zusätzlich die NAME-Klausel auf.

Hinweis Hinweis

Ein Benutzer mit ALTER ANY USER-Berechtigung kann das Standardschema jedes Benutzers ändern. Ein Benutzer mit einem geänderten Schema könnte dann versehentlich Daten aus der falschen Tabelle auswählen oder Code aus dem falschen Schema ausführen.

Der Name eines Benutzers, der einer SQL Server-Anmeldung, einem Zertifikat oder einem asymmetrischen Schlüssel zugeordnet ist, kann keinen umgekehrten Schrägstrich (\) enthalten.

Vorsichtshinweis Vorsicht

Mit SQL Server 2005 wurde das Verhalten von Schemas geändert. Deshalb werden von Code, der voraussetzt, dass Schemas und Datenbankbenutzer äquivalent sind, möglicherweise keine richtigen Ergebnisse mehr zurückgegeben. Alte Katalogsichten, einschließlich sysobjects, sollten nicht in einer Datenbank verwendet werden, in der bereits 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 solchen Datenbanken müssen Sie stattdessen neue Katalogsichten verwenden. In den neuen Katalogsichten wird die Trennung zwischen Prinzipalen und Schemas berücksichtigt, die in SQL Server 2005 eingeführt wurde. Weitere Informationen zu Katalogsichten finden Sie unter Katalogsichten (Transact-SQL).

Zum Ändern des Namens eines Benutzers ist die ALTER ANY USER-Berechtigung für die Datenbank erforderlich. Zum Ändern des Standardschemas ist die ALTER-Berechtigung für den Benutzer erforderlich. Benutzer können nur ihr eigenes Standardschema ändern.

Erfordert die CONTROL-Berechtigung für die Datenbank, um einen Benutzer einer Anmeldung neu zuordnen zu können.

A. Ändern des Namens eines Datenbankbenutzers

Im folgenden Beispiel wird der Name des Datenbankbenutzers Mary5 in Mary51 geändert.

USE AdventureWorks;
ALTER USER Mary5 WITH NAME = Mary51;
GO 

B. Ändern des Standardschemas eines Benutzers

Im folgenden Beispiel wird das Standardschema des Benutzers Mary51 in Purchasing geändert.

USE AdventureWorks;
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.