sp_grantdbaccess (Transact-SQL)
適用於:SQL Server
將資料庫使用者新增至目前的資料庫。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CREATE USER 。
語法
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 。 如果指定為值為的 NULL
OUTPUT 變數, @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