在數(shù)據(jù)庫中,把登錄映射到用戶。為向后兼容性提供 sp_addalias。Microsoft® SQL Server™ 7.0 版提供角色,并提供向角色授予權(quán)限的能力,作為使用別名的另一種方法。
sp_addalias [ @loginame = ] 'login'
,
[ @name_in_db = ] 'alias_user'
[ @loginame = ] 'login'
準(zhǔn)備化名的登錄名。login 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)設(shè)置。login 必須是有效的 SQL Server 登錄名或是具有連接 SQL Server 權(quán)限的 Microsoft Windows NT® 用戶。login不得已經(jīng)存在,也不能化名為數(shù)據(jù)庫中的已有用戶。
[ @name_in_db = ] 'alias_user'
登錄映射到的用戶名稱。alias_user 的數(shù)據(jù)類型為 sysname,沒有默認(rèn)設(shè)置。alias_user 必須是數(shù)據(jù)庫中有效的 Windows NT 或 SQL Server 用戶,在該數(shù)據(jù)庫中登錄使用別名。指定 Windows NT 用戶時(shí),請(qǐng)指定 Windows NT 用戶在數(shù)據(jù)庫中已知的名稱(用 sp_grantdbaccess 添加)。
0(成功)或 1(失敗)
可以映射到任何數(shù)據(jù)庫的用戶的登錄。只能在用戶必須使用別名的數(shù)據(jù)庫中執(zhí)行 sp_addalias。當(dāng)用戶用 login 連接到 SQL Server 時(shí),用戶可以在適用于 alias_user 的權(quán)限下,在數(shù)據(jù)庫中執(zhí)行活動(dòng)。
說明 sa 登錄不能用別名。
在下列情況下,登錄可以使用數(shù)據(jù)庫:
不能在用戶定義事務(wù)處理中執(zhí)行 sp_addalias。
以下顯示幾個(gè)與 sp_addalias 一同使用的系統(tǒng)存儲(chǔ)過程。
存儲(chǔ)過程 | 描述 |
---|---|
sp_helplogins | 返回有效 login 值的列表。 |
sp_helpuser | 返回?cái)?shù)據(jù)庫中有效alias_user 值的列表,在該數(shù)據(jù)庫中要使用登錄。 |
sp_dropalias | 刪除一項(xiàng)別名映射。 |
只有 sysadmin 固定服務(wù)器角色成員和 db_accessadmin 及 db_owner 固定數(shù)據(jù)庫角色成員才能執(zhí)行 sp_addalias。
下面的示例允許 SQL Server 登錄 Victoria(它不是當(dāng)前數(shù)據(jù)庫的一個(gè)用戶)以便將當(dāng)前數(shù)據(jù)庫和別名 Victoria 用到一個(gè)當(dāng)前數(shù)據(jù)庫已經(jīng)存在的用戶 (Albert) 中。
EXEC sp_addalias 'Victoria', 'Albert'
相關(guān)文章