sp_grantdbaccess (Transact-SQL)

適用於:SQL Server

將資料庫使用者新增至目前的資料庫。

重要

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)