SQL Master データベースエンジニアとLinuxエンジニアのための情報まとめ

OracleやMS SQL serverの資格対策、SQLコマンド辞典、Linuxコマンド辞典、セキュリティに関する情報

SQL Server

【MCTS:70-431】CREATE LOGINとCREATE USERの使い方

投稿日:

SQL ServerにはCREATE LOGINとCREATE USERという似たようなコマンドが存在しますが、同じものではありませんので注意しましょう。

まず、SQL Serverのデータベースへのアクセス方法にはWindows認証モードと混合モード(SQL Server認証とWindows認証)があります。どちらのモードでも、SQL Serverへログインし、データベースユーザとして作業を行いますが、SQL Serverにはデータベースユーザの他にSQL Serverログインというセキュリティプリンシパルを作成し、SQL Serverログインとデータベースユーザを紐付ける必要があります。

例えば、Windows認証モードの場合、PCName\loginnameというWindowsのアカウントでデータベースにアクセスするには、PCName\loginname用のSQL Serverログインを作成し、それに紐付けるデータベースユーザを作成する、という2段階の作業が必要です。

■SQL Serverログインの作成

USE master;
CREATE LOGIN [PCName\loginname]
?FROM WINDOWS
?WITH DEFAULT_DATABASE = TestData;
GO

■データベースユーザを作成し、SQL Serverログインと紐付ける

USE TestData;
CREATE USER [dbusername]
FOR LOGIN [PCName\loginname];

これで、Windows認証を使って、PCName\loginnameアカウントでデータベースにアクセスできます。

混合モード(SQL Server認証とWindows認証)で設定していて、SQL Server認証を利用してデータベースにアクセスする場合でも、最初にSQL Serverログインを作成し、次にデータベースユーザを作成しSQL Serverログインと紐付けます。

■SQL Serverログインの作成

USE master;
CREATE LOGIN dboperator01
?WITH PASSWORD = ‘password’
?,DEFAULT_DATABASE = TestData;

■データベースユーザを作成し、SQL Serverログインと紐付ける

USE TestData;
CREATE USER dboperator02
FOR LOGIN dboperator01;

この場合、SQL Server認証時にdboperator01とdboperator02のどちらでログインするのかわかりますか?答は、dboperator01です。

これで、CREATE LOGINとCREATE USERの使い方がわかりましたか?ユーザ作成にはストアードプロシージャーのsp_addloginがありますが、sp_addloginに関しては別途紹介します。

広告

広告

-SQL Server


comment

関連記事

no image

リモート接続でSQL Serverのデータベースに接続するには?

問:リモートからSQL Serverのデータベースにアクセスしようとしましたが、アクセスできません。どのようにすれば良いのでしょうか? ? 答:SQL Serverの既定の設定では、ネットワーク経由で …

no image

SQL BPA command line は動作を停止しました。

SQL Server 2005 Express Edition with Advance Servicesに対して、Windows UpdateでSP3を適用しようとしましたが、下記のようなエラーが発 …

no image

【SQL Server】複数のインスタンスをインストールするには?

1つのサーバに複数のインスタンスを作成する事ができます。複数のインスタンスを作成するには、SQL Serverのインストーラを実行する必要があります。 「名前付きインスタンス」を選択し、追加するインス …

no image

【SQL Server】WHERE句では列別名が使用できない。

特に意識はしていなかったのですが、WHERE句では列別名が使用できませんね。 SELECT employee_id as ID, user_name as Name, dept_cd as Dept …

no image

データベースロールとは?

SQL Serverでアカウントを束ねるコレクション構造をデータベースロールと言い、Windowsで言うとグループみたいなものです。データベースロールにユーザを追加する事で、一括してユーザの権限管理を …

広告

転職