SUSER_SNAME (Transact-SQL)SUSER_SNAME (Transact-SQL)

Gilt für: JaSQL Server JaAzure SQL-Datenbank JaAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Gibt den einer Sicherheits-ID (SID) zugeordneten Anmeldenamen zurück.Returns the login name associated with a security identification number (SID).

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

SUSER_SNAME ( [ server_user_sid ] )   

ArgumenteArguments

server_user_sidserver_user_sid
Gilt für: SQL Server 2008SQL Server 2008 und höherApplies to: SQL Server 2008SQL Server 2008 and later

Entspricht der optionalen Anmeldesicherheits-ID.Is the optional login security identification number. server_user_sid ist varbinary(85) .server_user_sid is varbinary(85). server_user_sid kann der Sicherheits-ID einer beliebigen SQL ServerSQL Server-Anmeldung oder eines MicrosoftMicrosoft-Windows-Benutzers bzw. einer -Gruppe entsprechen.server_user_sid can be the security identification number of any SQL ServerSQL Server login or MicrosoftMicrosoft Windows user or group. Wenn server_user_sid nicht angegeben ist, werden Informationen zum aktuellen Benutzer zurückgegeben.If server_user_sid is not specified, information about the current user is returned. Wenn der Parameter das Wort NULL enthalten ist, wird NULL zurückgegeben.If the parameter contains the word NULL will return NULL.

RückgabetypenReturn Types

nvarchar(128)nvarchar(128)

BemerkungenRemarks

SUSER_SNAME kann als DEFAULT-Einschränkung in ALTER TABLE oder CREATE TABLE verwendet werden.SUSER_SNAME can be used as a DEFAULT constraint in either ALTER TABLE or CREATE TABLE. SUSER_SNAME kann in einer Auswahlliste, in einer WHERE-Klausel und überall dort verwendet werden, wo ein Ausdruck zulässig ist.SUSER_SNAME can be used in a select list, in a WHERE clause, and anywhere an expression is allowed. SUSER_SNAME muss immer von Klammern gefolgt sein, selbst wenn kein Parameter angegeben wird.SUSER_SNAME must always be followed by parentheses, even if no parameter is specified.

Wenn SUSER_SNAME ohne Argument aufgerufen wird, wird der Name des aktuellen Sicherheitskontexts zurückgegeben.When called without an argument, SUSER_SNAME returns the name of the current security context. Wenn SUSER_SNAME ohne Argument innerhalb eines Batches aufgerufen wird, der den Kontext mithilfe von EXECUTE AS gewechselt hat, wird der Name des Kontexts zurückgegeben, dessen Identität angenommen wurde.When called without an argument within a batch that has switched context by using EXECUTE AS, SUSER_SNAME returns the name of the impersonated context. Wenn ORIGINAL_LOGIN aus einem Kontext aufgerufen wird, dessen Identität angenommen wurde, wird der Name des ursprünglichen Kontexts zurückgegeben.When called from an impersonated context, ORIGINAL_LOGIN returns the name of the original context.

Hinweise zu Azure SQL-DatenbankAzure SQL DatabaseAzure SQL-DatenbankAzure SQL Database Remarks

SUSER_NAME gibt stets den Anmeldenamen für den aktuellen Sicherheitskontext zurück.SUSER_NAME always return the login name for the current security context.

Die SUSER_SNAME-Anweisung unterstützt nicht die Ausführung mit einem Sicherheitskontext, dessen Identität angenommen wird, durch EXECUTE AS.The SUSER_SNAME statement does not support execution using an impersonated security context through EXECUTE AS.

BeispieleExamples

A.A. Verwenden von SUSER_SNAMEUsing SUSER_SNAME

Im folgenden Beispiel wird der Anmeldename für den aktuellen Sicherheitskontext zurückgegeben.The following example returns the login name for the current security context.

SELECT SUSER_SNAME();  
GO  

B.B. Verwenden von SUSER_SNAME mit der Sicherheits-ID eines Windows-BenutzersUsing SUSER_SNAME with a Windows user security ID

Im folgenden Beispiel wird der einer Windows-Sicherheits-ID zugeordnete Anmeldename zurückgegeben.The following example returns the login name associated with a Windows security identification number.

Gilt für: SQL Server 2008SQL Server 2008 und höherApplies to: SQL Server 2008SQL Server 2008 and later

SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);  
GO  

C.C. Verwenden von SUSER_SNAME als DEFAULT-EinschränkungUsing SUSER_SNAME as a DEFAULT constraint

Im folgenden Beispiel wird SUSER_SNAME als DEFAULT-Einschränkung in einer CREATE TABLE-Anweisung verwendet.The following example uses SUSER_SNAME as a DEFAULT constraint in a CREATE TABLE statement.

USE AdventureWorks2012;  
GO  
CREATE TABLE sname_example  
(  
login_sname sysname DEFAULT SUSER_SNAME(),  
employee_id uniqueidentifier DEFAULT NEWID(),  
login_date  datetime DEFAULT GETDATE()  
);   
GO  
INSERT sname_example DEFAULT VALUES;  
GO  

D:D. Aufrufen von SUSER_SNAME in Verbindung mit EXECUTE ASCalling SUSER_SNAME in combination with EXECUTE AS

Dieses Beispiel zeigt das Verhalten von SUSER_SNAME beim Aufrufen aus einem Kontext, dessen Identität angenommen wurde.This example shows the behavior of SUSER_SNAME when called from an impersonated context.

Gilt für: SQL Server 2008SQL Server 2008 und höherApplies to: SQL Server 2008SQL Server 2008 and later

SELECT SUSER_SNAME();  
GO  
EXECUTE AS LOGIN = 'WanidaBenShoof';  
SELECT SUSER_SNAME();  
REVERT;  
GO  
SELECT SUSER_SNAME();  
GO  
  

Im Folgenden wird das Ergebnis aufgeführt:Here is the result.

sa  
WanidaBenShoof  
sa

Beispiele: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL DW) und Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL Data Warehouse)Azure Synapse Analytics (SQL DW) and Parallel Data WarehouseParallel Data Warehouse

E.E. Verwenden von SUSER_SNAMEUsing SUSER_SNAME

Im folgenden Beispiel wird der Anmeldename für die Sicherheits-ID mit einem Wert von 0x01 zurückgegeben.The following example returns the login name for the security identification number with a value of 0x01.

SELECT SUSER_SNAME(0x01);  
GO  

F.F. Zurückgeben der aktuellen AnmeldungReturning the Current Login

Das folgende Beispiel gibt den Anmeldenamen der aktuellen Anmeldung zurück.The following example returns the login name of the current login.

SELECT SUSER_SNAME() AS CurrentLogin;  
GO  

Weitere InformationenSee Also

SUSER_SID (Transact-SQL) SUSER_SID (Transact-SQL)
Prinzipale (Datenbank-Engine) Principals (Database Engine)
sys.server_principals (Transact-SQL) sys.server_principals (Transact-SQL)
EXECUTE AS (Transact-SQL)EXECUTE AS (Transact-SQL)