SQL Server Configuration Managerを使用してデフォルトデータベースを変更する方法
SQL Serverでデフォルトデータベースを変更する方法(SSMSを使わない場合)
このチュートリアルでは、Microsoft SQL Server Management Studio (SSMS) を使用せずに、SQL Serverのデフォルトデータベースを変更する方法を説明します。
方法
以下の2つの方法を紹介します。
Transact-SQL (T-SQL) ステートメントを使用する
- SQL Serverに接続できるクライアントツール(例:sqlcmd)を開きます。
- 以下のT-SQLステートメントを実行します。
ALTER LOGIN <ログイン名> WITH DEFAULT_DATABASE = <データベース名>;
例:
ALTER LOGIN sa WITH DEFAULT_DATABASE = TestDB;
sp_defaultdb プロシージャを使用する
EXEC sp_defaultdb <ログイン名>, <データベース名>;
EXEC sp_defaultdb sa, TestDB;
注意事項
- 上記のいずれの方法を使用する前に、必ずデータベースバックアップを取ることを推奨します。
- デフォルトデータベースを変更すると、そのログイン名で接続する際に接続されるデータベースが変わります。
- 特定のユーザーのみデフォルトデータベースを変更したい場合は、上記のT-SQLステートメントをそのユーザーに対してのみ実行する必要があります。
- SQL Serverのバージョンによっては、上記の方法が使用できない場合があります。詳細は、SQL Serverのドキュメントを参照してください。
補足
-- ログイン 'sa' のデフォルトデータベースを 'TestDB' に変更する
ALTER LOGIN sa WITH DEFAULT_DATABASE = TestDB;
GO
-- 変更を確認する
SELECT default_database_name
FROM sys.logins
WHERE login_name = 'sa';
-- ログイン 'sa' のデフォルトデータベースを 'TestDB' に変更する
EXEC sp_defaultdb 'sa', 'TestDB';
GO
-- 変更を確認する
SELECT default_database_name
FROM sys.logins
WHERE login_name = 'sa';
- 上記のサンプルコードは、SQL Server 2005 で動作確認しています。
- 他のバージョンの SQL Server を使用している場合は、必要に応じてコードを修正する必要があります。
SQL Serverでデフォルトデータベースを変更するその他の方法
SQL Server Configuration Managerを使用する
- SQL Server 2005 Native Clientを展開します。
- セキュリティ > ログインを選択します。
- 右側のペインで、デフォルトデータベースを変更したいログインを選択します。
- プロパティを選択します。
- 全般ページで、既定のデータベースボックスに、新しいデフォルトデータベースの名前を入力します。
- OKをクリックします。
レジストリエディタを使用する
警告: レジストリエディタを使用する方法は、上級者向けであり、誤った操作をするとシステムトラブルが発生する可能性があります。
- 以下のキーに移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.<バージョン>\MSSQLServer
- MSSQLServerキーがない場合は作成します。
- MSSQLServerキーを右クリックし、新規 > DWORD (32 ビット) 値を選択します。
- 新しい値の名前を DefaultDatabase に変更します。
- DefaultDatabaseをダブルクリックし、値のデータフィールドに、新しいデフォルトデータベースの名前を入力します。
- コンピュータを再起動します。
sql-server database sql-server-2005