CREATE LOGIN (Transact-SQL)
更新 : 2006 年 7 月 17 日
新しい SQL Server ログインを作成します。
構文
CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> } <sources> ::= WINDOWS [ WITH <windows_options> [ ,... ] ] | CERTIFICATE certificateName | ASYMMETRIC KEY asym_key_name <option_list1> ::= PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ] [ , <option_list2> [ ,... ] ] <option_list2> ::= SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = { ON | OFF} | CHECK_POLICY = { ON | OFF} | CREDENTIAL = credential_name <windows_options> ::= DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language
引数
- login_name
作成するログインの名前を指定します。ログインには、SQL Server ログイン、Windows ログイン、証明書にマップされるログイン、および非対称キーにマップされるログインの、4 種類があります。login_name が Windows ドメイン アカウントからマップされる場合、login_name は角かっこ ([ ]) で囲む必要があります。後の例 D を参照してください。
- WINDOWS
ログインを Windows ログインにマップするよう指定します。
- CERTIFICATE certificateName
ログインに関連付ける証明書の名前を指定します。この証明書は、master データベース内に既に存在する必要があります。
- ASYMMETRIC KEY asym_key_name
ログインに関連付ける非対称キーの名前を指定します。このキーは、master データベース内に存在する必要があります。
- PASSWORD ='password'
SQL Server ログインのみに適用されます。作成するログインのパスワードを指定します。ハッシュ済みの値を指定してもかまいません。複雑なパスワードの使用をお勧めします。詳細については、「強力なパスワード」を参照してください。
- PASSWORD **=**hashed_password
HASHED キーワードだけに適用されます。作成するログインのパスワードのハッシュされた値を指定します。
- HASHED
SQL Server ログインのみに適用されます。PASSWORD 引数の後に入力されたパスワードが、ハッシュ済みであることを示します。HASHED オプションは、パスワード ポリシーのチェックが無効になっているログインでのみ使用できます。このオプションを選択しない場合、パスワードとして入力した文字列は、データベースに格納される前にハッシュされます。
- MUST_CHANGE
SQL Server ログインのみに適用されます。このオプションを指定した場合は、新しいログインを最初に使用するとき、新しいパスワードの入力求めるメッセージがユーザーに対して表示されます。
- CREDENTIAL **=**credential_name
新しい SQL Server ログインにマップする資格情報の名前を指定します。この資格情報はサーバー内に存在する必要があります。
- SID = sid
SQL Server ログインのみに適用されます。新しい SQL Server ログインの GUID を指定します。このオプションを選択しない場合は、GUID が自動的に割り当てられます。
- DEFAULT_DATABASE **=**database
ログインに割り当てられる既定のデータベースを指定します。このオプションを指定しない場合は、既定のデータベースが master に設定されます。
- DEFAULT_LANGUAGE **=**language
ログインに割り当てられる既定の言語を指定します。このオプションを指定しない場合は、サーバーの現在の既定の言語が既定の言語になります。サーバーの既定の言語が将来変更されても、ログインの既定の言語は変更されません。
- CHECK_EXPIRATION = { ON | OFF }
SQL Server ログインのみに適用されます。このログインに、パスワードの有効期限ポリシーを適用するかどうかを指定します。既定値は OFF です。
- CHECK_POLICY = { ON | OFF }
SQL Server ログインのみに適用されます。このログインに、SQL Server を実行しているコンピュータの、Windows のパスワード ポリシーを適用するかどうかを指定します。既定値は ON です。
解説
パスワードでは大文字と小文字が区別されます。
パスワードの事前ハッシュは、SQL Server ログインを作成するときにのみサポートされます。
MUST_CHANGE を指定した場合、CHECK_EXPIRATION および CHECK_POLICY は ON に設定する必要があります。ON に設定しない場合、ステートメントは失敗します。
CHECK_POLICY = OFF と CHECK_EXPIRATION = ON の組み合わせはサポートされていません。
CHECK_POLICY を OFF に設定すると、lockout_time は再設定され、CHECK_EXPIRATION は OFF に設定されます。
重要 : |
---|
CHECK_EXPIRATION および CHECK_POLICY は、 以降でのみ適用されます。詳細については、「パスワード ポリシー」を参照してください。 |
証明書または非対称キーから作成されたログインはコード署名用にのみ使用されます。SQL Server への接続には使用できません。証明書または非対称キーからログインを作成できるのは、その証明書または非対称キーが master に存在している場合のみです。
権限
サーバーに対する ALTER ANY LOGIN 権限が必要です。CREDENTIAL オプションを使用する場合は、サーバーに対する ALTER ANY CREDENTIAL 権限も必要です。
例
A. パスワード付きのログインを作成する
次の例では、特定のユーザーのログインを作成して、パスワードを割り当てます。MUST_CHANGE
オプションを使用する場合、ユーザーは、最初にサーバーに接続するときにこのパスワードを変更する必要があります。
CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO
B. 資格情報にマップされるログインを作成する
次の例では、特定のユーザーのログインを作成します。このログインは、資格情報にマップされます。
CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>',
CREDENTIAL = <credential_name>;
GO
C. 証明書からログインを作成する
次の例では、証明書 master から特定のユーザーのログインを作成します。
USE MASTER;
CREATE CERTIFICATE <certificateName>
WITH SUBJECT = '<login_name> certificate in master database',
EXPIRY_DATE = '02/02/2009';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO
D. Windows ドメイン アカウントからログインを作成する
次の例では、Windows ドメイン アカウントからログイン [Adventure-Works\Mary5]
を作成します。
CREATE LOGIN [Adventure-Works\Mary5] FROM WINDOWS;
GO
参照
関連項目
ALTER LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
EVENTDATA (Transact-SQL)
その他の技術情報
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|