SUSER_NAME (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed InstanceAzure Synapse Analytics (サーバーレス SQL プールのみ)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric の Warehouse

ユーザーのログイン識別名を返します。

Transact-SQL 構文表記規則

構文

SUSER_NAME ( [ server_user_id ] )

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

server_user_id

ユーザーのログイン ID 番号です。 server_user_id (省略可能) は int です。server_user_id には、SQL Server ログインのログイン識別番号か、SQL Server のインスタンスに接続するためのアクセス許可を持つ Windows ユーザーまたはグループを使用できます。 server_user_id が指定されていない場合は、現在のユーザーのログイン識別名が返されます。 パラメーターに NULL という語が含まれていると、NULL が返されます。

の戻り値の型 :

nvarchar(128)

注釈

SUSER_NAME では、sys.server_principals または sys.sql_logins カタログ ビュー にエントリがあるログインに対してのみログイン名が返されます。

SUSER_NAME は、選択リストの中、WHERE 句の中、また式を使える所ならどこにでも使用できます。 パラメーターが指定されていない場合でも、SUSER_NAME の後に括弧を使用します。

注意

SUSER_NAME 関数は Azure SQL Database でサポートされていますが、SUSER_NAME と一緒に EXECUTE AS を使用することは Azure SQL Database ではサポートされていません。

A. SUSER_NAME を使用する

次の例では、ログイン識別番号 1 のユーザーのログイン識別名を返します。

SELECT SUSER_NAME(1);

B. ID を指定せずに SUSER_NAME を使用する

次の例では、ID を指定せずに、現在のユーザーの名前を検索します。

SELECT SUSER_NAME();  
GO  

SQL Server では、Microsoft Entra ID 認証ログインの結果セットを次に示します。

contoso\username  

Azure SQL Database と Microsoft Fabric では、Microsoft Entra ID 認証ログインの結果セットは次のとおりです。

username@contoso.com