USER_ID (Transact-SQL)
返回数据库用户的标识号。
重要提示 |
---|
后续版本的 Microsoft SQL Server 将删除该功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 改用 DATABASE_PRINCIPAL_ID。 |
语法
USER_ID ( [ 'user' ] )
参数
- 'user'
要使用的用户名。user 的数据类型为 nchar。如果指定的是 char 类型的值,则将其隐式转换为 nchar。需要使用括号。
返回类型
int
注释
当省略 user 时,则假定为当前用户。当在 EXECUTE AS 之后调用 USER_ID 时,USER_ID 将返回模拟上下文的 ID。
当未映射到特定数据库用户的 Windows 主体使用组成员身份访问数据库时,USER_ID 将返回 0(public 的 ID)。如果这样的主体在不指定架构的情况下创建对象,则 SQL Server 将创建映射到 Windows 主体的隐式用户和架构。在这些情况下创建的用户不能用来连接到数据库。映射到隐式用户的 Windows 主体调用 USER_ID 将返回该隐式用户的 ID。
USER_ID 可以在选择列表、WHERE 子句和任何允许使用表达式的地方使用。有关详细信息,请参阅表达式(Transact-SQL)。
示例
以下示例返回 AdventureWorks 用户 Harold 的标识号。
USE AdventureWorks;
SELECT USER_ID('Harold');
GO