SQLログイン作成の3つの方法:T-SQL、SSMS、PowerShell
SQLログイン用のSQLクエリ解説
SQLログインは、データベースサーバーへの接続と認証に使用されます。SQLログイン用のSQLクエリは、データベースサーバーにログインするユーザーアカウントを作成、管理、削除するために使用されます。
主な種類
- CREATE LOGIN:新しいログインアカウントを作成します。
- ALTER LOGIN:既存のログインアカウントのパスワードやプロパティを変更します。
クエリ例
新しいログインアカウントを作成する
CREATE LOGIN [ログイン名]
WITH PASSWORD = '[パスワード]'
[DEFAULT_DATABASE = [データベース名]]
[CHECK_POLICY = ON | OFF]
[GO]
パラメータ
- [ログイン名]:作成するログインアカウントの名前
- [パスワード]:ログインアカウントのパスワード
- [DEFAULT_DATABASE]:ログイン時に接続するデフォルトデータベース
- [CHECK_POLICY]:パスワードポリシーの適用
既存のログインアカウントのパスワードを変更する
ALTER LOGIN [ログイン名]
WITH PASSWORD = '[新しいパスワード]'
[GO]
DROP LOGIN [ログイン名]
[GO]
注意事項
- ログインアカウントを作成する際は、強力なパスワードを設定する必要があります。
- ログインアカウントを削除する前に、そのアカウントが使用されていないことを確認する必要があります。
- SQLログイン以外にも、Windows認証など、別の認証方法を使用することもできます。
- SQL Server Management Studio (SSMS) などのツールを使用して、GUIでログインアカウントを管理することもできます。
新しいログインアカウントを作成する
-- ログインアカウント "sa" を作成し、パスワードを "P@ssw0rd" に設定
CREATE LOGIN sa
WITH PASSWORD = 'P@ssw0rd'
DEFAULT_DATABASE = 'master'
CHECK_POLICY = ON
GO
既存のログインアカウントのパスワードを変更する
-- ログインアカウント "sa" のパスワードを "NewP@ssw0rd" に変更
ALTER LOGIN sa
WITH PASSWORD = 'NewP@ssw0rd'
GO
既存のログインアカウントを削除する
-- ログインアカウント "test" を削除
DROP LOGIN test
GO
- 上記のサンプルコードは、SQL Server 2019 で動作確認しています。
- コードを実行する前に、データベースのバックアップを取ることを推奨します。
SQLログインを作成する他の方法
SSMS は、SQL Server を管理するためのGUIツールです。SSMSを使用してログインアカウントを作成するには、以下の手順に従います。
- SSMS を起動し、接続するサーバーを選択します。
- オブジェクトエクスプローラーで、セキュリティ > ログイン を展開します。
- ログイン ノードを右クリックし、新しいログイン を選択します。
- 新しいログイン ダイアログボックスで、ログインアカウントの名前とパスワードを入力します。
- その他のオプションを設定し、OK をクリックします。
Transact-SQL (T-SQL)
T-SQL は、SQL Server と通信するためのコマンドライン言語です。T-SQLを使用してログインアカウントを作成するには、CREATE LOGIN ステートメントを使用します。
例:
CREATE LOGIN [ログイン名]
WITH PASSWORD = '[パスワード]'
[DEFAULT_DATABASE = [データベース名]]
[CHECK_POLICY = ON | OFF]
GO
PowerShell
PowerShell は、Windows のタスク自動化用のスクリプト言語です。PowerShellを使用してログインアカウントを作成するには、New-SqlLogin コマンドレットを使用します。
New-SqlLogin -Name 'ログイン名' -Password 'パスワード' -DefaultDatabase 'データベース名'
- -DefaultDatabase:ログイン時に接続するデフォルトデータベース
その他のツール
他にも、さまざまなツールを使用してSQLログインを作成することができます。例えば、以下のようなツールがあります。
- SQL Server Management Objects (SMO)
- .NET Framework
- Azure Data Studio
sql sql-server