SUSER_SID (Transact-SQL)
返回指定登录名的安全标识号 (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
登录名的安全标识号。
SELECT SUSER_SID('sa');
GO
B. 对 Windows 用户名使用 SUSER_SID
以下示例返回 Windows 用户 London\Workstation1
的安全标识号。
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)