為當(dāng)前數(shù)據(jù)庫(kù)中的新用戶添加安全帳戶。包括此過(guò)程是為了向后兼容。請(qǐng)使用 sp_grantdbaccess。
sp_adduser [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'user' ]
[ , [ @grpname = ] 'group' ]
[@loginame =] 'login'
用戶的登錄名稱。login 的數(shù)據(jù)類型是 sysname,沒(méi)有默認(rèn)值。login 必須是現(xiàn)有 Microsoft? SQL Server? 登錄或 Microsoft Windows NT? 用戶。
[@name_in_db =] 'user'
新用戶的名稱。user 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。如果沒(méi)有指定 user,則用戶的名稱默認(rèn)為 login 名稱。指定 user 即為新用戶在數(shù)據(jù)庫(kù)中給予一個(gè)不同于 SQL Server 上的登錄 ID 的名稱。
[@grpname =] 'group'
組或角色,新用戶自動(dòng)地成為其成員。group 的數(shù)據(jù)類型為 sysname,默認(rèn)值為 NULL。group 必須是當(dāng)前數(shù)據(jù)庫(kù)中有效的組或角色。Microsoft SQL Server 7.0 使用角色而不是組。
0(成功)或 1(失?。?/P>
SQL Server 用戶名可以包含 1 到 128 個(gè)字符,包括字母、符號(hào)和數(shù)字。但是,用戶名不能:
在添加完用戶之后,可以使用 GRANT、DENY 和 REVOKE 語(yǔ)句來(lái)定義權(quán)限,這些權(quán)限控制著用戶進(jìn)行的活動(dòng)。
使用 sp_helplogin 可顯示有效登錄名的列表。
使用 sp_helprole 可顯示有效角色名的列表。當(dāng)指定一個(gè)角色時(shí),用戶會(huì)自動(dòng)地獲得為該角色定義的那些權(quán)限。如果沒(méi)有指定角色,則用戶獲得的權(quán)限將是授予默認(rèn) public 角色的權(quán)限。若要將用戶添加到角色,必須提供 username 的值(username 可與 login_id 相同)。
為了訪問(wèn)數(shù)據(jù)庫(kù),必須使用 sp_adduser 或 sp_grantdbaccess 對(duì)登錄授予訪問(wèn)權(quán),或者數(shù)據(jù)庫(kù)中必須存在 guest 安全帳戶。
不能在用戶定義的事務(wù)內(nèi)執(zhí)行 sp_adduser。
只有 sysadmin 固定服務(wù)器角色的 dbo 和成員才能執(zhí)行 sp_adduser。
下面的示例使用現(xiàn)有的登錄 Victoria,將用戶 Victoria 添加到當(dāng)前數(shù)據(jù)庫(kù)中現(xiàn)有的 fort_mudge 角色中。
EXEC sp_adduser 'Victoria', 'Victoria', 'fort_mudge'
下面的示例為登錄 Margaret 將默認(rèn)用戶名 Margaret 添加到當(dāng)前數(shù)據(jù)庫(kù),該用戶名屬于默認(rèn)的 public 角色。
EXEC sp_adduser 'Margaret'
下面的示例將 Haroldq 登錄添加到當(dāng)前的數(shù)據(jù)庫(kù)中并使用 Harold 用戶名,該用戶名屬于 fort_mudge 角色。
EXEC sp_adduser 'Haroldq', 'Harold', 'fort_mudge'
相關(guān)文章