T-SQL スクリプト、Windows サービス、サードパーティ製ツールを使って dbo ログイン名を変更する方法
SQL Server 2005 で dbo ログイン名を変更するには、いくつかの方法があります。 それぞれの方法にはメリットとデメリットがあり、状況に応じて適切な方法を選択する必要があります。
方法
- ALTER LOGIN ステートメントを使用する
ALTER LOGIN dbo WITH NAME = <新しいログイン名>;
この方法は最も簡単ですが、いくつかの制限があります。
- 新しいログイン名は、既存のログイン名と異なる必要があります。
- 新しいログイン名は、sysadmin 固定サーバー ロールのメンバーである必要があります。
- sp_change_login_password システム ストアド プロシージャを使用する
EXEC sp_change_login_password 'dbo', '<新しいパスワード>';
この方法は、ログインパスワードを変更する場合にのみ使用できます。
注意事項
- dbo ログイン名は、SQL Server の重要なログイン名です。 このログイン名を変更する前に、変更の影響を理解しておく必要があります。
- ログイン名を変更した後、データベースへのアクセスに問題が発生する可能性があります。 このような問題が発生した場合は、ログイン名とパスワードが正しく設定されていることを確認してください。
- SQL Server 2005 は古いバージョンの SQL Server です。 より新しいバージョンの SQL Server を使用することをお勧めします。
ALTER LOGIN dbo WITH NAME = 'new_dbo';
このコードは、dbo ログイン名を 'new_dbo' に変更します。
EXEC sp_change_login_password 'dbo', 'NewPassword123!';
- 上記のサンプルコードは、テスト環境でのみ使用してください。
- 本番環境でログイン名を変更する前に、必ずバックアップを取ってください。
SQL Server 2005 で dbo ログイン名を変更するその他の方法
ALTER LOGIN ステートメントを使用して、T-SQL スクリプトで dbo ログイン名を変更することができます。 以下の例では、ログイン名を 'new_dbo' に変更しています。
USE master;
GO
ALTER LOGIN dbo WITH NAME = 'new_dbo';
GO
Windows サービスを使用する
SQL Server サービスを停止し、Windows サービス コントロール マネージャーを使用してログイン名を変更することができます。 以下の手順は、Windows Server 2003 での操作を例にしています。
- スタート メニューをクリックし、コントロール パネル を選択します。
- 管理ツール を選択し、サービス をダブルクリックします。
- SQL Server サービスを右クリックし、停止 を選択します。
- 名前 ボックスに regedit と入力し、OK をクリックします。
- レジストリ エディターで、以下のキーに移動します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\MSSQLServer
- MSSQLServer キーを右クリックし、新規 > DWORD 値 を選択します。
- 新しい値の名前を LoginName に変更します。
- LoginName 値をダブルクリックし、値のデータ ボックスに新しいログイン名を入力します。
サードパーティ製ツールを使用する
ログイン名を変更するために、ApexSQL や Red Gate SQL Prompt などのサードパーティ製ツールを使用することができます。
- ログイン名を変更する前に、変更の影響を理解しておく必要があります。
sql-server sql-server-2005 security