• 検索結果がありません。

STEP 3. ログイン アカウントと SQL Server レベルの権限

3.3 管理者アカウント

ています。SQL Server のインストール時に、セキュリティ モードで Windows 認証モードを選 択している場合は、「無効」に設定された状態で作成されます。

無効なログイン アカウント

ログイン アカウントは、「無効」に設定して、そのアカウントでログインできないように設定する こともできます。SQL Server のインストール時に Windows 認証モードを選択している場合は、

sa アカウントは、「無効」に設定されて登録されています。無効に設定されたアカウントは、次の ように表示されます。

アカウントの「有効」と「無効」を切り替えるには、ログイン アカウントの[プロパティ]ダイ アログから行うことができます。ただし、セキュリティ モードが Windows 認証モードに設定さ れている場合は、SQL Server 認証用のログイン アカウントを「有効」に設定したとしても、利 用することはできません(Step 2 の最後で SqlUser01 ログイン アカウントがログインに失敗 することを確認しました)。これは、sa アカウント(管理者アカウント)であっても例外ではあり ません。

sa アカウントの有効化

それでは、これを試してみましょう(この手順は、Administrator として Windows へログオン した状態で行う必要があります)。

1. まず、Management Studio を起動して、[ログイン]フォルダーにある「sa」アカウントを ダブル クリック(または、右クリックして[プロパティ]をクリック)します。

2. [ログインのプロパティ]ダイアログが表示されたら、[状態]ページを開き、[ログイン]を

「無効」に設定されて いるアカウントは、

赤い矢印が表示される

ダブル クリック 1

3. 続いて、[全般]ページを開いて、[パスワード]と[パスワードの確認入力]へ「P@ssword」

など、任意のパスワードを入力して、[OK]ボタンをクリックします。

これで、sa アカウントを「有効」な状態へ変更することができます。

Note: sa のパスワードは必ず設定するように

1

2

1

2

3

sa アカウントでのログイン

続いて、有効化した sa アカウントを使用して、SQL Server へログインできるかどうかを試して みましょう。

1. まずは、次のようにツールバーの[データベース エンジン クエリ]ボタンをクリックます。

[データベース エンジンへの接続]ダイアログでは、[認証]へ「SQL Server 認証」を選 択して、[ログイン]へ「sa」、[パスワード]へ「P@ssword」と入力し、[接続]ボタンを クリックします。

結果は、次のようにエラー メッセージが表示されて、ログインに失敗することを確認できま す。

セキュリティ モードが「Windows 認証モード」の場合は、sa であってもログインするこ とはできません。

メッセージを確認後、[OK]ボタンをクリックしてダイアログを閉じ、[データベース エンジ ンへの接続]ダイアログで、[キャンセル]ボタンをクリックします。

混合モードへの変更

次に、セキュリティ モードを「混合モード」へ変更した場合の動作を確認してみましょう。

1. 混合モードへ変更するには、オブジェクト エクスプローラーから、次のように SQL Server の名前を右クリックして[プロパティ]をクリックします。

2

3 1

1

[サーバーのプロパティ]ダイアログが表示されたら、[セキュリティ]ページを開いて、「SQL Server 認証モードと Windows 認証モード」を選択して、[OK]ボタンをクリックします。

2. これにより、再起動を促すダイアログが表示されるので、[OK]ボタンをクリックします。

3. 続いて、SQL Server を再起動して、セキュリティ モードの変更を有効化します。SQL Server

を再起動するには、オブジェクト エクスプローラーで SQL Server の名前を右クリックして

[再起動]をクリックします。

2

3

4 1

1

1 2

再起動が完了すると、セキュリティ モードが「混合モード」へ変更されて、Windows 認証 でも、SQL Server 認証でもログインができるようになります。

sa アカウントでのログイン

混合モードへ変更後、sa アカウントを使用して、ログインできかどうかを試してみましょう。

1. まずは、ツールバーの[データベース エンジン クエリ]ボタンをクリックます。

[データベース エンジンへの接続]ダイアログでは、[認証]へ「SQL Server 認証」を選 択して、[ログイン]へ「sa」、[パスワード]へ「P@ssword」と入力し、[接続]ボタンを クリックします。

2. 今度は、エラーにならず、次のようにクエリ エディターが起動して、画面右下へ「sa」と表 示され、sa アカウントとして SQL Server へのログインが成功したことを確認できます。

3. 次に、「sampleDB」データベースへ接続して、「社員」テーブルのデータを参照できるかど うかを確認してみましょう。次のように入力します。

2

3 1

クエリ エディター が起動 1

「sa」と表示 される 2 saで接続した クエリ エディター

USE sampleDB SELECT * FROM 社員

結果ウィンドウへは、「社員」テーブルのデータが表示されて、問題なくデータを参照できた ことを確認できます。

このように、SQL Server の管理者アカウントの場合は、3 つのセキュリティ チェックに関 係なく、SQL Server に対してあらゆる操作を実行することが可能です。

Note: Windows 認証モードを推奨

セキュリティ モードは、Windows 認証モードを利用することをお勧めします(Windows 認証モードは、マイク ロソフトが推奨するセキュリティ モードです)。理由は、Windows 認証モードのほうが、混合モードよりもセキ ュリティを向上させることができるためです。混合モード(SQL Server 認証)を利用した場合は、VB や C#

ADO.NET を使用して、記述されたアプリケーションは、次のようにログイン アカウントの名前とパスワードを

アプリケーション内へ記述しなければなりません。

Using cn As New SqlConnection("Server=localhost;Database=sampleDB;User ID=sa;Password=P@ssword") cn.Open()

End Using

この文字列(接続文字列と呼ばれます)は、別ファイル(App.Config など)へ保管して、さらに暗号化すること も可能ですが、ログイン アカウントの名前とパスワードがネットワーク上に流れるリスクを考慮しなければなり ません(ネットワーク通信を暗号化するなど)。

これに対して、Windows 認証での接続の場合は、次のようにアプリケーション内へパスワードを記述する必要は ありません。

1 2

3