CREATE LOGIN (Transact-SQL)

Erstellt eine Anmeldung für SQL Server, SQL-Datenbank, Azure Synapse Analytics oder Analytics Platform System-Datenbanken. Klicken Sie auf eine der folgenden Registerkarten, um Syntax, Argumente, Hinweise, Berechtigungen und Beispiele für eine bestimmte Version anzuzeigen.

CREATE LOGIN nimmt an Transaktionen teil. Wenn CREATE LOGIN innerhalb einer Transaktion ausgeführt wird, für die dann ein Rollback ausgeführt wird, wird ein Rollback für die Erstellung von Anmeldedaten ausgeführt. Die erstellten Anmeldedaten können erst verwendet werden, nachdem die Transaktion committet wurde, wenn sie innerhalb einer Transaktion ausgeführt werden.

Weitere Informationen zu Syntaxkonventionen finden Sie unter Transact-SQL-Syntaxkonventionen.

Auswählen eines Produkts

Wählen Sie in der folgenden Zeile den Namen des Produkts aus, an dem Sie interessiert sind. Dann werden nur Informationen zu diesem Produkt angezeigt.

* SQL Server *  

 

SQL Server

Syntax

-- Syntax for SQL Server
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<option_list1> ::=
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=
    SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name

<sources> ::=
    WINDOWS [ WITH <windows_options>[ ,... ] ]
    | CERTIFICATE certname
    | ASYMMETRIC KEY asym_key_name

<windows_options> ::=
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argumente

login_name

Gibt den Anmeldenamen an, der erstellt wird. Es gibt vier Arten von Anmeldenamen: SQL Server-Anmeldungen, Windows-Anmeldenamen, Anmeldenamen mit zugeordneten Zertifikaten sowie Anmeldenamen mit zugeordneten asymmetrischen Schlüsseln. Wenn Sie Anmeldenamen erstellen, die von einem Windows-Domänenkonto zugeordnet werden, müssen Sie den Benutzeranmeldenamen einer Version vor Windows 2000 im Format [<domainName>\<login_name>] verwenden. Sie können keinen UPN im Format "login_name@DomainName" verwenden. Ein Beispiel hierzu finden Sie unter „Beispiel D“ weiter unten in diesem Artikel. Anmeldenamen für die Authentifizierung sind vom Typ sysname. Sie müssen den Regeln für Bezeichner entsprechen und dürfen keinen „ \ “ enthalten. Windows-Anmeldenamen können ' \ '-Zeichen enthalten. Anmeldenamen auf Grundlage von Active Directory-Benutzern sind auf Namen mit weniger als 21 Zeichen beschränkt.

PASSWORD = 'password'

Gilt nur für SQL Server-Anmeldenamen. Gibt das Kennwort für den Anmeldenamen an, der erstellt wird. Verwenden Sie ein sicheres Kennwort. Weitere Informationen finden Sie unter Sichere Kennwörter und Kennwortrichtlinie. Ab SQL Server 2012 (11.x) werden gespeicherte Kennwortinformationen mithilfe der SHA-512-Komponente des mit Salt verschlüsselten Kennworts berechnet.

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Kennwörter sollten immer mindestens acht Zeichen lang sein und dürfen 128 Zeichen nicht überschreiten. Kennwörter dürfen a-z, A-Z, 0-9 und die meisten nicht alphanumerischen Zeichen einschließen. Kennwörter dürfen keine einfachen Anführungszeichen oder login_name enthalten.

PASSWORD =hashed_password

Gilt nur für das HASHED-Schlüsselwort. Gibt den Hashwert des Kennworts für den Anmeldenamen an, der erstellt wird.

HASHED

Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass das nach dem PASSWORD-Argument eingegebene Kennwort bereits einen Hashwert darstellt. Wenn diese Option nicht ausgewählt wird, wird aus der als Kennwort eingegebenen Zeichenfolge vor dem Speichern in der Datenbank ein Hashwert erstellt. Diese Option sollte nur verwendet werden, um Datenbanken von einem Server auf einen anderen zu migrieren. Verwenden Sie die HASHED-Option nicht, um neue Anmeldenamen zu erstellen. Die HASHED-Option kann nicht mit Hashes verwendet werden, die in SQL 7 oder einer früheren Version erstellt wurden.

MUST_CHANGE

Gilt nur für SQL Server-Anmeldenamen. Wenn diese Option angegeben wird, wird der Benutzer von SQL Server zur Eingabe eines neuen Kennworts aufgefordert, wenn der neue Anmeldename zum ersten Mal verwendet wird.

CREDENTIAL =credential_name

Die Anmeldeinformationen, die dem neuen SQL Server-Anmeldenamen zugeordnet werden sollen. Die Anmeldeinformationen müssen bereits auf dem Server vorhanden sein. Momentan verknüpft diese Option nur die Anmeldeeinformationen mit einem Anmeldenamen. Der Anmeldung eines Systemadministrators können keine Anmeldeinformationen zugeordnet werden.

SID = sid

Wird verwendet, um eine Anmeldung neu zu erstellen. Gilt nur für Anmeldenamen für die SQL Server-Authentifizierung, nicht für Anmeldenamen für die Windows-Authentifizierung. Gibt die SID des neuen Anmeldenamens für die SQL Server-Authentifizierung an. Wenn diese Option nicht verwendet wird, weist SQL Server automatisch eine SID zu. Die SID-Struktur hängt von der SQL Server-Version ab. SID des Anmeldenamens für SQL Server: ein 16-Byte-Literalwert (binary(16) ) basierend auf einer GUID. Beispiel: SID = 0x14585E90117152449347750164BA00A7.

DEFAULT_DATABASE =database

Gibt die Standarddatenbank an, die dem Anmeldenamen zugewiesen werden soll. Wenn diese Option nicht enthalten ist, wird die Standarddatenbank als „master“ festgelegt.

DEFAULT_LANGUAGE =language

Gibt die Standardsprache an, die dem Anmeldenamen zugewiesen werden soll. Wenn diese Option nicht enthalten ist, wird die aktuelle Standardsprache des Servers als Standardsprache festgelegt. Wenn die Standardsprache des Servers zu einem späteren Zeitpunkt geändert wird, wird die Standardsprache des Anmeldenamens nicht geändert.

CHECK_EXPIRATION = { ON | OFF }

Gilt nur für SQL Server-Anmeldenamen. Gibt an, ob die Richtlinie für das Ablaufen von Kennwörtern für diesen Anmeldenamen erzwungen werden soll. Der Standardwert ist OFF.

CHECK_POLICY = { ON | OFF }

Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass die Windows-Kennwortrichtlinien des Computers, auf dem SQL Server ausgeführt wird, für diesen Anmeldenamen erzwungen werden sollen. Der Standardwert ist ON.

Wenn die Windows-Richtlinie sichere Kennwörter erfordert, müssen Kennwörter mindestens drei der folgenden vier Eigenschaften aufweisen:

  • Ein Großbuchstabe (A-Z).
  • Ein Kleinbuchstabe (a-z).
  • Eine Ziffer (0-9).
  • Ein nicht alphanumerisches Zeichen, z. B. ein Leerzeichen, _, @, *, ^,%, !, $, # oder &.

WINDOWS

Gibt an, dass der Anmeldename einem Windows-Anmeldenamen zugeordnet wird.

CERTIFICATE certname

Gibt den Namen eines Zertifikats an, das diesem Anmeldenamen zugeordnet werden soll. Dieses Zertifikat muss bereits in der Masterdatenbank vorhanden sein.

ASYMMETRIC KEY asym_key_name

Gibt den Namen eines asymmetrischen Schlüssels an, der diesem Anmeldenamen zugeordnet werden soll. Dieser Schlüssel muss bereits in der Masterdatenbank vorhanden sein.

Bemerkungen

  • Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.
  • Das vorherige Erstellen von Hashwerten für Kennwörter wird nur unterstützt, wenn Sie SQL Server-Anmeldenamen erstellen.
  • Falls MUST_CHANGE angegeben wird, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON festgelegt werden. Andernfalls erzeugt die Anweisung einen Fehler.
  • Die Kombination aus CHECK_POLICY = OFF und CHECK_EXPIRATION = ON wird nicht unterstützt.
  • Wenn CHECK_POLICY auf OFF festgelegt ist, wird lockout_time zurückgesetzt, und CHECK_EXPIRATION wird auf OFF festgelegt.

Wichtig

CHECK_EXPIRATION und CHECK_POLICY werden nur unter Windows Server 2003 und höher erzwungen. Weitere Informationen finden Sie unter Password Policy.

  • Aus Zertifikaten oder asymmetrischen Schlüsseln erstellte Anmeldenamen werden nur zum Signieren von Code verwendet. Sie können nicht verwendet werden, um eine Verbindung mit SQL Server herzustellen. Sie können einen Anmeldenamen anhand eines Zertifikats oder eines asymmetrischen Schlüssels nur erstellen, wenn das Zertifikat oder der asymmetrische Schlüssel bereits in der Masterdatenbank vorhanden ist.
  • Ein Skript zum Übertragen von Anmeldenamen finden unter Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server.
  • Durch das Erstellen eines Anmeldenamens wird der neue Anmeldename automatisch aktiviert, und diesem Anmeldenamen wird die CONNECT SQL-Berechtigung auf Serverebene gewährt.
  • Der Authentifizierungsmodus muss mit dem Anmeldetyp übereinstimmen, damit der Zugriff gewährt wird.
  • Informationen zum Entwerfen eines Berechtigungssystems finden Sie unter Getting Started with Database Engine Permissions.

Berechtigungen

  • Nur Benutzer mit ALTER ANY LOGIN-Berechtigung auf dem Server oder einer Mitgliedschaft bei der festen Serverrolle securityadmin können Anmeldenamen erstellen. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter ALTER SERVER ROLE.
  • Falls die Option CREDENTIAL verwendet wird, ist auch die ALTER ANY CREDENTIAL-Berechtigung auf dem Server erforderlich.

Nach dem Erstellen eines Anmeldenamens

Nach dem Erstellen eines Anmeldenamens kann mit dem Namen eine Verbindung mit SQL Server hergestellt werden, er verfügt jedoch nur über die der Rolle public gewährten Berechtigungen. Ziehen Sie die Ausführung einiger der folgenden Aktivitäten in Betracht.

  • Erstellen Sie zum Herstellen einer Verbindung mit einer Datenbank einen Datenbankbenutzer für den Anmeldenamen. Weitere Informationen finden Sie unter CREATE USER (Transact-SQL).
  • Erstellen sie eine benutzerdefinierte Serverrolle mit CREATE SERVER ROLE. Verwenden Sie ALTER SERVER ROLE ... ADD MEMBER, um der benutzerdefinierten Serverrolle den neuen Anmeldenamen hinzuzufügen. Weitere Informationen finden Sie unter CREATE SERVER ROLE und unter ALTER SERVER ROLE.
  • Fügen Sie den Anmeldenamen mit sp_addsrvrolemember einer festen Serverrolle hinzu. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter sp_addsrvrolemember.
  • Gewähren Sie mit der GRANT-Anweisung Berechtigungen auf Serverebene für den neuen Anmeldenamen oder für eine Rolle, die den Anmeldenamen enthält. Weitere Informationen finden Sie unter GRANT.

Beispiele

A. Erstellen einer Anmeldung mit einem Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt, und es wird ein Kennwort zugewiesen.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Erstellen einer Anmeldung mit einem zu ändernden Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt, und es wird ein Kennwort zugewiesen. Die Option MUST_CHANGE erfordert, dass Benutzer dieses Kennwort ändern, wenn sie das erste Mal eine Verbindung mit dem Server herstellen.

Gilt für: SQL Server 2008 (10.0.x) und höher

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>'
    MUST_CHANGE, CHECK_EXPIRATION = ON;
GO

Hinweis

Die Option MUST_CHANGE kann nicht verwendet werden, wenn CHECK_EXPIRATION auf OFF festgelegt ist.

C. Erstellen eines Anmeldeinformationen zugeordneten Anmeldenamens

Im folgenden Beispiel wird unter Verwendung des Benutzers der Anmeldename für einen bestimmten Benutzer erstellt. Dieser Anmeldename wird den Anmeldeinformationen zugeordnet.

Gilt für: SQL Server 2008 (10.0.x) und höher

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>',
    CREDENTIAL = <credentialName>;
GO

D: Erstellen eines Anmeldenamens aus einem Zertifikat

Im folgenden Beispiel wird der Anmeldename für eine bestimmte Benutzer-ID von einem Zertifikat in der Masterdatenbank erstellt.

Gilt für: SQL Server 2008 (10.0.x) und höher

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '12/05/2025';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

E. Erstellen eines Anmeldenamens von einem Windows-Domänenkonto

Im folgenden Beispiel wird ein Anmeldename von einem Windows-Domänenkonto erstellt.

Gilt für: SQL Server 2008 (10.0.x) und höher

CREATE LOGIN [<domainName>\<login_name>] FROM WINDOWS;
GO

F. Erstellen eines Anmeldenamens aus einer SID

Im folgenden Beispiel wird ein Anmeldename für die SQL Server-Authentifizierung erstellt und die SID des Anmeldenamens festgelegt.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';
SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Die Abfrage hier gibt 0x241C11948AEEB749B0D22646DB1A19F2 als SID zurück. Die Abfrage gibt einen anderen Wert zurück. Die folgenden Anweisungen löschen den Anmeldenamen und erstellen dann erneut die Anmeldung. Verwenden Sie die SID aus der vorherigen Abfrage.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

G. Erstellen einer Anmeldung mit mehreren Argumenten

Im folgenden Beispiel sehen Sie, wie Sie mehrere Argumente mit Kommas zwischen den einzelnen Argumenten als eine Zeichenfolge verbinden.

CREATE LOGIN [MyUser]
WITH PASSWORD = 'MyPassword',
DEFAULT_DATABASE = MyDatabase,
CHECK_POLICY = OFF,
CHECK_EXPIRATION = OFF ;

H. Erstellen einer SQL-Anmeldung mit Hashkennwort

Das folgende Beispiel zeigt, wie SQL-Anmeldungen mit dem gleichen Kennwort wie vorhandene Anmeldungen in einem Migrationsszenario erstellt werden. Der erste Schritt besteht im Abrufen des Kennworthashs aus vorhandenen Anmeldungen auf dem Quelldatenbankserver. Anschließend wird derselbe Hash verwendet, um die Anmeldung auf einem neuen Datenbankserver zu erstellen. Dadurch erhält die neue Anmeldung das gleiche Kennwort, das auf dem alten Server verwendet wurde.

-- run this to retrieve the password hash for an individual Login:
SELECT LOGINPROPERTY('Andreas','PASSWORDHASH') AS password_hash;
-- as an alternative, the catalog view sys.sql_logins can be used to retrieve the password hashes for multiple accounts at once. (This could be used to create a dynamic sql statemnt from the result set)
SELECT name, password_hash
FROM sys.sql_logins
  WHERE
    principal_id > 1    -- excluding sa
    AND
    name NOT LIKE '##MS_%##' -- excluding special MS system accounts
-- create the new SQL Login on the new database server using the hash of the source server
CREATE LOGIN Andreas
  WITH PASSWORD = 0x02000A1A89CD6C6E4C8B30A282354C8EA0860719D5D3AD05E0CAE1952A1C6107A4ED26BEBA2A13B12FAB5093B3CC2A1055910CC0F4B9686A358604E99BB9933C75B4EA48FDEA HASHED;

Weitere Informationen

* Azure SQL Datenbank*

 

SQL-Datenbank

Syntax

-- Syntax for Azure SQL Database
CREATE LOGIN login_name
  { 
    FROM EXTERNAL PROVIDER
    | WITH <option_list> [,..] 
  }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Argumente

login_name

Hinweis

Azure Active Directory-Serverprinzipale (Azure AD) (Anmeldungen) befinden sich derzeit in der öffentlichen Vorschau für Azure SQL-Datenbank.

Bei Verwendung mit der Klausel FROM EXTERNAL PROVIDER legt die Anmeldung den Azure AD-Prinzipal fest, bei dem es sich um einen Azure AD-Benutzer, eine -Gruppe oder -Anwendung handelt. Andernfalls stellt der Anmeldename den Namen der erstellten SQL Server-Anmeldung dar.

Azure AD-Benutzern und Dienstprinzipalen (Azure AD-Anwendungen), die Mitglieder von mehr als 2048 Azure AD-Sicherheitsgruppen sind, ist die Anmeldung bei der Datenbank in SQL-Datenbank, SQL Managed Instance oder Azure Synapse nicht möglich.

FROM EXTERNAL PROVIDER

Legt fest, dass der Anmeldename zur Azure AD-Authentifizierung dient.

PASSWORD ='password'

Gibt das Kennwort für den SQL-Anmeldenamen an, der erstellt wird. Verwenden Sie ein sicheres Kennwort. Weitere Informationen finden Sie unter Sichere Kennwörter und Kennwortrichtlinie. Ab SQL Server 2012 (11.x) werden gespeicherte Kennwortinformationen mithilfe der SHA-512-Komponente des mit Salt verschlüsselten Kennworts berechnet.

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Kennwörter sollten immer mindestens acht Zeichen lang sein und dürfen 128 Zeichen nicht überschreiten. Kennwörter dürfen a-z, A-Z, 0-9 und die meisten nicht alphanumerischen Zeichen einschließen. Kennwörter dürfen keine einfachen Anführungszeichen oder login_name enthalten.

SID = sid

Wird verwendet, um eine Anmeldung neu zu erstellen. Gilt nur für Anmeldenamen für die SQL Server-Authentifizierung, nicht für Anmeldenamen für die Windows-Authentifizierung. Gibt die SID des neuen Anmeldenamens für die SQL Server-Authentifizierung an. Wenn diese Option nicht verwendet wird, weist SQL Server automatisch eine SID zu. Die SID-Struktur hängt von der SQL Server-Version ab. Bei SQL-Datenbank ist dies normalerweise ein 32-Byte-Literalwert (binary(32) ) bestehend aus 0x01060000000000640000000000000000 plus 16 Byte, die eine GUID darstellen. Beispiel: SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Bemerkungen

  • Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.
  • Durch das Erstellen eines Anmeldenamens wird der neue Anmeldename automatisch aktiviert, und diesem Anmeldenamen wird die CONNECT SQL-Berechtigung auf Serverebene gewährt.

Wichtig

Unter Verwalten von Anmeldungen in Azure SQL-Datenbank finden Sie weitere Informationen zum Arbeiten mit Anmeldungen und Benutzern in Azure SQL-Datenbank.

Anmeldename

Anmeldenamen für SQL-Datenbanken

Die CREATE LOGIN-Anweisung muss die einzige Anweisung in einem Batch sein.

In einigen Methoden zum Herstellen einer Verbindung mit SQL-Datenbank, z.B. sqlcmd, müssen Sie den Servernamen von SQL-Datenbank mit der <login>@<server>-Notation an den Anmeldenamen in der Verbindungszeichenfolge anfügen. Wenn Ihr Anmeldename beispielsweise login1 und der vollqualifizierte Name des Servers von SQL-Datenbank servername.database.windows.net lautet, sollte der Parameter username der Verbindungszeichenfolge login1@servername lauten. Da die Gesamtlänge des username-Parameters 128 Zeichen beträgt, ist login_name auf 127 Zeichen abzüglich der Länge des Servernamens beschränkt. Im Beispiel darf login_name nur 117 Zeichen lang sein, da servername 10 Zeichen enthält.

In SQL-Datenbank müssen Sie mit der Masterdatenbank verbunden sein und über die entsprechenden Berechtigungen verfügen, um eine Anmeldung zu erstellen. Weitere Informationen finden Sie unter Erstellen zusätzlicher Anmeldungen und Benutzer mit Verwaltungsberechtigungen.

Mithilfe von SQL Server-Regeln können Sie einen Anmeldenamen für die SQL Server-Authentifizierung im Format <loginname>@<servername> erstellen. Wenn der SQL Datenbank-Servername myazureserver und der Anmeldename myemail@live.com lauten, müssen Sie den Anmeldenamen als myemail@live.com@myazureserver bereitstellen.

In SQL-Datenbank werden Anmeldedaten, die für die Authentifizierung einer Verbindung und für Firewallregeln auf Serverebene erforderlich sind, über einen gewissen Zeitraum in jeder Datenbank gespeichert. Dieser Cache wird regelmäßig aktualisiert. Führen Sie DBCC FLUSHAUTHCACHE aus, um eine Aktualisierung des Authentifizierungscache zu erzwingen und sicherzustellen, dass eine Datenbank über die aktuelle Version der Tabelle mit Anmeldenamen verfügt.

Berechtigungen

Neue Anmeldenamen können nur mit den Anmeldenamen des Serverebenenprinzipals (im Bereitstellungsprozess erstellt) oder von Mitgliedern der loginmanager-Datenbankrolle in der Masterdatenbank erstellt werden. Weitere Informationen finden Sie unter Erstellen zusätzlicher Anmeldungen und Benutzer mit Verwaltungsberechtigungen.

Beispiele

A. Erstellen einer Anmeldung mit einem Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt, und es wird ein Kennwort zugewiesen.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Erstellen eines Anmeldenamens aus einer SID

Im folgenden Beispiel wird ein Anmeldename für die SQL Server-Authentifizierung erstellt und die SID des Anmeldenamens festgelegt.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Die Abfrage hier gibt 0x241C11948AEEB749B0D22646DB1A19F2 als SID zurück. Die Abfrage gibt einen anderen Wert zurück. Die folgenden Anweisungen löschen den Anmeldenamen und erstellen dann erneut die Anmeldung. Verwenden Sie die SID aus der vorherigen Abfrage.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Erstellen einer Anmeldung mithilfe eines Azure AD-Kontos

Im folgenden Beispiel wird eine Anmeldung auf dem logischen SQL-Datenbank Server bob@contoso.com erstellt, der in der Azure AD-Domäne namens contoso vorhanden ist.

Use master
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

Weitere Informationen

* Azure SQL
Verwaltete Instanz *

 

Verwaltete Azure SQL-Instanz

Syntax

-- Syntax for Azure SQL Managed Instance
CREATE LOGIN login_name [FROM EXTERNAL PROVIDER] { WITH <option_list> [,..]}

<option_list> ::=
    PASSWORD = {'password'}
    | SID = sid
    | DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argumente

login_name

Bei Verwendung mit der Klausel FROM EXTERNAL PROVIDER legt die Anmeldung den Azure AD-Prinzipal fest, bei dem es sich um einen Azure AD-Benutzer, eine -Gruppe oder -Anwendung handelt. Andernfalls stellt der Anmeldename den Namen der erstellten SQL Server-Anmeldung dar.

Azure AD-Benutzern und Dienstprinzipalen (Azure AD-Anwendungen), die Mitglieder von mehr als 2048 Azure AD-Sicherheitsgruppen sind, ist die Anmeldung bei der Datenbank in SQL-Datenbank, SQL Managed Instance oder Azure Synapse nicht möglich.

FROM EXTERNAL PROVIDER

Legt fest, dass der Anmeldename zur Azure AD-Authentifizierung dient.

PASSWORD = 'password'

Gibt das Kennwort für den SQL-Anmeldenamen an, der erstellt wird. Verwenden Sie ein sicheres Kennwort. Weitere Informationen finden Sie unter Sichere Kennwörter und Kennwortrichtlinie. Ab SQL Server 2012 (11.x) werden gespeicherte Kennwortinformationen mithilfe der SHA-512-Komponente des mit Salt verschlüsselten Kennworts berechnet.

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Kennwörter sollten immer mindestens 10 Zeichen lang sein und dürfen 128 Zeichen nicht überschreiten. Kennwörter dürfen a-z, A-Z, 0-9 und die meisten nicht alphanumerischen Zeichen einschließen. Kennwörter dürfen keine einfachen Anführungszeichen oder login_name enthalten.

SID =sid

Wird verwendet, um eine Anmeldung neu zu erstellen. Gilt nur für SQL Server-Authentifizierungsanmeldungen. Gibt die SID des neuen Anmeldenamens für die SQL Server-Authentifizierung an. Wenn diese Option nicht verwendet wird, weist SQL Server automatisch eine SID zu. Die SID-Struktur hängt von der SQL Server-Version ab. Bei SQL-Datenbank ist dies normalerweise ein 32-Byte-Literalwert (binary(32) ) bestehend aus 0x01060000000000640000000000000000 plus 16 Byte, die eine GUID darstellen. Beispiel: SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Bemerkungen

  • Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.

  • Eine neue Syntax für die Erstellung von Serverebenenprinzipalen für Azure AD-Konten wurde eingeführt (FROM EXTERNAL PROVIDER).

  • Wenn FROM EXTERNAL PROVIDER festgelegt wird:

    • „login_name“ muss einem vorhandenen Azure AD-Konto (Benutzer, Gruppe oder Anwendung) entsprechen, auf das in Azure AD über die aktuelle verwaltete Azure SQL-Datenbank-Instanz zugegriffen werden kann. Für Azure AD-Prinzipale erfordert die CREATE LOGIN-Syntax:
      • „UserPrincipalName“ des Azure AD-Objekts für Azure AD-Benutzer.
      • „DisplayName“ des Azure AD-Objekts für Azure AD-Gruppen und Azure AD-Anwendungen.
    • Die Option PASSWORD kann nicht verwendet werden.
  • Wenn die Klausel FROM EXTERNAL PROVIDER ausgelassen wird, wird standardmäßig eine SQL Server-Anmeldung erstellt.

  • Azure AD-Anmeldenamen werden in „sys.server_principals“ aufgeführt. Für Anmeldenamen, die Azure AD-Benutzern zugeordnet sind, ist der Wert der Typspalte auf E und „type_desc“ ist auf EXTERNAL_LOGIN festgelegt. Für Anmeldenamen, die Azure AD-Gruppen zugeordnet sind, ist der Wert der Typspalte auf X und „type_desc“ ist auf EXTERNAL_GROUP festgelegt.

  • Ein Skript zum Übertragen von Anmeldenamen finden unter Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server.

  • Durch das Erstellen eines Anmeldenamens wird der neue Anmeldename automatisch aktiviert, und diesem Anmeldenamen wird die CONNECT SQL-Berechtigung auf Serverebene gewährt.

Wichtig

Unter Verwalten von Anmeldungen in Azure SQL-Datenbank finden Sie weitere Informationen zum Arbeiten mit Anmeldungen und Benutzern in Azure SQL-Datenbank.

Anmeldenamen und Berechtigungen

Neue Anmeldenamen können nur mit den Anmeldenamen des Serverebenenprinzipals (im Bereitstellungsprozess erstellt) oder von Mitgliedern der Datenbankrollen securityadmin oder sysadmin in der Masterdatenbank erstellt werden. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter ALTER SERVER ROLE.

Die folgenden Standardberechtigungen werden neu erstellten Azure AD-Anmeldenamen in der Masterdatenbank gewährt: CONNECT SQL und VIEW ANY DATABASE.

SQL Managed Instance-Anmeldungen

  • Erfordert eine ALTER ANY LOGIN-Berechtigung auf dem Server oder eine Mitgliedschaft bei einer der festen Serverrollen securityadmin oder sysadmin. Dieser Befehl kann nur mit einem Azure AD-Konto (Azure Active Directory) mit der ALTER ANY LOGIN-Berechtigung auf dem Server oder mit einer Mitgliedschaft bei einer dieser Serverrollen ausgeführt werden.
  • Wenn es sich bei der Anmeldung um einen SQL-Prinzipal handelt, können nur Anmeldungen, die der Rolle sysadmin angehören, den Befehl „create“ verwenden, um Anmeldungen für ein Azure AD-Konto zu erstellen.
  • Muss im gleichen Verzeichnis, das auch für die verwaltete Azure SQL-Datenbank-Instanz verwendet wird, ein Azure AD-Mitglied sein.

Nach dem Erstellen eines Anmeldenamens

Hinweis

Der Azure AD-Administrator für Azure SQL Managed Instance-Funktionen ändert sich nach der Erstellung. Weitere Informationen finden Sie unter Neue Azure AD-Administratorfunktionen für verwaltete Instanzen.

Nach dem Erstellen einer Anmeldung kann diese zum Herstellen einer Verbindung mit einer verwalteten Instanz verwendet werden. Der Anmeldung werden jedoch nur die Berechtigungen gewährt, die der Rolle public zugewiesen sind. Ziehen Sie die Ausführung einiger der folgenden Aktivitäten in Betracht.

  • Informationen zum Erstellen eines Azure AD-Benutzers aus Azure AD-Anmeldeinformationen finden Sie unter CREATE USER.
  • Verwenden Sie für die Erteilung von Berechtigungen für einen Benutzer in einer Datenbank die Anweisung ALTER SERVER ROLE ... ADD MEMBER-Anweisung zum Hinzufügen des Benutzer zu einer der integrierten Datenbankrollen oder einer benutzerdefinierten Rolle oder zum Erteilen von Berechtigungen für den Benutzer über die direkte Verwendung der Anweisung GRANT. Weitere Informationen finden Sie unter Benutzer ohne Administratorrechte und in den Artikeln zu den Anweisungen Zusätzliche Administratorrollen auf Serverebene, ALTER SERVER ROLE- und GRANT-Anweisung.
  • Wenn Sie serverweite Berechtigungen erteilen möchten, erstellen Sie in der Masterdatenbank einen Datenbankbenutzer, und verwenden Sie die Anweisung ALTER SERVER ROLE ... ADD MEMBER-Anweisung zum Hinzufügen des Benutzers zu einer der administrativen Serverrollen. Weitere Informationen finden Sie unter Rollen auf Serverebene, ALTER SERVER ROLE und unter Serverrollen.
    • Verwenden Sie den folgenden Befehl, um einem Azure AD-Anmeldenamen die Rolle sysadmin zu gewähren: ALTER SERVER ROLE sysadmin ADD MEMBER [AzureAD_Login_name]
  • Gewähren Sie mit der GRANT-Anweisung Berechtigungen auf Serverebene für den neuen Anmeldenamen oder für eine Rolle, die den Anmeldenamen enthält. Weitere Informationen finden Sie unter GRANT.

Einschränkungen

  • Das Festlegen eines Azure AD-Anmeldenamens, der einer Azure AD-Gruppe zugeordnet ist, als Besitzer der Datenbank wird nicht unterstützt.
  • Identitätswechsel von Azure AD-Prinzipalen auf Serverebene mit anderen Azure AD-Prinzipalen werden unterstützt, z.B. in der EXECUTE AS-Klausel.
  • Nur SQL-Serverebenenprinzipale (Anmeldungen), die Teil der sysadmin-Rolle sind, können die folgenden Vorgänge für Azure AD-Prinzipale ausführen:
    • EXECUTE AS USER
    • EXECUTE AS LOGIN
  • Aus einem anderen Azure AD-Verzeichnis importierte externe Benutzer (Gastbenutzer) können nicht direkt als Azure AD-Administratoren für Azure SQL Managed Instance mithilfe des Azure-Portals konfiguriert werden. Binden Sie die externen Benutzer stattdessen in eine Gruppe mit Azure AD-Sicherheit ein, und konfigurieren Sie die Gruppe als Instanzadministrator. Sie können PowerShell oder die Azure CLI verwenden, um Einzelgastbenutzer als Instanzadministrator festzulegen.
  • Anmeldenamen werden nicht auf die sekundäre Instanz in einer Failovergruppe repliziert. Sie werden in der Masterdatenbank gespeichert, bei der es sich um eine Systemdatenbank handelt. Sie wird daher nicht georepliziert. Der Benutzer muss einen Anmeldenamen mit derselben SID auf der sekundären Instanz erstellen, um dieses Problem zu beheben.
-- Code to create login on the secondary instance
CREATE LOGIN foo WITH PASSWORD = '<enterStrongPasswordHere>', SID = <login_sid>;

Beispiele

A. Erstellen einer Anmeldung mit einem Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt, und es wird ein Kennwort zugewiesen.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Erstellen eines Anmeldenamens aus einer SID

Im folgenden Beispiel wird ein Anmeldename für die SQL Server-Authentifizierung erstellt und die SID des Anmeldenamens festgelegt.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Die Abfrage hier gibt 0x241C11948AEEB749B0D22646DB1A19F2 als SID zurück. Die Abfrage gibt einen anderen Wert zurück. Die folgenden Anweisungen löschen den Anmeldenamen und erstellen dann erneut die Anmeldung. Verwenden Sie die SID aus der vorherigen Abfrage.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

C. Erstellen eines Anmeldenamens für ein lokales Azure AD-Konto

Im folgenden Beispiel wird ein Anmeldename für das Azure AD-Konto joe@myaad.onmicrosoft.com erstellt, das in der Azure AD-Instanz myaad vorhanden ist.

CREATE LOGIN [joe@myaad.onmicrosoft.com] FROM EXTERNAL PROVIDER
GO

D: Erstellen eines Anmeldenamens für ein lokales Azure AD-Verbundkonto

Im folgenden Beispiel wird ein Anmeldename für das Azure AD-Verbundkonto bob@contoso.com erstellt, das in der Azure AD-Instanz contoso vorhanden ist. Der Benutzer „Bob“ kann auch ein Gastbenutzer sein.

CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER
GO

E. Erstellen eines Anmeldenamens für eine Azure AD-Gruppe

Im folgenden Beispiel wird ein Anmeldename für die Azure AD-Gruppe mygroup erstellt, die in der Azure AD-Instanz myaad vorhanden ist.

CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER
GO

F. Erstellen eines Anmeldenamens für eine Azure AD-Anwendung

Im folgenden Beispiel wird ein Anmeldename für die Azure AD-Anwendung myapp erstellt, die in der Azure AD-Instanz myaad vorhanden ist.

CREATE LOGIN [myapp] FROM EXTERNAL PROVIDER

G. Überprüfen neu hinzugefügter Anmeldenamen

Führen Sie den folgenden T-SQL-Befehl aus, um neu hinzugefügte Anmeldenamen zu überprüfen:

SELECT *
FROM sys.server_principals;
GO

Weitere Informationen

* Azure Synapse
Analytics *

 

Azure Synapse Analytics

Syntax

-- Syntax for Azure Synapse Analytics
CREATE LOGIN login_name
 { WITH <option_list> }

<option_list> ::=
    PASSWORD = { 'password' }
    [ , SID = sid ]

Argumente

login_name

Gibt den Anmeldenamen an, der erstellt wird. SQL Analytics in Azure Synapse unterstützt nur SQL-Anmeldungen. Um Konten für Azure Active Directory-Benutzer zu erstellen, verwenden Sie die CREATE USER-Anweisung.

PASSWORD ='password'

Gibt das Kennwort für den SQL-Anmeldenamen an, der erstellt wird. Verwenden Sie ein sicheres Kennwort. Weitere Informationen finden Sie unter Sichere Kennwörter und Kennwortrichtlinie. Ab SQL Server 2012 (11.x) werden gespeicherte Kennwortinformationen mithilfe der SHA-512-Komponente des mit Salt verschlüsselten Kennworts berechnet.

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Kennwörter sollten immer mindestens acht Zeichen lang sein und dürfen 128 Zeichen nicht überschreiten. Kennwörter dürfen a-z, A-Z, 0-9 und die meisten nicht alphanumerischen Zeichen einschließen. Kennwörter dürfen keine einfachen Anführungszeichen oder login_name enthalten.

SID = sid

Wird verwendet, um eine Anmeldung neu zu erstellen. Gilt nur für Anmeldenamen für die SQL Server-Authentifizierung, nicht für Anmeldenamen für die Windows-Authentifizierung. Gibt die SID des neuen Anmeldenamens für die SQL Server-Authentifizierung an. Wenn diese Option nicht verwendet wird, weist SQL Server automatisch eine SID zu. Die SID-Struktur hängt von der SQL Server-Version ab. Bei SQL Analytics ist dies ein 32-Byte-Literalwert (binary(32) ), bestehend aus 0x01060000000000640000000000000000 plus 16 Bytes, die eine GUID darstellen. Beispiel: SID = 0x0106000000000064000000000000000014585E90117152449347750164BA00A7.

Bemerkungen

Anmeldungen

Die CREATE LOGIN-Anweisung muss die einzige Anweisung in einem Batch sein.

Beim Herstellen einer Verbindung mit Azure Synapse mithilfe von Tools wie z. B. sqlcmd müssen Sie den SQL Analytics-Servernamen mit der Notation <login>@<server> an den Anmeldenamen in der Verbindungszeichenfolge anfügen. Wenn Ihr Anmeldename beispielsweise login1 und der vollqualifizierte Name des SQL Analytics-Servers servername.database.windows.net lautet, sollte der Parameter username der Verbindungszeichenfolge login1@servername lauten. Da die Gesamtlänge des username-Parameters 128 Zeichen beträgt, ist login_name auf 127 Zeichen abzüglich der Länge des Servernamens beschränkt. Im Beispiel darf login_name nur 117 Zeichen lang sein, da servername 10 Zeichen enthält.

Um eine Anmeldung erstellen zu können, müssen Sie mit der Masterdatenbank verbunden sein.

Mithilfe von SQL Server-Regeln können Sie einen Anmeldenamen für die SQL Server-Authentifizierung im Format <loginname>@<servername> erstellen. Wenn der SQL Datenbank-Servername myazureserver und der Anmeldename myemail@live.com lauten, müssen Sie den Anmeldenamen als myemail@live.com@myazureserver bereitstellen.

Anmeldedaten, die für die Authentifizierung einer Verbindung und Firewallregeln auf Serverebene erforderlich sind, werden vorübergehend in jeder Datenbank gespeichert. Dieser Cache wird regelmäßig aktualisiert. Führen Sie DBCC FLUSHAUTHCACHE aus, um eine Aktualisierung des Authentifizierungscache zu erzwingen und sicherzustellen, dass eine Datenbank über die aktuelle Version der Tabelle mit Anmeldenamen verfügt.

Weitere Informationen zu Anmeldungen finden Sie unter Verwalten von Datenbanken und Anmeldungen.

Berechtigungen

Neue Anmeldenamen können nur mit den Anmeldenamen des Serverebenenprinzipals (im Bereitstellungsprozess erstellt) oder von Mitgliedern der loginmanager-Datenbankrolle in der Masterdatenbank erstellt werden. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter ALTER SERVER ROLE.

Nach dem Erstellen eines Anmeldenamens

Nach dem Erstellen einer Anmeldung kann diese eine Verbindung mit Azure Synapse herstellen, verfügt jedoch nur über die der Rolle public erteilten Berechtigungen. Ziehen Sie die Ausführung einiger der folgenden Aktivitäten in Betracht.

  • Erstellen Sie zum Herstellen einer Verbindung mit einer Datenbank einen Datenbankbenutzer für den Anmeldenamen. Weitere Informationen finden Sie unter CREATE USER (Transact-SQL).

  • Verwenden Sie für die Erteilung von Berechtigungen für einen Benutzer in einer Datenbank die Anweisung ALTER SERVER ROLE ... ADD MEMBER-Anweisung zum Hinzufügen des Benutzer zu einer der integrierten Datenbankrollen oder einer benutzerdefinierten Rolle oder zum Erteilen von Berechtigungen für den Benutzer über die direkte Verwendung der Anweisung GRANT. Weitere Informationen finden Sie unter Benutzer ohne Administratorrechte und in den Artikeln zu den Anweisungen Zusätzliche Administratorrollen auf Serverebene, ALTER SERVER ROLE- und GRANT-Anweisung.

  • Wenn Sie serverweite Berechtigungen erteilen möchten, erstellen Sie in der Masterdatenbank einen Datenbankbenutzer, und verwenden Sie die Anweisung ALTER SERVER ROLE ... ADD MEMBER-Anweisung zum Hinzufügen des Benutzers zu einer der administrativen Serverrollen. Weitere Informationen finden Sie unter Rollen auf Serverebene, ALTER SERVER ROLE und unter Serverrollen.

  • Gewähren Sie mit der GRANT-Anweisung Berechtigungen auf Serverebene für den neuen Anmeldenamen oder für eine Rolle, die den Anmeldenamen enthält. Weitere Informationen finden Sie unter GRANT.

Beispiele

A. Erstellen einer Anmeldung mit einem Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt, und es wird ein Kennwort zugewiesen.

CREATE LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';
GO

B. Erstellen eines Anmeldenamens aus einer SID

Im folgenden Beispiel wird ein Anmeldename für die SQL Server-Authentifizierung erstellt und die SID des Anmeldenamens festgelegt.

CREATE LOGIN TestLogin WITH PASSWORD = 'SuperSecret52&&';

SELECT name, sid FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Die Abfrage hier gibt 0x241C11948AEEB749B0D22646DB1A19F2 als SID zurück. Die Abfrage gibt einen anderen Wert zurück. Die folgenden Anweisungen löschen den Anmeldenamen und erstellen dann erneut die Anmeldung. Verwenden Sie die SID aus der vorherigen Abfrage.

DROP LOGIN TestLogin;
GO

CREATE LOGIN TestLogin
WITH PASSWORD = 'SuperSecret52&&', SID = 0x241C11948AEEB749B0D22646DB1A19F2;

SELECT * FROM sys.sql_logins WHERE name = 'TestLogin';
GO

Weitere Informationen

* Analytics
Platform System (PDW) *

 

Analyseplattformsystem

Syntax

-- Syntax for Analytics Platform System
CREATE LOGIN loginName { WITH <option_list1> | FROM WINDOWS }

<option_list1> ::=
    PASSWORD = { 'password' } [ MUST_CHANGE ]
    [ , <option_list> [ ,... ] ]

<option_list> ::=
      CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}

Argumente

login_name

Gibt den Anmeldenamen an, der erstellt wird. Es gibt vier Arten von Anmeldenamen: SQL Server-Anmeldungen, Windows-Anmeldenamen, Anmeldenamen mit zugeordneten Zertifikaten sowie Anmeldenamen mit zugeordneten asymmetrischen Schlüsseln. Wenn Sie Anmeldenamen erstellen, die von einem Windows-Domänenkonto zugeordnet werden, müssen Sie den Benutzeranmeldenamen einer Version vor Windows 2000 im Format [<domainName>\<login_name>] verwenden. Sie können keinen UPN im Format "login_name@DomainName" verwenden. Ein Beispiel hierzu finden Sie unter „Beispiel D“ weiter unten in diesem Artikel. Anmeldenamen für die Authentifizierung sind vom Typ sysname. Sie müssen den Regeln für Bezeichner entsprechen und dürfen keinen „ \ “ enthalten. Windows-Anmeldenamen können ' \ '-Zeichen enthalten. Anmeldenamen auf Grundlage von Active Directory-Benutzern sind auf Namen mit weniger als 21 Zeichen beschränkt.

PASSWORD ='password'

Gilt nur für SQL Server-Anmeldenamen. Gibt das Kennwort für den Anmeldenamen an, der erstellt wird. Verwenden Sie ein sicheres Kennwort. Weitere Informationen finden Sie unter Sichere Kennwörter und Kennwortrichtlinie. Ab SQL Server 2012 (11.x) werden gespeicherte Kennwortinformationen mithilfe der SHA-512-Komponente des mit Salt verschlüsselten Kennworts berechnet.

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden. Kennwörter sollten immer mindestens acht Zeichen lang sein und dürfen 128 Zeichen nicht überschreiten. Kennwörter dürfen a-z, A-Z, 0-9 und die meisten nicht alphanumerischen Zeichen einschließen. Kennwörter dürfen keine einfachen Anführungszeichen oder login_name enthalten.

MUST_CHANGE

Gilt nur für SQL Server-Anmeldenamen. Wenn diese Option angegeben wird, wird der Benutzer von SQL Server zur Eingabe eines neuen Kennworts aufgefordert, wenn der neue Anmeldename zum ersten Mal verwendet wird.

CHECK_EXPIRATION = { ON | OFF }

Gilt nur für SQL Server-Anmeldenamen. Gibt an, ob die Richtlinie für das Ablaufen von Kennwörtern für diesen Anmeldenamen erzwungen werden soll. Der Standardwert ist OFF.

CHECK_POLICY = { ON | OFF }

Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass die Windows-Kennwortrichtlinien des Computers, auf dem SQL Server ausgeführt wird, für diesen Anmeldenamen erzwungen werden sollen. Der Standardwert ist ON.

Wenn die Windows-Richtlinie sichere Kennwörter erfordert, müssen Kennwörter mindestens drei der folgenden vier Eigenschaften aufweisen:

  • Ein Großbuchstabe (A-Z).
  • Ein Kleinbuchstabe (a-z).
  • Eine Ziffer (0-9).
  • Ein nicht alphanumerisches Zeichen, z. B. ein Leerzeichen, _, @, *, ^,%, !, $, # oder &.

WINDOWS

Gibt an, dass der Anmeldename einem Windows-Anmeldenamen zugeordnet wird.

Bemerkungen

  • Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.
  • Falls MUST_CHANGE angegeben wird, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON festgelegt werden. Andernfalls erzeugt die Anweisung einen Fehler.
  • Die Kombination aus CHECK_POLICY = OFF und CHECK_EXPIRATION = ON wird nicht unterstützt.
  • Wenn CHECK_POLICY auf OFF festgelegt ist, wird lockout_time zurückgesetzt, und CHECK_EXPIRATION wird auf OFF festgelegt.

Wichtig

CHECK_EXPIRATION und CHECK_POLICY werden nur unter Windows Server 2003 und höher erzwungen. Weitere Informationen finden Sie unter Password Policy.

Berechtigungen

Nur Benutzer mit ALTER ANY LOGIN-Berechtigung auf dem Server oder einer Mitgliedschaft bei der festen Serverrolle securityadmin können Anmeldenamen erstellen. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter ALTER SERVER ROLE.

Nach dem Erstellen eines Anmeldenamens

Nach dem Erstellen einer Anmeldung kann diese eine Verbindung mit Azure Synapse Analytics herstellen, verfügt jedoch nur über die der Rolle public erteilten Berechtigungen. Ziehen Sie die Ausführung einiger der folgenden Aktivitäten in Betracht.

  • Erstellen Sie zum Herstellen einer Verbindung mit einer Datenbank einen Datenbankbenutzer für den Anmeldenamen. Weitere Informationen finden Sie unter CREATE USER (Transact-SQL).
  • Erstellen sie eine benutzerdefinierte Serverrolle mit CREATE SERVER ROLE. Verwenden Sie ALTER SERVER ROLE ... ADD MEMBER, um der benutzerdefinierten Serverrolle den neuen Anmeldenamen hinzuzufügen. Weitere Informationen finden Sie unter CREATE SERVER ROLE und unter ALTER SERVER ROLE.
  • Fügen Sie den Anmeldenamen mit sp_addsrvrolemember einer festen Serverrolle hinzu. Weitere Informationen finden Sie unter Rollen auf Serverebene und unter sp_addsrvrolemember.
  • Gewähren Sie mit der GRANT-Anweisung Berechtigungen auf Serverebene für den neuen Anmeldenamen oder für eine Rolle, die den Anmeldenamen enthält. Weitere Informationen finden Sie unter GRANT.

Beispiele

G. Erstellen einer SQL Server-Authentifizierungsanmeldung mit einem Kennwort

Im folgenden Beispiel wird der Anmeldename Mary7 mit dem Kennwort A2c3456 erstellt.

CREATE LOGIN Mary7 WITH PASSWORD = 'A2c3456$#' ;

H. Using-Optionen

Im folgenden Beispiel wird der Anmeldename Mary8 mit Kennwörtern und einigen optionalen Argumenten erstellt.

CREATE LOGIN Mary8 WITH PASSWORD = 'A2c3456$#' MUST_CHANGE,
CHECK_EXPIRATION = ON,
CHECK_POLICY = ON;

I. Erstellen eines Anmeldenamens von einem Windows-Domänenkonto

Im folgenden Beispiel wird ein Anmeldename von einem Windows-Domänenkonto mit dem Namen Mary in der Domäne Contoso erstellt.

CREATE LOGIN [Contoso\Mary] FROM WINDOWS;
GO

Weitere Informationen