sp_grantdbaccess (Transact-SQL)
適用於:SQL Server
將資料庫使用者新增至目前的資料庫。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CREATE USER 。
語法
sp_grantdbaccess [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]
引數
[ @loginame = ] 'login_ '
這是要對應至新資料庫使用者之 Windows 群組、Windows 登入或 SQL Server 登入的名稱。 Windows 群組和 Windows 登入的名稱必須以網域\登入格式的 Windows 功能變數名稱限定;例如,LONDON\Joeb。 登入無法對應至資料庫中的使用者。 login 是 sysname,沒有預設值。
[ @name_in_db = ] 'name_in_db' [ OUTPUT]
這是新資料庫用戶的名稱。 name_in_db是具有 sysname 數據類型的 OUTPUT 變數,預設值為 NULL。 如果未指定, 則會使用登入 。 如果指定為具有 NULL 值的 OUTPUT 變數, @name_in_db 會設定為 login。 name_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)
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: