從用戶的安全標識號 (SID) 返回登錄標識名。
SUSER_SNAME ( [ server_user_sid ] )
server_user_sid
是用戶的安全標識號。server_user_sid(可選)的數(shù)據(jù)類型為 varbinary(85),可以是任何 Microsoft® SQL Server™ 登錄或 Microsoft Windows NT® 用戶或組的安全標識號。如果未指定 server_user_sid,則返回有關(guān)當(dāng)前用戶的信息。
nvarchar(256)
當(dāng)使用 SQL Server 身份驗證指定 SQL Server 登錄時,必須授予用戶連接到 SQL Server 的權(quán)限。使用 sp_addlogin 或 SQL Server 企業(yè)管理器授予該權(quán)限。但是,當(dāng)使用 Windows 身份驗證指定 Windows NT 用戶或組時,不必授予該用戶或組連接到 SQL Server 的權(quán)限。
SUSER_SNAME 在 ALTER TABLE 或 CREATE TABLE 中可用作 DEFAULT 約束。
系統(tǒng)函數(shù)可以在選擇列表、WHERE 子句和任何允許使用表達式的地方使用,并且后面必須始終有圓括號(即使未指定任何參數(shù))。
下例返回值為 0x01 的安全標識號的登錄名。
SELECT SUSER_SNAME(0x01)
下例返回(通過使用 SUSER_SID 獲得的)Windows NT 用戶安全標識號的登錄名。
SELECT SUSER_SNAME(0x010500000000000515000000a065cf7e784b9b5fe77c87705a2e0000)
下例在 CREATE TABLE 語句中將 SUSER_SNAME 用作 DEFAULT 約束。
USE pubs
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
相關(guān)文章