為當前數據庫中的新用戶添加安全帳戶。包括此過程是為了向後兼容。請使用 sp_grantdbAccess。
sp_adduser [ @loginame = ] ''login''
[ , [ @name_in_db = ] ''user'' ]
[ , [ @grpname = ] ''group'' ]
[@loginame =] ''login''
用戶的登錄名稱。login 的數據類型是 sysname,沒有默認值。login 必須是現有 Microsoft® SQL Server™ 登錄或 Microsoft Windows NT® 用戶。
[@name_in_db =] ''user''
新用戶的名稱。user 的數據類型為 sysname,其默認值為 NULL。如果沒有指定 user,則用戶的名稱默認為 login 名稱。指定 user 即為新用戶在數據庫中給予一個不同於 SQL Server 上的登錄 ID 的名稱。
[@grpname =] ''group''
組或角色,新用戶自動地成為其成員。group 的數據類型為 sysname,默認值為 NULL。group 必須是當前數據庫中有效的組或角色。Microsoft SQL Server 7.0 使用角色而不是組。
0(成功)或 1(失敗)
SQL Server 用戶名可以包含 1 到 128 個字符,包括字母、符號和數字。但是,用戶名不能:
在添加完用戶之後,可以使用 GRANT、DENY 和 REVOKE 語句來定義權限,這些權限控制著用戶進行的活動。
使用 sp_helplogin 可顯示有效登錄名的列表。
使用 sp_helprole 可顯示有效角色名的列表。當指定一個角色時,用戶會自動地獲得為該角色定義的那些權限。如果沒有指定角色,則用戶獲得的權限將是授予默認 public 角色的權限。若要將用戶添加到角色,必須提供 username 的值(username 可與 login_id 相同)。
為了訪問數據庫,必須使用 sp_adduser 或 sp_grantdbAccess 對登錄授予訪問權,或者數據庫中必須存在 guest 安全帳戶。
不能在用戶定義的事務內執行 sp_adduser。
只有 sysadmin 固定服務器角色的 dbo 和成員才能執行 sp_adduser。
sp_addrole
sp_dropuser
sp_grantdbAccess
sp_grantlogin
sp_helpuser