Freigeben über


ANWENDUNGSROLLE ERSTELLEN (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Fügt der aktuellen Datenbank eine Anwendungsrolle hinzu.

Transact-SQL-Syntaxkonventionen

Syntax

CREATE APPLICATION ROLE application_role_name
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

Argumente

application_role_name

Gibt den Namen der Anwendungsrolle an. Dieser Name darf nicht bereits als Verweis auf einen Prinzipal in der Datenbank verwendet werden.

PASSWORD = 'Kennwort'

Gibt das Kennwort an, mit dem Datenbankbenutzer die Anwendungsrolle aktivieren. Es sollten immer sichere Kennwörter verwendet werden. password muss die Windows-Kennwortrichtlinienanforderungen des Computers erfüllen, auf dem die Instanz von SQL Server ausgeführt wird.

DEFAULT_SCHEMA = schema_name

Gibt das erste Schema an, das vom Server beim Auflösen der Objektnamen für diese Rolle durchsucht wird. Wenn DEFAULT_SCHEMA nicht definiert ist, wird die Anwendungsrolle als Standardschema verwendet dbo . schema_name kann ein Schema sein, das in der Datenbank nicht vorhanden ist.

Bemerkungen

Wichtig

Beim Festlegen von Kennwörtern für Anwendungsrollen wird die Kennwortkomplexität überprüft. Anwendungen, die Anwendungsrollen aufrufen, müssen ihre Kennwörter speichern. Kennwörter für Anwendungsrollen sollten immer verschlüsselt gespeichert werden.

Anwendungsrollen werden in der sys.database_principals-Katalogsicht angezeigt.

Weitere Informationen hierzu finden Sie unter Anwendungsrollen.

Hinweis

Schemas entsprechen nicht datenbankbenutzern. Verwenden Sie Systemkatalogansichten , um unterschiede zwischen Datenbankbenutzern und Schemas zu identifizieren.

Ab SQL Server 2012 (11.x) verwendet SQL Server und Azure SQL DB einen SHA-512-Hash in Kombination mit einem zufälligen und eindeutigen Salz von 32 Bit. Diese Methode machte es statistisch unzumutbar, dass Angreifer Kennwörter ableiten können.

SQL Server 2025 (17.x) führt einen iterierten Hashalgorithmus ein, RFC2898, auch bekannt als kennwortbasierte Schlüsselableitungsfunktion (PBKDF). Dieser Algorithmus verwendet weiterhin SHA-512, aber hashet das Kennwort mehrmals (100.000 Iterationen), was brute-force-Angriffe erheblich verlangsamt. Diese Änderung verbessert den Kennwortschutz als Reaktion auf sich entwickelnde Sicherheitsbedrohungen und hilft Kunden, NIST SP 800-63b-Richtlinien einzuhalten. Diese Sicherheitsverbesserung verwendet einen stärkeren Hashingalgorithmus, der die Anmeldezeit für SQL-Authentifizierungsanmeldungen leicht erhöhen kann. Die Auswirkung ist in Umgebungen mit Verbindungspooling im Allgemeinen niedriger, kann aber in Szenarien ohne Pooling oder bei der eng überwachten Anmeldelatenz spürbarer sein.

Berechtigungen

Erfordert die ALTER ANY APPLICATION ROLE-Berechtigung in der Datenbank.

Beispiele

Im folgenden Beispiel wird eine Anwendungsrolle mit dem Namen weekly_receipts erstellt, die das Kennwort 987Gbv876sPYY5m23 und das Standardschema Sales besitzt.

CREATE APPLICATION ROLE weekly_receipts
    WITH PASSWORD = '987G^bv876sPY)Y5m23'
    , DEFAULT_SCHEMA = Sales;
GO