為 Microsoft® SQL Server™ 登錄或 Microsoft Windows NT® 用戶(hù)或組在當(dāng)前數(shù)據(jù)庫(kù)中添加一個(gè)安全帳戶(hù),并使其能夠被授予在數(shù)據(jù)庫(kù)中執(zhí)行活動(dòng)的權(quán)限。
sp_grantdbaccess [@loginame =] 'login'
[,[@name_in_db =] 'name_in_db' [OUTPUT]]
[@loginame =] 'login'
當(dāng)前數(shù)據(jù)庫(kù)中新安全帳戶(hù)的登錄名稱(chēng)。Windows NT 組和用戶(hù)必須用 Windows NT 域名限定,格式為"域\用戶(hù)",例如 LONDON\Joeb。登錄不能使用數(shù)據(jù)庫(kù)中已有的帳戶(hù)作為別名。login 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。
[@name_in_db =] 'name_in_db' [OUTPUT]
數(shù)據(jù)庫(kù)中帳戶(hù)的名稱(chēng)。name_in_db 是 sysname 類(lèi)型的 OUTPUT 變量,默認(rèn)值為 NULL。如果沒(méi)有指定,則使用 login。如果將其指定為 NULL 值的 OUTPUT 變量,則設(shè)置 @name_in_db 為 login。當(dāng)前數(shù)據(jù)庫(kù)不必存在 name_in_db。
0(成功)或 1(失?。?/P>
SQL Server 用戶(hù)名可以包含 1 到 128 個(gè)字符,包括字母、符號(hào)和數(shù)字。但是,用戶(hù)名不能:
在使用安全帳戶(hù)訪問(wèn)數(shù)據(jù)庫(kù)之前,必須授予它對(duì)當(dāng)前數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)。使用 sp_grantdbaccess 僅可以管理當(dāng)前數(shù)據(jù)庫(kù)中的帳戶(hù)。若要從數(shù)據(jù)庫(kù)中刪除帳戶(hù),請(qǐng)使用 sp_revokedbaccess。
如果當(dāng)前數(shù)據(jù)庫(kù)中沒(méi)有 guest 安全帳戶(hù),而且 login 為 guest,則可以添加 guest 的安全帳戶(hù)。
sa 登錄不能添加到數(shù)據(jù)庫(kù)中。
不能從用戶(hù)定義的事務(wù)中執(zhí)行 sp_grantdbaccess。
只有 sysadmin 固定服務(wù)器角色、db_accessadmin 和 db_owner 固定數(shù)據(jù)庫(kù)角色的成員才能執(zhí)行 sp_grantdbaccess。
下面的示例在當(dāng)前數(shù)據(jù)庫(kù)中為 Windows NT 用戶(hù) Corporate\GeorgeW 添加帳戶(hù),并取名為 Georgie。
EXEC sp_grantdbaccess 'Corporate\GeorgeW', 'Georgie'
相關(guān)文章