sp_addalias (Transact-SQL)
將登入對應至資料庫中的使用者。
重要事項: |
---|
提供 sp_addalias 的目的,是為了與舊版 SQL Server 相容。下一版的 Microsoft SQL Server 將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 SQL Server 2005 Database Engine 是使用別名的另一個方法,它會提供角色,以及授權給角色的能力。如需詳細資訊,請參閱<CREATE USER (Transact-SQL)>和<CREATE ROLE (Transact-SQL)>。 |
語法
sp_addalias [ @loginame = ] 'login' , [ @name_in_db = ] 'alias_user'
引數
- [ @loginame = ] 'login'
這是別名要被指派到的登入名稱。login 是 sysname,沒有預設值。login 必須是有效的 SQL Server 登入,或是有權連接 SQL Server 執行個體的 Microsoft Windows 使用者。login 不能預先存在,也不能被當作別名,指派給資料庫中現有的使用者。
- [ @name_in_db = ] 'alias_user'
這是登入被對應至的使用者名稱。alias_user 是 sysname,沒有預設值。alias_user 必須是有登入別名之資料庫的使用者當您對應至 Windows 使用者時,請指定它在資料庫所用的名稱。
傳回碼值
0 (成功) 或 1 (失敗)
備註
登入可以對應至任何資料庫中的使用者。請只在使用者必須具有別名的資料庫中,執行 sp_addalias。當使用者使用 login 參數,連接到 Database Engine 的執行個體時,可以利用套用至 alias_user 的權限,在資料庫中執行活動。
附註: |
---|
您不可以為 sa 登入建立別名。 |
登入可以在下列情況下存取資料庫:
- 登入在資料庫中有一個相關聯的使用者帳戶。
- 登入在資料庫中有一個使用者別名,而且已經利用 sp_addalias 加入資料庫擁有者或系統管理員 (sysadmin) 固定伺服器角色的成員。
- guest 帳戶已在資料庫中啟用。
sp_addalias 預存程序不能從使用者自訂交易中執行。
下表顯示可以搭配 sp_addalias 來使用的若干系統預存程序。
預存程序 | 描述 |
---|---|
sp_helplogins |
傳回有效 login 值的清單。 |
sp_helpuser |
傳回使用登入之資料庫的有效 alias_user 值清單。 |
sp_dropalias |
移除別名對應。 |
權限
需要 db_owner 固定資料庫角色中的成員資格。
範例
下列範例會顯示如何將 SQL Server 登入 Victoria
對應至 AdventureWorks
資料庫中現有的使用者 (Albert
)。
USE AdventureWorks;
EXEC sp_addalias 'Victoria', 'Albert' ;
請參閱
參考
安全性預存程序 (Transact-SQL)
CREATE USER (Transact-SQL)
CREATE ROLE (Transact-SQL)
sp_dropalias (Transact-SQL)
sp_helplogins (Transact-SQL)
sp_helpuser (Transact-SQL)
系統預存程序 (Transact-SQL)
sp_grantdbaccess (Transact-SQL)