分享方式:


sp_grantdbaccess (Transact-SQL)

適用於:SQL Server

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

重要

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

Transact-SQL 語法慣例

語法

sp_grantdbaccess
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' OUTPUT ]
[ ; ]

引數

[ @loginame = ] N'loginame'

要對應至新資料庫使用者之 Windows 群組、Windows 登入或 SQL Server 登入的名稱。 @loginame為 sysname,沒有預設值。 Windows 群組和 Windows 登入的名稱必須以 Windows 功能變數名稱的形式 <domain>\<login>限定,例如 LONDON\Joeb。 登入無法對應至資料庫中的使用者。

[ @name_in_db = ] N'name_in_db' OUTPUT

新資料庫用戶的名稱。 @name_in_db是 sysname 類型的 OUTPUT 參數。 如果未指定, 則會使用@loginame 。 如果指定為值為的 NULLOUTPUT 變數, @name_in_db 會設定為 @loginame@name_in_db目前資料庫中不能已經存在。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_grantdbaccess 會呼叫 CREATE USER,其支援額外的選項。 如需建立資料庫用戶的相關信息,請參閱 CREATE USER。 若要從資料庫移除資料庫使用者,請使用 DROP USER

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

權限

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

範例

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

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