SQL Server 新規にログインアカウントを作成する

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 新規にログインアカウントを作成する」でした。

SQL Server 新規にデータベースを作成する

SQL Server 新規にデータベースを作成する

SQL Server の勉強をする場合、もしもに備えて仕事で使うデータベースやログインアカウントは使いたくないですね。
SQL Serverは簡単にデータベースやログインアカウントを作成できます。

基本的にSQL Serverの学習を行う際は、自前のPCにデータベースを作成し新規に学習ユーザーを作ることが、セキュリティ上からも間違えてデータベースを壊さないためにも良いです。

今回は新規にデータベース・Databaseを作成する方法を紹介します。
今回は新規データベース名を「Learning-db」と言う名前にします。

新規にデータベースを作成する

操作はとっても簡単なのですが、作成する権限が必要なので仕事先で作成する場合はデータベース管理者に相談してください。
自前で自分のPCにSQL Serverをインストールした場合は、saでログインするか、sysadminもしくはdbcreator権限があるか確認してください。
もし権限が無い状態で新規にローカルアカウントを作成すると以下のようなエラーになります。



新規データベース「Learning-db」を作成する

SSMS(SQL Server Management Studio)を立ち上げます。
作成したいSQL Serverを展開し、更に[データベース]を展開します。
既存のデータベースが展開表示されるので、新規データベースと同じ名前のデータベースが無いことを確認します。
[データベース]を右クリックしてコンテキストメニューを開きます。
コンテキストメニューの中から[新しいデータベース(N)]をクリックします。

新しいデータベース画面が立ち上がります。
データベース名を入力します。
※後から変更も可能です。
基本的に何も変更せずに追加を行えば良いのです。
しかし、もし使用領域の制限を設けたいなら「自動拡張/最大サイズ」で下のように設定してください。
また、右スクロールすると「パス」でデータベースファイルを作るドライブやディレクトリを指定できます。
テスト用のドライブやディレクトリに入れたい場合は変更します。
「追加(A)」ボタンはデータベースファイルを増やしたい時に使用します。
この辺りの設定はテストでは必要ないですが、実運用の際はパフォーマンスに影響を及ぼすため、後日説明したいと思います。
最後に「OK」ボタンをクリックしてLearning-dbを作成します。

使用領域の制限を設ける

「ファイルの最大サイズ」を次のサイズに制限を選択してMB単位で指定します。
下の場合は、1Gまで拡張出来るように設定しました。
「OK」をクリックして設定します。

新規に作成したLearning-dbが作成されているか確認します。
正常に表示されていればOKです。

データベースを削除する

必要が無くなったデータベースを簡単に削除できます。
※簡単に削除出来てしまうため、注意が必要です。

SSMSを立ち上げます。
SQL Serverを展開し、更に[データベース]を展開します。
既存のデータベースが展開表示されるので、削除を行いたいデータベースを確認します。
[削除したいデータベース]を右クリックしてコンテキストメニューを開きます。
コンテキストメニューの中から[削除(D)]をクリックします。

確認画面が表示されますので間違いがなければ「OK」ボタンをクリックします。
以上で(削除権限が有れば)データベースが削除されます。

データベース名を変更する

データベース名の変更も簡単にできます。
※簡単に変更が出来てしまうため、注意が必要です。

SSMSを立ち上げます。
SQL Serverを展開し、更に[データベース]を展開します。
既存のデータベースが展開表示されるので、名前の変更を行いたいデータベースを確認します。
[名前を変更したいデータベース]を右クリックしてコンテキストメニューを開きます。
コンテキストメニューの中から[名前の変更(M)]をクリックします。

下のようにテキスト入力可能になりますので任意の名前を入力します。

データベースのプロパティを確認する

データベースのプロパティを変更することで多くのカスタマイズが可能になります。

例えば、データベースの処理速度が重たくなって場合、別ドライブを追加し物理アクセスの負担を軽くする場合にファイルを増やして対応するなど。
ユーザー権限の設定もできます。
また、自動圧縮するしないとか照合順序を変更してカタカナ検索をカスタマイズするなど。
かなりのことができますので、勉強がてら壊しても問題のないテスト用データベースをカスタマイズするのも良いです。

以上、簡単な説明でしたが「SQL Server 新規にデータベースを作成する」でした。

SSMS とは

SQL Server Management Studio (SSMS) とは

SSMS(SQL Server Management Studio) は、SQL Server や Azure SQL Database の SQL インフラストラクチャを管理するための統合環境です。
SSMS には、SQL のインスタンスを構成したり、状況を監視したり、データベースを管理するためのツールが備わっています。
SSMS を使用して、アプリケーションで使われるクエリとスクリプトを作成したりすることもできます。

SSMSを利用すると、データベースがローカル コンピューター上にあっても、ローカルネットワーク上にあっても、クラウドにあっても、どこにあっても作業ができます。

SSMS は無料です。

SSMS の入手

SSMSはマイクロソフトからダウンロード可能です。
SSMS ダウンロード で検索すると一番上に出てくると思いますので、ダウンロードしてインストールしてください。

インストールは他のWebサイトに詳しく書いてあると思うので、各自でググってください。
このWebサイトにも「SQL Server 2017 Express エディション のインストール」に少し載せているので、良かったら参考にしてください。

無料ですので是非ともSQLの学習に役立ててください。

 

SSMSの使い方

SSMS は、SQL のインスタンスを構成したり、状況を監視したり、データベースを管理するためのツールで、アプリケーションで使われるクエリとスクリプトを作成したりすることもできます。
なので非常に多岐にわたる使用方法が有ります。

 

ここでは、SQLの学習のみに焦点をあてて、クエリを書くところまで説明します。

SSMS 起動

スタートから「Microsoft SQL Server xxxx」もしくは「Microsoft SQL Server Tools xx」を探し展開します。
その中から「Microsoft SQL Server Management…」を探しクリックします。

もしくは、検索にキーワード「ssms」を入力して「Microsoft SQL Server Management Studio」をクリックします。

 

新しいクエリ画面の表示

データベースのデータを操作するには「クエリ」を書きます。
SQL言語でデータ操作を行う文をクエリ画面に書きます。

SSMSを立ち上げると下のような画面が表示されます。
サーバーを確認して、データベースを展開します。
データベースをクリックして選択します。
メニューバーの「新しいクエリ(N)」をクリックします

 

クエリの入力と実行

大きな赤枠の部分にSQL文を記述します。
記述し終わったら、左上の「!実行」ボタンをクリックして、SQL文を実行します。
正常に処理されると、下に結果が表示されます。
エラーが発生するとその原因が表示されます。

 

以上、SSMSとは、でした。