ALTER USER (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse

Benennt einen Datenbankbenutzer um oder ändert sein Standardschema.

Topic link icon Transact-SQL-Syntaxkonventionen

-- Syntax for SQL Server  
  
ALTER USER userName    
     WITH <set_item> [ ,...n ]  
[;]  
  
<set_item> ::=   
      NAME = newUserName   
    | DEFAULT_SCHEMA = { schemaName | NULL }  
    | LOGIN = loginName  
    | PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]  
    | DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }  
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]  

-- Syntax for Azure SQL Database  
  
ALTER USER userName    
     WITH <set_item> [ ,...n ]  
  
<set_item> ::=   
      NAME = newUserName   
    | DEFAULT_SCHEMA = schemaName  
    | LOGIN = loginName  
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]   
[;]  
  
-- Azure SQL Database Update Syntax  
ALTER USER userName    
     WITH <set_item> [ ,...n ]  
[;]  
  
<set_item> ::=   
      NAME = newUserName   
    | DEFAULT_SCHEMA = { schemaName | NULL }  
    | LOGIN = loginName  
    | PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]  
    | ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]   
  
-- SQL Database syntax when connected to a federation member  
ALTER USER userName  
     WITH <set_item> [ ,… n ]   
[;]  
  
<set_item> ::=   
     NAME = newUserName  

-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  
  
ALTER USER userName    
     WITH <set_item> [ ,...n ]  
  
<set_item> ::=   
     NAME =newUserName   
     | LOGIN =loginName  
     | DEFAULT_SCHEMA = schema_name  
[;]  

Benutzername
Gibt den Namen an, mit dem der Benutzer innerhalb 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.

Wenn ALTER USER die einzige Anweisung in einem SQL-Batch ist, unterstützt Windows Azure SQL-Datenbank die WITH LOGIN-Klausel. Wenn ALTER USER nicht die einzige Anweisung in einem SQL-Batch ist oder in dynamischem SQL-Code ausgeführt wird, wird die WITH LOGIN-Klausel nicht unterstützt.

Namen ** = ** neuer Benutzername
Gibt den neuen Namen für diesen Benutzer an. Neuer Benutzername muss nicht in der aktuellen Datenbank bereits vorhanden sein.

DEFAULT_SCHEMA ** = ** { SchemaName | NULL}
Gibt das erste Schema an, das vom Server beim Auflösen der Namen von Objekten für diesen Benutzer durchsucht wird. Wenn das Standardschema auf NULL festgelegt wird, wird ein Standardschema aus einer Windows-Gruppe entfernt. Die NULL-Option kann nicht in Verbindung mit einem Windows-Benutzer verwendet werden.

PASSWORD = 'password'

Applies to: SQL Server 2012 through SQL Server 2016, SQL-Datenbank.

Gibt das Kennwort für den Benutzer an, der geändert wird. Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.

System_CAPS_ICON_note.jpg Hinweis


Diese Option ist nur für enthaltene Benutzer verfügbar. Finden Sie unter Contained Databases und Sp_migrate_user_to_contained (Transact-SQL) für Weitere Informationen.

OLD_PASSWORD ** = ** "Oldpassword"

Applies to: SQL Server 2012 through SQL Server 2016, SQL-Datenbank.

Das aktuelle Benutzerkennwort, das von zu ersetzenden "Kennwort". Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. OLD_PASSWORD so ändern Sie ein Kennwort erforderlich, es sei denn, Sie haben ALTER ANY USER Berechtigung. Erfordern OLD_PASSWORD verhindert, dass Benutzer mit IDENTITÄTSWECHSEL Berechtigung Ändern des Kennworts.

System_CAPS_ICON_note.jpg Hinweis


Diese Option ist nur für enthaltene Benutzer verfügbar.

DEFAULT_LANGUAGE ** = ** {NONE | <>> | > | > }

Gilt für: SQL Server 2012 bis SQL Server 2016.

Gibt eine Standardsprache an, die dem Benutzer zugewiesen werden soll. Wenn diese Option auf NONE festgelegt wird, wird die aktuelle Standardsprache der Datenbank als Standardsprache festgelegt. Wenn die Standardsprache der Datenbank später geändert wird, bleibt die Standardsprache des Benutzers unverändert. DEFAULT_LANGUAGE kann die lokale ID (Lcid), den Namen der Sprache oder der sprachalias sein.

System_CAPS_ICON_note.jpg Hinweis


Diese Option kann nur in einer eigenständigen Datenbank und nur für eigenständige Benutzer angegeben werden.

ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ON | OFF ] ]

Applies to: SQL Server 2016 through SQL Server 2016, SQL-Datenbank.

Unterdrückt kryptografische metadatenüberprüfungen auf dem Server bei Massenkopiervorgängen. Dadurch kann der Benutzer verschlüsselte Daten zwischen Tabellen oder Datenbanken, ohne die Daten zu entschlüsseln. Der Standardwert ist OFF.

System_CAPS_ICON_warning.jpg Warnung


Die falsche Verwendung dieser Option kann zur Datenbeschädigung führen. Weitere Informationen finden Sie unter migrieren geschützten sensiblen Daten durch Always Encrypted.

Das Standardschema ist das erste Schema, das vom Server beim Auflösen der Namen von Objekten für diesen Datenbankbenutzer durchsucht wird. Wenn nicht anders angegeben, ist das Standardschema der Besitzer von Objekten, die von diesem Datenbankbenutzer erstellt werden.

Wenn der Benutzer ein Standardschema hat, wird dieses Standardschema verwendet. Wenn der Benutzer kein Standardschema hat, aber Mitglied einer Gruppe mit einem Standardschema ist, wird das Standardschema der Gruppe verwendet. Wenn der Benutzer kein Standardschema hat und Mitglied von mehreren Gruppen ist, ist das Standardschema für den Benutzer das Schema der Windows-Gruppe mit der niedrigsten principal_id und explizit festgelegt. Wenn für einen Benutzer kein Standardschema bestimmt werden kann die Dbo Schema verwendet werden.

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 einem Zertifikat oder einem asymmetrischen Schlüssel zugeordnet ist.

System_CAPS_ICON_important.jpg Wichtig


Der Wert von DEFAULT_SCHEMA wird ignoriert, wenn der Benutzer Mitglied ist die Sysadmin festen Serverrolle "". Alle Mitglieder der Sysadmin -Serverrolle verfügen über das Standardschema des 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.

Der Name des ein zugeordneter Benutzer eine SQL Server Anmeldung, einem Zertifikat oder einem asymmetrischen Schlüssel kann nicht den umgekehrten Schrägstrich enthalten (\).

System_CAPS_ICON_caution.jpg Achtung


Beginning with SQL Server 2005, the behavior of schemas changed. As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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 such databases you must instead use the new catalog views. The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. For more information about catalog views, see Catalog Views (Transact-SQL).

System_CAPS_ICON_note.jpg 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.

Berechtigungen

Zum Ändern des Namens eines Benutzers erfordert die ALTER ANY USER Berechtigung.

So ändern Sie die zielanmeldung eines Benutzers erfordert die Steuerelement Berechtigung für die Datenbank.

So ändern Sie den Benutzernamen, der ein Benutzer mit Steuerelement Berechtigung für die Datenbank benötigt die Steuerelement Berechtigung für die Datenbank.

So ändern Sie das Standardschema oder Ihre Sprache erfordert ALTER Berechtigung für den Benutzer. Benutzer können ihr eigenes Standardschema oder ihre eigene Sprache ändern.

A. Ändern des Namens eines Datenbankbenutzers

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

USE AdventureWorks2012;  
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 AdventureWorks2012;  
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;  
GO  

C. Gleichzeitiges Ändern mehrerer Optionen

Im folgenden Beispiel werden mehrere Optionen für einen Benutzer einer eigenständigen Datenbank in einer Anweisung geändert.

Gilt für: SQL Server 2012 bis SQL Server 2016.
USE AdventureWorks2012;  
GO   
ALTER USER Philip   
WITH  NAME = Philipe   
    , DEFAULT_SCHEMA = Development   
    , PASSWORD = 'W1r77TT98%ab@#’ OLD_PASSWORD = 'New Devel0per'   
    , DEFAULT_LANGUAGE  = French ;  
GO  

D. Ändern des Namens eines Datenbankbenutzers

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

-- Uses AdventureWorks  
  
ALTER USER Mary5 WITH NAME = Mary51;  
GO   

E. Ändern des Standardschemas

Im folgenden Beispiel wird das Standardschema des Datenbankbenutzers Contoso\Mary auf Sales.

ALTER USER [Contoso\Mary] WITH DEFAULT_SCHEMA = Sales;  

Erstellen des Benutzers (Transact-SQL)
DROP USER (Transact-SQL)
Eigenständige Datenbanken
EVENTDATA (Transact-SQL)
Sp_migrate_user_to_contained (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: