SQL Server 新規にログインアカウントを作成する
SQL Server の勉強をする場合、もしもに備えて仕事で使うデータベースやログインアカウントは使いたくないですね。
SQL Serverは簡単にデータベースやログインアカウントを作成できます。
基本的にSQL Serverの学習を行う際は、自前のPCにデータベースを作成し新規に学習ユーザーを作ることが、セキュリティ上からも間違えてデータベースを壊さないためにも良いです。
今回は新規にログインアカウントを作成する方法を紹介します。
新規ログインアカウント名を「Learning-user」と言う名前にします。
新規にログインアカウントを作成する
操作はとっても簡単なのですが、作成する権限が必要なので仕事先で作成する場合はデータベース管理者に相談してください。
自前で自分のPCにSQL Serverをインストールした場合は、saでログインするか、sysadminもしくはsecurityadmin権限があるか確認してください。
もし権限が無い状態で新規にローカルアカウントを作成すると以下のようなエラーになります。
新しいログインを作る
SSMS(SQL Server Management Studio)を立ち上げます。
作成したいSQL Serverを展開し、更に[セキュリティ]を展開します。
[ログイン]が展開表示されるので、右クリックでコンテキストメニューを開きます。
コンテキストメニューの中から[新しいログイン]をクリックします。
ログイン-新規作成
ログイン-新規作成画面が表示されます。
他のデータベースに影響を与えないようにするために、作成するログインアカウントはSQL Server認証が好ましいです。
会社や仕事先の場合は、データベース管理者に相談してください。
ログイン名を任意に入力します。(例ではLearning-user)
SQL Server 認証を選択します。
パスワードを任意の文字列で入力します。
パスワードポリシーを適用するは基本的に必要ないと思います。
※重要なデータベースに元々アクセスしないし学習用なので。
既定のデータベースが決まって居れば指定してください。
最後にOKボタンをクリックして登録します。
作ったログインアカウントにデータベースのアクセス権を与える
作ったばかりのログインユーザーは権限を持っていないため、アクセス拒否をされてしまします。
試しにアクセス拒否されると以下のようになります。
そこで、作成したlearning-userがlearning-dbにアクセスできるようにします。
SSMSを立ち上げます。
SQL Serverを展開し、更に[データベース]を展開します。
既存のデータベースが展開表示されるので、Learning-dbデータベースを確認します。
[Learning-dbデータベース]をクリックして展開します。
[セキュリティ]を展開します。
[ユーザー]を展開します。
Learning-userが居ないことを確認します。
[ユーザー]を右クリックしてコンテキストメニューを開きます。
[新しいユーザー(N)]をクリックします。
「データベース ユーザー – 新規」画面が表示されます。
ログイン名の右端にあるボタンをクリックします。
「ログインの選択」画面が表示されます。
[参照(B)]ボタンをクリックします。
「オブジェクトの参照」画面が表示されます。
今回は先ほど作成した新規ログインアカウントを探して、チェックボックスにチェックを入れます。
[OK]ボタンをクリックします。
「ログインの選択」画面が表示されます。
選択するオブジェクト名欄にlearning-userが表示されているのを確認します。
[OK]ボタンをクリックします。
「データベース ユーザー – 新規」画面が表示されます。
ログイン名が表示されているので確認します。
ユーザー名を適当な名前で入れます。今回はそのままlearning-userとしました。
右側のページ選択メニューのメンバーシップをクリックします。
「データベース ロールのメンバーシップ」設定画面が表示されます。
db_datareader、db_datawriter、db_ddladminにチェックを入れます。
簡単なロールの役割を下に記述しておきます。
[OK]ボタンをクリックします。
Learning-userが追加されていることを確認します。
SSMSでログインできることを確認します。
正常にログインできたらデータアクセスが出来るようになっています。
データベース操作で足らない権限が出てきたらロールを追加して対応します。
固定データベース ロール
固定データベース ロールとその機能を示します。
これらのロールは、すべてのデータベースに存在します。
固定データベース ロールの名前 | [説明] |
db_owner | db_owner 固定データベース ロールのメンバーは、データベースでのすべての構成作業とメンテナンス作業を実行でき、 SQL Serverでデータベースを削除することもできます。 ( SQL データベース と SQL データ ウェアハウスでは、一部のメンテナンス作業にサーバー レベルの権限が必要であり、 db_ownersでは実行できません。) |
db_securityadmin | db_securityadmin 固定データベース ロールのメンバーは、ロールのメンバーシップを変更し、権限を管理できます。このロールにプリンシパルを追加すると、特権が意図せず昇格されることがあります。 |
db_accessadmin | db_accessadmin 固定データベース ロールのメンバーは、Windows ログイン、Windows グループ、および SQL Serverログインのデータベースに対するアクセスを追加または削除できます。 |
db_backupoperator | db_backupoperator 固定データベース ロールのメンバーは、データベースをバックアップできます。 |
db_ddladmin | db_ddladmin 固定データベース ロールのメンバーは、すべての DDL (データ定義言語) コマンドをデータベースで実行できます。 |
db_datawriter | db_datawriter 固定データベース ロールのメンバーは、すべてのユーザー テーブルのデータを追加、削除、または変更できます。 |
db_datareader | db_datareader 固定データベース ロールのメンバーは、すべてのユーザー テーブルからすべてのデータを読み取ることができます。 |
db_denydatawriter | db_denydatawriter 固定データベース ロールのメンバーは、データベース内のユーザー テーブルのデータを追加、変更、または削除することはできません。 |
db_denydatareader | db_denydatareader 固定データベース ロールのメンバーは、データベース内のユーザー テーブルのデータを読み取ることはできません。 |
以上、簡単な説明でしたが「SQL Server 新規にログインアカウントを作成する」でした。