適用対象:SQL Server
現在のデータベースにデータベース ユーザーを追加します。
重要
この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 CREATE USER を代わりに使用します。
構文
sys.sp_grantdbaccess
[ @loginame = ] N'loginame'
[ , [ @name_in_db = ] N'name_in_db' OUTPUT ]
[ ; ]
引数
[ @loginame = ] N'loginame'
新しいデータベース ユーザーにマップする Windows グループ、Windows ログイン、または SQL Server ログインの名前。
@loginame は sysname で、既定値はありません。 Windows グループと Windows ログインの名前は、 <domain>\<login>形式の Windows ドメイン名 (たとえば、 LONDON\Joeb) で修飾する必要があります。 ログインをデータベース内のユーザーにマップすることはできません。
[ @name_in_db = ] N'name_in_db' 出力
新しいデータベース ユーザーの名前。
@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 を使用して、現在のデータベースに Edmonds\LolanSo Windows アカウントのデータベース ユーザーを追加します。これは、データベース ユーザーを作成するための推奨される方法です。 新しいユーザーの名前は Lolan です。
CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO