SQL ServerのCREATE LOGINコマンドでログインアカウントを作成する方法
CREATE LOGINコマンドは、SQL Serverへ接続するためのログインアカウント(Login)を作成する際に使用します。作成したログインアカウントは、後ほどデータベースユーザーにマッピングされます。そのため、SQL Serverでユーザーを作成する前に、必ずログインアカウントを作成しておく必要があります。
SQL Serverのログインアカウントの4つの種類
SQL Serverでは、以下の4種類のログインアカウントを作成できます。
- Windows認証を使用するログインアカウント
- SQL Server認証を使用するログインアカウント
- 証明書から作成するログインアカウント
- 非対称キーから作成するログインアカウント
構文
Windows認証によるログインアカウントの作成
CREATE LOGIN [ドメイン名\ユーザー名]
FROM WINDOWS
[ WITH DEFAULT_DATABASE = データベース名
| DEFAULT_LANGUAGE = 言語名 ];
SQL Server認証によるログインアカウントの作成
CREATE LOGIN ログイン名
WITH PASSWORD = { 'パスワード' | ハッシュ化パスワード HASHED } [ MUST_CHANGE ]
[ , SID = SID値
| DEFAULT_DATABASE = データベース名
| DEFAULT_LANGUAGE = 言語名
| CHECK_EXPIRATION = { ON | OFF }
| CHECK_POLICY = { ON | OFF }
| CREDENTIAL = 資格情報名 ];
証明書からのログインアカウントの作成
CREATE LOGIN ログイン名
FROM CERTIFICATE 証明書名;
非対称キーからのログインアカウントの作成
CREATE LOGIN ログイン名
FROM ASYMMETRIC KEY 非対称キー名;
主なパラメータの説明
| パラメータ | 説明 |
|---|---|
| ドメイン名\ユーザー名 | Windowsドメインアカウントの名前です。 |
| ログイン名 | 作成するログインアカウントの名前です。 |
| データベース名 | ログイン時の既定データベース(DEFAULT_DATABASE)を指定します。 |
| 言語名 | ログインアカウントの既定言語(DEFAULT_LANGUAGE)を指定します。 |
| パスワード | ログインアカウントに設定するパスワードです。 |
| ハッシュ化パスワード | パスワードのハッシュ値です。HASHEDオプションと併用して指定します。 |
| SID値 | ログインアカウントのGUID(グローバル一意識別子)です。省略した場合、SQL Serverが自動的にGUIDを割り当てます。 |
| CHECK_EXPIRATION | パスワードの有効期限ポリシーを適用するかどうかを指定します。既定値はOFFです。MUST_CHANGEを使用する場合は、CHECK_EXPIRATION = ONを設定する必要があります。 |
| CHECK_POLICY | Windowsのパスワードポリシーを適用するかどうかを指定します。 |
| MUST_CHANGE | 初回ログイン後にパスワード変更を強制したい場合に使用します。 |
| 資格情報名 | ログインアカウントにマッピングする資格情報(CREDENTIAL)の名前です。 |
| 証明書名 | ログインアカウントで使用する証明書の名前です。 |
| 非対称キー名 | ログインアカウントで使用する非対称キーの名前です。 |
注意: 作成済みのログインを変更するにはALTER LOGINコマンド、削除するにはDROP LOGINコマンドを使用します。
使用例
例1: Windows認証を使用する場合
CREATE LOGIN [test_tenmienquantrimang]
FROM WINDOWS;
このCREATE LOGINコマンドを実行すると、Windows認証を使用する新しいログインアカウント「test_tenmienquantrimang」が作成されます。
例2: SQL Server認証を使用する場合
CREATE LOGIN quantrimang
WITH PASSWORD = 'mk123';
上記のコマンドは、SQL Server認証を使用し、パスワードが「mk123」のログインアカウント「quantrimang」を作成します。
初回ログイン後にパスワードの変更を強制したい場合は、次のようにMUST_CHANGEオプションを指定します。
CREATE LOGIN quantrimang
WITH PASSWORD = 'mk123' MUST_CHANGE,
CHECK_EXPIRATION = ON;
MUST_CHANGEは、CHECK_EXPIRATIONがOFFの状態では使用できない点に注意してください。OFFのまま実行するとエラーになります。
例3: 証明書を使用する場合
CREATE LOGIN quantrimang
FROM CERTIFICATE chungnhan1;
この例では、証明書「chungnhan1」を使用する新しいログイン「quantrimang」が作成されます。
例4: 非対称キーを使用する場合
CREATE LOGIN quantrimang
FROM ASYMMETRIC KEY khoa_batdoixung1;
上記のCREATE LOGINコマンドは、非対称キー「khoa_batdoixung1」を使用する新しいログイン「quantrimang」を作成します。
なお、CREATE LOGINコマンドを実行するには、ALTER ANY LOGIN権限を持っているか、securityadmin固定サーバーロールのメンバーである必要があります。
-
MS SQL Serverでデータベースのバックアップを作成する2つの方法
バックアップとは、データやデータベースの複製を作成し、保全性を確保するための仕組みです。MS SQL Serverにおいてデータベースのバックアップを定期的に取得することは、ハードウェア故障や誤操作などによるデータ損失から大切な情報を守るために非常に重要です。 MS SQL Serverには、主に以下の3種類のバックアップ方式が用意されています。 完全バックアップ(Full / Database):データベース全体を丸ごとバックアップします 差分バックアップ(Differential / Incremental):前回の完全バックアップ以降に変更された部分のみをバックアップします トランザク
-
MS SQL Serverでデータベースを作成する2つの方法|T-SQLとSSMSの手順を解説
データベースには、テーブル、ストアドプロシージャ、関数などのさまざまなオブジェクトが含まれます。MS SQL Serverでは、データベースは大きく分けて以下の2種類に分類されます。 システムデータベース ユーザーデータベース システムデータベースとは システムデータベースは、MS SQL Serverのインストール時に自動的に作成されるデータベースです。主なシステムデータベースは以下のとおりです。 Master Model / MSDB Tempdb Resource(SQL Server 2005以降で利用可能) Distribution(レプリケーション機能を使用する場合のみ)