Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Sistema di Piattaforma di Analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Warehouse in Microsoft Fabric
Anteprima di Database SQL in Microsoft Fabric
Restituisce il nome dell'account di accesso associato a un ID di sicurezza (SID).
Convenzioni relative alla sintassi Transact-SQL
Sintassi
SUSER_SNAME ( [ server_user_sid ] )
Argomenti
server_user_sid
Numero di identificazione di sicurezza dell'account di accesso facoltativo.
server_user_sid è di tipo varbinary(85).
server_user_sid può essere l'ID di sicurezza (SID) di qualsiasi account di accesso di SQL Server o di qualsiasi utente o gruppo di Microsoft Windows. Fare riferimento alla sid colonna nelle sys.server_principals viste del catalogo o sys.sql_logins . Se server_user_sid non viene specificato, vengono restituite informazioni sull'utente corrente. Se il parametro contiene la parola NULL, SUSER_SNAME restituisce NULL.
server_user_sid non è supportato nel database SQL di Azure o nel database SQL in Anteprima di Microsoft Fabric.
Tipo restituito
nvarchar(128)
Osservazioni:
SUSER_SNAME può essere usato come DEFAULT vincolo in ALTER TABLE o CREATE TABLE.
SUSER_SNAME può essere usato in un elenco di selezione, in una WHERE clausola e ovunque sia consentita un'espressione.
SUSER_SNAME deve essere sempre seguita da parentesi, anche se non viene specificato alcun parametro.
Quando viene chiamato senza un argomento, SUSER_SNAME restituisce il nome del contesto di sicurezza corrente. Quando viene chiamato senza un argomento all'interno di un batch che ha cambiato contesto tramite EXECUTE AS, SUSER_SNAME restituisce il nome del contesto rappresentato. Quando viene chiamato da un contesto rappresentato, ORIGINAL_LOGIN restituisce il nome del contesto originale.
Osservazioni per il database SQL di Azure, il database SQL in Fabric
SUSER_SNAME restituisce sempre il nome dell'account di accesso per il contesto di sicurezza corrente.
L'istruzione SUSER_SNAME non supporta l'esecuzione usando un contesto di sicurezza rappresentato tramite EXECUTE AS.
SUSER_SNAME non supporta l'argomento server_user_id .
Esempi
R. Usare SUSER_SNAME
Nell'esempio seguente viene restituito il nome dell'account di accesso per il contesto di sicurezza corrente.
SELECT SUSER_SNAME();
GO
B. Usare SUSER_SNAME con un ID di sicurezza utente di Windows
Nell'esempio seguente viene restituito il nome dell'account di accesso associato a un ID di sicurezza di Windows.
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000);
GO
C. Usare SUSER_SNAME come vincolo DEFAULT
Nell'esempio seguente viene SUSER_SNAME usato come DEFAULT vincolo in un'istruzione CREATE TABLE .
USE AdventureWorks2022;
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. Chiamare SUSER_SNAME in combinazione con EXECUTE AS
In questo esempio viene illustrato il comportamento di SUSER_SNAME quando viene chiamato da un contesto rappresentato.
SELECT SUSER_SNAME();
GO
EXECUTE AS LOGIN = 'WanidaBenShoof';
SELECT SUSER_SNAME();
REVERT;
GO
SELECT SUSER_SNAME();
GO
Questo è il risultato.
sa
WanidaBenShoof
sa
Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)
E. Usare SUSER_SNAME
Nell'esempio seguente viene restituito il nome dell'account di accesso corrispondente all'ID di sicurezza 0x01.
SELECT SUSER_SNAME(0x01);
GO
F. Restituire l'account di accesso corrente
L'esempio seguente restituisce il nome dell'account di accesso corrente.
SELECT SUSER_SNAME() AS CurrentLogin;
GO