SUSER_SID (Transact-SQL)
指定されたログイン名のセキュリティ ID 番号 (SID) を返します。
構文
SUSER_SID ( [ 'login' ] )
引数
'login'
ユーザーのログイン名です。login は sysname であり、省略可能です。login には、Microsoft SQL Server ログイン、あるいは Microsoft Windows ユーザーまたはグループを指定できます。login の指定を省略すると、現在のセキュリティ コンテキストについての情報が返されます。
戻り値の型
varbinary(85)
解説
SUSER_SID は、ALTER TABLE または CREATE TABLE の中で、DEFAULT 制約として使用できます。SUSER_SID は、選択リストの中、WHERE 句の中、また、式を使える所ならどこにでも使用できます。SUSER_SID の後には、パラメータを指定しない場合も含め、常にかっこが必要です。
SUSER_SID を引数なしで呼び出すと、現在のセキュリティ コンテキストの SID が返されます。EXECUTE AS を使用してコンテキストを切り替えたバッチ内で SUSER_SID を引数なしで呼び出すと、権限を借用したコンテキストの SID が返されます。権限を借用したコンテキストから SUSER_SID(ORIGINAL_LOGIN())
を呼び出すと、元のコンテキストの SID が返されます。
例
A. SUSER_SID を使用する
次の例では、SQL Server における sa
というログインのセキュリティ ID 番号を返します。
SELECT SUSER_SID('sa');
GO
B. SUSER_SID を Windows ユーザー名と共に使用する
次の例では、Windows ユーザーである London\Workstation1
のセキュリティ ID 番号を返します。
SELECT SUSER_SID('London\Workstation1');
GO
C. SUSER_SID を DEFAULT 制約として使用する
次の例では、CREATE TABLE
ステートメントで SUSER_SID
を DEFAULT
制約として使用しています。
USE AdventureWorks;
GO
CREATE TABLE sid_example
(
login_sid varbinary(85) DEFAULT SUSER_SID(),
login_name varchar(30) DEFAULT SYSTEM_USER,
login_dept varchar(10) DEFAULT 'SALES',
login_date datetime DEFAULT GETDATE()
)
GO
INSERT sid_example DEFAULT VALUES
GO
参照
関連項目
ORIGINAL_LOGIN (Transact-SQL)
CREATE TABLE (Transact-SQL)
binary と varbinary (Transact-SQL)
システム関数 (Transact-SQL)