今回は、SQL ServerのSSMS(SQL Server Management Studio)を利用して、SQL Server認証のユーザーを作成してみたところ、知らないとつまづいた点があったので、共有する。
SQL Server認証とは、SQL Serverにログインする際、下図のように、ユーザー名とパスワードを指定してログインする認証方式のことをいう。
前提条件
Windows端末上に、SQL Serverをインストール済であること。
SQL Serverのインストール手順は下記記事を参照のこと。
やってみたこと
SQL Server認証モードの許可
SQL Serverをインストールした直後では、Windows認証しか許可されていないため、SQL Server認証でもログインできるような設定に変更する。
1) SQL Server DatabaseにWindows認証でログイン
2) データベースオブジェクトを選択し右クリックし、プロパティ(Properties)メニューを選択
3) 「セキュリティ(Security)」ページを選択し、「SQL ServerとWindows認証モード(SQL Server and Windows Authentication mode)」を選択し、「OK」ボタンを押下
4) SQL Serverが再起動されるまでいくつかの設定が反映されない旨のダイアログが表示されるので、「OK」ボタンを押下
5) PCを再起動、そのタイミングでSQL Serverも再起動されるため、今回の設定が反映される
saユーザーの有効化
次に、SQL Serverに既に用意されているsaユーザーを有効化し、saユーザーでログインする。
1) SQL Server DatabaseにWindows認証でログイン
2) セキュリティ(Security)の 、ログイン(Logins)内 から「sa」ユーザーを選択し右クリックし、プロパティ(Properties)メニューを選択
3) 「一般(General)」ページを選択し、変更後のパスワードを「パスワード(Password)」「パスワード確認用(Confirm password)」に入力
4) 「ステータス(Status)」ページを選択し、ログインに「有効(Enabled)」を設定し、「OK」ボタンを押下
5) 下図のように、saユーザーが有効化されたことが確認できる
6) ログイン画面で、SQL Server認証を指定し、saユーザーとそのパスワードを指定し「接続(Connect)」ボタンを押下
7) 下図のように、saユーザーでログインできたことが確認できる
SQL Server認証でログインするユーザーの追加
さらに、SQL Server認証でログインするユーザー「testdb」を追加する。
1) SQL Server DatabaseにWindows認証でログイン
2) セキュリティ(Security)の 、ログイン(Logins)を選択し右クリックし、「新規ログイン(New Login)」メニューを選択
3) 「一般(General)」ページで、ユーザー名・認証方式・パスワード・デフォルト言語を指定
4) 「サーバーロール(Server Roles)」ページで、publicとsysadminを指定
5) 「ユーザーマッピング(User Mapping)」ページで、作成中ユーザーとひもづけるデータベースを指定
なお、データベースのデフォルトスキーマ(Default Schema)は、各データベースの「…」ボタンを押下すると下記画面が表示されるため、デフォルトスキーマ(dbo)を指定し「Check Names」ボタン⇒「OK」ボタンを順に押下することで指定できる
6) 「セキュアラブル(Securables)」ページはそのままとする
7) 「ステータス(Status)」ページもそのままの状態で、「OK」ボタンを押下
8) 下図のように、testdbユーザーが作成されたことが確認できる
9) ログイン画面で、SQL Server認証を指定し、testdbユーザーとそのパスワードを指定し「接続(Connect)」ボタンを押下