CREATE USER (Transact-SQL)

Fügt der aktuellen Datenbank einen Benutzer hinzu.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CREATE USER user_name     [ { { FOR | FROM }
      { 
        LOGIN login_name 
        | CERTIFICATE cert_name 
        | ASYMMETRIC KEY asym_key_name
      } 
      | WITHOUT LOGIN
    ] 
    [ WITH DEFAULT_SCHEMA = schema_name ]

Argumente

  • user_name
    Gibt den Namen an, durch den der Benutzer in dieser Datenbank identifiziert wird. user_name ist ein Wert vom Datentyp sysname. Der Name kann bis zu 128 Zeichen lang sein.
  • LOGIN login_name
    Gibt den SQL Server-Anmeldenamen an, für den der Datenbankbenutzer erstellt wird. login_name muss ein gültiger Anmeldename auf dem Server sein. Wird dieser SQL Server-Anmeldename zur Anmeldung in der Datenbank verwendet, erhält er den Namen und die ID des Datenbankbenutzers, der erstellt wird.
  • CERTIFICATE cert_name
    Gibt das Zertifikat an, für das der Datenbankbenutzer erstellt wird.
  • ASYMMETRIC KEY asym_key_name
    Gibt den asymmetrischen Schlüssel an, für den der Datenbankbenutzer erstellt wird.
  • WITH DEFAULT_SCHEMA **=**schema_name
    Gibt das erste Schema an, das vom Server beim Auflösen der Namen von Objekten für diesen Datenbankbenutzer durchsucht wird.
  • WITHOUT LOGIN
    Gibt an, dass der Benutzer keinem vorhandenen Anmeldenamen zugeordnet werden sollte.

Hinweise

Wird FOR LOGIN ausgelassen, wird der neue Datenbankbenutzer dem SQL Server-Anmeldenamen mit demselben Namen zugeordnet.

Wird DEFAULT_SCHEMA nicht definiert, verwendet der Datenbankbenutzer dbo als Standardschema. DEFAULT_SCHEMA kann auf ein Schema festgelegt werden, das derzeit nicht in der Datenbank vorhanden ist. DEFAULT_SCHEMA kann vor dem Erstellen des Schemas festgelegt werden, auf das DEFAULT_SCHEMA zeigt. DEFAULT_SCHEMA kann nicht angegeben werden, wenn Sie einen Benutzer erstellen, der einer Windows-Gruppe, einem Zertifikat oder einem asymmetrischen Schlüssel zugeordnet ist.

ms173463.note(de-de,SQL.90).gifWichtig:
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.

Durch die WITHOUT LOGIN-Klausel wird ein Benutzer erstellt, dem keine SQL Server-Anmeldung zugeordnet ist. Er kann als guest Verbindungen mit anderen Datenbanken herstellen.

Die Namen der Benutzer, die SQL Server-Anmeldenamen, Zertifikaten oder asymmetrischen Schlüsseln zugeordnet sind, dürfen keinen umgekehrten Schrägstrich (\) enthalten.

Mithilfe von CREATE USER kann kein guest-Benutzer erstellt werden, da der guest-Benutzer bereits in jeder Datenbank vorhanden ist. Sie können den guest-Benutzer durch Erteilen der CONNECT-Berechtigung aktivieren (siehe Beispiel):

GRANT CONNECT TO guest;
GO

Informationen zu Datenbankbenutzern werden in der sys.database_principals (Transact-SQL)-Katalogsicht angezeigt.

ms173463.Caution(de-de,SQL.90).gifVorsicht:
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 jemals 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 USER-Berechtigung für die Datenbank.

Beispiele

A. Erstellen eines Datenbankbenutzers

Im folgenden Beispiel wird zunächst ein Serveranmeldename namens AbolrousHazem mit einem Kennwort und dann der entsprechende Datenbankbenutzer AbolrousHazem in AdventureWorks erstellt.

CREATE LOGIN AbolrousHazem 
    WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks;
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO 

B. Erstellen eines Datenbankbenutzers mit einem Standardschema

Im folgenden Beispiel wird zunächst ein Serveranmeldename namens WanidaBenshoof mit einem Kennwort und dann der entsprechende Datenbankbenutzer Wanida mit dem Standardschema Marketing erstellt.

CREATE LOGIN WanidaBenshoof 
    WITH PASSWORD = '8fdKJl3$nlNv3049jsKK';
USE AdventureWorks;
CREATE USER Wanida FOR LOGIN WanidaBenshoof 
    WITH DEFAULT_SCHEMA = Marketing;
GO

C. Erstellen eines Datenbankbenutzers über ein Zertifikat

Im folgenden Beispiel wird der Datenbankbenutzer JinghaoLiu über das Zertifikat CarnationProduction50 erstellt.

USE AdventureWorks;
CREATE CERTIFICATE CarnationProduction50
    WITH SUBJECT = 'Carnation Production Facility Supervisors',
    EXPIRY_DATE = '11/11/2011';
GO
CREATE USER JinghaoLiu FOR CERTIFICATE CarnationProduction50;
GO 

Siehe auch

Verweis

sys.database_principals (Transact-SQL)
ALTER USER (Transact-SQL)
DROP USER (Transact-SQL)
CREATE LOGIN (Transact-SQL)
EVENTDATA (Transact-SQL)

Andere Ressourcen

Trennung von Benutzer und Schema

Hilfe und Informationen

Informationsquellen für SQL Server 2005