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 ログインの名前。 @loginamesysname で、既定値はありません。 Windows グループと Windows ログインの名前は、 <domain>\<login>形式の Windows ドメイン名 (たとえば、 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 を使用して、現在のデータベースに Edmonds\LolanSo Windows アカウントのデータベース ユーザーを追加します。これは、データベース ユーザーを作成するための推奨される方法です。 新しいユーザーの名前は Lolan です。

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