SQL Server ログインと既存の SQL Server データベース ユーザーを接続する方法
このチュートリアルでは、既存の SQL Server ログインを、同じ名前の既存の SQL Server データベース ユーザーに接続する方法を説明します。この方法は、SQL Server Management Studio (SSMS) または Transact-SQL (T-SQL) を使用して実行できます。
前提条件
- SQL Server インスタンスへのアクセス権限
- 既存の SQL Server ログイン
- 同じ名前の既存の SQL Server データベース ユーザー
方法 1: SQL Server Management Studio (SSMS) を使用する
- SSMS を開き、SQL Server インスタンスに接続します。
- オブジェクト エクスプローラーで、接続しているデータベースを展開します。
- セキュリティ フォルダを展開します。
- ユーザー フォルダを右クリックし、 新しいユーザー を選択します。
- 新しいユーザー ダイアログ ボックスで、 ユーザー名 ボックスに、接続する SQL Server ログインの名前を入力します。
- ログイン ドロップダウン リストから、接続する SQL Server ログインを選択します。
- データベース ロール タブを選択します。
- ユーザーに割り当てるデータベース ロールを選択します。
- OK をクリックして、ユーザーを作成します。
方法 2: Transact-SQL (T-SQL) を使用する
- SQL Server Management Studio で、接続しているデータベースにクエリ エディタを接続します。
- 次の T-SQL スクリプトを実行します。
USE MyDatabase;
GO
EXEC sp_adduser @loginame = N'MyLogin', @sid = NULL, @password = N'MyPassword', @pwdhash = NULL, @status = 1;
GO
GRANT db_datareader TO MyLogin;
GO
このスクリプトは、次のことを実行します。
MyLogin
という名前の SQL Server ログインを作成します。- ログインに
MyPassword
というパスワードを設定します。 - ログインに
db_datareader
データベース ロールを割り当てます。
- ユーザーが SQL Server 認証を使用してログインできるようにするには、SQL Server 認証 オプションを選択する必要があります。
USE MyDatabase;
GO
EXEC sp_adduser @loginame = N'MyLogin', @sid = NULL, @password = N'MyPassword', @pwdhash = NULL, @status = 1;
GO
GRANT db_datareader TO MyLogin;
GO
このコードの説明:
USE MyDatabase;
: このステートメントは、現在の作業データベースをMyDatabase
に設定します。EXEC sp_adduser ...;
: このステートメントは、sp_adduser
システム プロシージャを実行します。このプロシージャは、SQL Server ログインを作成します。@loginame = N'MyLogin'
: このパラメータは、ログインの名前をMyLogin
に設定します。@sid = NULL
: このパラメータは、ログインのセキュリティ ID (SID) を指定しません。@password = N'MyPassword'
: このパラメータは、ログインのパスワードをMyPassword
に設定します。@pwdhash = NULL
: このパラメータは、ログインのパスワード ハッシュを指定しません。@status = 1
: このパラメータは、ログインを有効にすることを指定します。
GRANT db_datareader TO MyLogin;
: このステートメントは、db_datareader
データベース ロールをMyLogin
ユーザーに割り当てます。このロールにより、ユーザーはデータベース内のデータを読み取ることができます。
注:
- このコードは、SQL Server Management Studio でクエリ エディタを使用して実行する必要があります。
- ログインとユーザーの名前を実際の値に変更する必要があります。
- ユーザーに割り当てるデータベース ロールは、必要に応じて変更できます。
他の方法
- ログイン フォルダを右クリックし、 プロパティ を選択します。
- ユーザー マッピング ページを選択します。
- マップ 列で、接続するデータベース ユーザーの名前を含むチェックボックスをオンにします。
USE MyDatabase;
GO
ALTER USER MyLogin WITH LOGIN = MyLogin;
GO
MyLogin
という名前の SQL Server ログインを、MyLogin
という名前の SQL Server データベース ユーザーにマップします。
- 上記の方法を使用する前に、ログインとユーザーが同じ名前であることを確認してください。
- ログインとユーザーが異なる名前の場合は、まずユーザーの名前をログインの名前と一致させる必要があります。
sql sql-server