Share via


sp_addalias (Transact-SQL)

將登入對應至資料庫中的使用者。

ms184394.note(zh-tw,SQL.90).gif重要事項:
提供 sp_addalias 的目的,是為了與舊版 SQL Server 相容。下一版的 Microsoft SQL Server 將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 SQL Server 2005 Database Engine 是使用別名的另一個方法,它會提供角色,以及授權給角色的能力。如需詳細資訊,請參閱<CREATE USER (Transact-SQL)>和<CREATE ROLE (Transact-SQL)>。

主題連結圖示Transact-SQL 語法慣例

語法

sp_addalias [ @loginame = ] 'login' , [ @name_in_db = ] 'alias_user'

引數

  • [ @loginame = ] 'login'
    這是別名要被指派到的登入名稱。loginsysname,沒有預設值。login 必須是有效的 SQL Server 登入,或是有權連接 SQL Server 執行個體的 Microsoft Windows 使用者。login 不能預先存在,也不能被當作別名,指派給資料庫中現有的使用者。
  • [ @name_in_db = ] 'alias_user'
    這是登入被對應至的使用者名稱。alias_usersysname,沒有預設值。alias_user 必須是有登入別名之資料庫的使用者當您對應至 Windows 使用者時,請指定它在資料庫所用的名稱。

傳回碼值

0 (成功) 或 1 (失敗)

備註

登入可以對應至任何資料庫中的使用者。請只在使用者必須具有別名的資料庫中,執行 sp_addalias。當使用者使用 login 參數,連接到 Database Engine 的執行個體時,可以利用套用至 alias_user 的權限,在資料庫中執行活動。

ms184394.note(zh-tw,SQL.90).gif附註:
您不可以為 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)

其他資源

db_owner

說明及資訊

取得 SQL Server 2005 協助