Microsoft SQL Server 2016 のユーザー管理(ログインとデータベースユーザー)について解説します。
SQL Server はログインとデータベースユーザーに分かれる
SQL Server に接続して特定のデータベースにアクセスするためには「ログイン」と「データベースユーザー」を使用します。
「ログインって何?」って思うかもしれませんが、マイクロソフトの公式サイトでも「ログイン」と記述があるので、「ログインユーザー」ではなく「ログイン」が正解のようです。
マイクロソフトの公式サイトより
ログインとは、 SQL Serverのインスタンスに接続しようとしている人またはプロセスの ID を指します。
ログインは、セキュリティ プリンシパル、またはセキュリティで保護されたシステムで認証できるエンティティです。 SQL Serverに接続するためには、ユーザーにログインが必要です。 Windows プリンシパル (ドメイン ユーザーや Windows ドメイン グループなど) に基づいてログインを作成することも、Windows プリンシパルに基づかないログイン ( SQL Server ログインなど) を作成することもできます。
人もしくはプロセスの ID のことを「ログイン」と呼んでいます。
Windows 認証、SQL Server 認証ともにログインとデータベースユーザーがある
Windows 認証、SQL Server 認証ともに「ログイン」と「データベースユーザー」があります。
- Windows 認証 ← 「ログイン」と「データベースユーザー」あり
- SQL Server 認証 ← 「ログイン」と「データベースユーザー」あり
※Windows 認証の場合は、ドメイン環境の場合はドメインユーザーを使用し、ドメイン環境ではない場合はローカルのユーザーを使用します。
■ローカルの例
■データベースユーザーの例
データベースユーザーは各データベース配下にあります。
例ではサンプルデータベースの「AdventureWorks2016」データベースの「セキュリティ」-「ユーザー」にあります。
データベースユーザーは、以下の 4 つがあります。
- dbo
- guest
- INFORMATION_SCHEMA
- sys
これはデータベースを作成するとデフォルトで作られるデータベースユーザーです。
例えば、他の「TestDB」の場合も以下のように 4 つのデータベースユーザーがあります。
最初にログインを作成し、ログインを基にデータベースレベルでデータベースユーザーを作成する
ユーザーの作成は以下の手順で行います。
- 最初にログインを作成し
- ログインを基にデータベースレベルでアクセス可・不可のデータベースユーザーを作成する
※例外的に包含データベースの場合は、ログインを作成せずにデータベースユーザーを使用できます。
SQL Server へアクセスする場合は以下のような流れになります。
- ログインを使用して SQL Server へアクセスします。
- SQL Server へアクセス後、データベースユーザーを使用して各データベースへアクセスします。
ログインの新規作成手順
SQL Server ログインの新規作成手順です。
下図のように「セキュリティ」-「ログイン」を選択して右クリックして「新しいログイン」をクリックします。
認証は「Windows 認証」を選択し「検索」ボタンをクリックします。
コンピュータがドメインに参加していない場合は、下図のようにエラーが表示されます。
「選択するオブジェクトを入力してください」の欄に作成する OS アカウントを入力し「名前の確認」ボタンをクリックします。
※デフォルトでは検索場所がローカルコンピュータになっているので、検索ボタンをクリックしたら「場所」ボタンをクリックしてドメインを検索できるようにする必要があります。
※「詳細設定」ボタンをクリックして検索用の画面を開き「検索」ボタンクリックですべてのユーザーやグループを表示させることもできます。
OS に存在するユーザーがある場合は、下図のように表示されるので「OK」ボタンをクリックします。
ユーザーが追加されていることを確認します。
左側ペインより「サーバーロール」を選択しサーバーロールに「sysadmin」にチェックを入れます。
左側ペインより「ユーザーマッピング」を選択します。
サンプルデータベースの「AdeventureWorks2016」にチェックを入れ、ログイン「test01」にマッピングします。
左側ペインより「セキュリティ保護可能なリソース」を選択します。
ここでは特に何もしません。
左側ペインより「状態」を選択して設定内容を確認し、特に問題がなければ「OK」ボタンをクリックします。
下図のように「ログイン(test01)」が追加されていることを確認します。
参考図書・学習書
秀和システム社より出版の「SQL Server 2016データベース構築・管理ガイド Enterprise対応 Kindle版」です。
久しぶりに SQL Server の設計・構築・管理をやることになったので、ほぼゼロの状態から学習しています。
内容は非常に充実しており、インフラ側で必要な内容(SQL Server 2016のインストールから、管理ツールの使い方、データベース作成、テーブル作成、バックアップ&リストア手順など)は一通り揃っています。
SQL Server 2016データベース構築・管理ガイド Enterprise対応
コメント