sp_grantdbaccess (Transact-SQL)

適用於:SQL Server

將資料庫使用者加入目前資料庫中。

重要

未來的 Microsoft SQL Server 版本將移除這項功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CREATE USER

Transact-SQL 語法慣例

語法

sp_grantdbaccess [ @loginame = ] 'login'  
    [ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]  

引數

[ @loginame = ] 'login_ '這是要對應至新資料庫使用者之 Windows 群組、Windows 登入或SQL Server登入的名稱。 Windows 群組和 Windows 登入的名稱必須以網域\登入格式的 Windows 功能變數名稱限定,例如LONDON\Joeb。 登入不能已對應至資料庫中的使用者。 loginsysname,沒有預設值。

[ @name_in_db = ] 'name_in_db' [ OUTPUT] 這是新資料庫使用者的名稱。 name_in_db 是具有 sysname資料類型的 OUTPUT 變數,預設值為 Null。 如果未指定,則會使用 登入 。 如果指定為值為 Null 的 OUTPUT 變數, @name_in_db 會設定為 loginname_in_db 目前資料庫中不得已經存在。

傳回碼值

0 (成功) 或 1 (失敗)

備註

sp_grantdbaccess 呼叫 CREATE USER,以支援其他選項。 如需建立資料庫使用者的相關資訊,請參閱 CREATE USER (Transact-SQL) 。 若要從資料庫移除資料庫使用者,請使用 DROP USER

sp_grantdbaccess 無法在使用者定義交易內執行。

權限

需要 db_owner 固定資料庫角色或 db_accessadmin 固定資料庫角色的成員資格。

範例

下列範例會使用 CREATE USER 將 Windows 登入 Edmonds\LolanSo 的資料庫使用者新增至目前的資料庫。 新使用者名叫 Lolan。 這是建立資料庫使用者的慣用方法。

CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];  
GO  

另請參閱

安全性預存程序 (Transact-SQL)
CREATE USER (Transact-SQL)
DROP USER (Transact-SQL)
系統預存程序 (Transact-SQL)