SQL Server 2005 スタンドアロン インスタンスをホストするコンピュータの名前を変更する方法
更新 : 2007 年 9 月 15 日
Microsoft SQL Server 2005 を実行するコンピュータの名前を変更する場合、変更後の名前は SQL Server の起動時に認識されます。コンピュータ名を再設定するためにセットアップを再度実行する必要はありません。次の手順を実行しても、SQL Server 2005 のインスタンスの名前を変更することはできません。変更できるのは、インスタンス名のうち、コンピュータ名に対応する部分のみです。たとえば、Instance1 という SQL Server のインスタンスをホストする MB1 というコンピュータを、MB2 のような別の名前に変更できます。ただし、名前のインスタンスの部分 (Instance1) は変更されません。この例では、\\ComputerName\InstanceName が、\\MB1\Instance1 から \\MB2\Instance1 に変更されます。
名前を変更する準備
名前変更のプロセスを開始する前に、次の情報を確認します。
- SQL Server のインスタンスが SQL Server フェールオーバー クラスタに含まれている場合、コンピュータの名前を変更するプロセスは、スタンドアロン インスタンスをホストするコンピュータの名前を変更するプロセスとは異なります。SQL Server 2005 のフェールオーバー クラスタ インスタンスをホストするコンピュータの名前を変更する方法については、「SQL Server 2005 仮想サーバーの名前を変更する方法」を参照してください。
- SQL Server では、レプリケーションでログ配布が使用されている場合を除き、レプリケーションに関連するコンピュータの名前は変更できません。プライマリ コンピュータが完全に存在しなくなった場合は、ログ配布のセカンダリ コンピュータの名前を変更できます。詳細については、「レプリケーションとログ配布」を参照してください。
- Reporting Services を使用するように構成されているコンピュータの名前を変更した後に、Reporting Services を使用できなくなる場合があります。詳細については、「レポート サーバー コンピュータの名前の変更」を参照してください。
- データベース ミラーリングを使用する構成のコンピュータの名前を変更するときは、名前変更操作の前にデータベース ミラーリングを無効にしてから、新しいコンピュータの名前でデータベース ミラーリングを再確立する必要があります。データベース ミラーリングのメタデータは、新しいコンピュータ名に自動的には更新されません。
- コンピュータ名を変更した場合、Windows グループで変更前のコンピュータ名が指定されていると、コンピュータ名へのハードコード参照を使用する Windows グループを通して SQL Server に接続するユーザーは、SQL Server に接続できなくなります。このような Windows グループが名前変更の後でも SQL Server 接続を確立できるようにするには、新しいコンピュータ名を指定するように Windows グループを更新します。
SQL Server を再起動した後、新しいコンピュータ名を使用して SQL Server に接続できます。ただし、@@servername がローカル サーバー インスタンスの更新後の名前を返すことを確認するには、既定のインスタンスと名前付きインスタンスのどちらを更新しているかによって、次のいずれかのプロシージャを手動で実行する必要があります。
SQL Server 2005 のスタンドアロン インスタンスをホストするコンピュータの名前を変更するには
名前変更された既定のインスタンスの場合は、次のプロシージャを実行します。
sp_dropserver <old_name> GO sp_addserver <new_name>, local GO
SQL Server インスタンスを再起動します。
名前変更された名前付きインスタンスの場合は、次のプロシージャを実行します。
sp_dropserver <old_name\instancename> GO sp_addserver <new_name\instancename>, local GO
SQL Server インスタンスを再起動します。
名前変更操作の検証
コンピュータの名前を変更した場合は、変更前のコンピュータ名を使用している接続はすべて、変更後の名前で接続する必要があります。
名前変更操作が正常に完了したことを検証するには
- @@servername または sys.servers で情報を確認できます。@@servername 関数では新しい名前が返されます。sys.servers テーブルには新しい名前が表示されます。
リモート ログインに関する問題
コンピュータでリモート ログインを行っている場合に、sp_dropserver を実行すると次のようなエラーが発生することがあります。
Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44
There are still remote logins for the server 'SERVER1'.
このエラーを解決するには、このサーバーに対するリモート ログインを削除する必要があります。
リモート ログインを削除するには
既定のインスタンスの場合は、次のプロシージャを実行します。
sp_dropremotelogin old_name GO
名前付きインスタンスの場合は、次のプロシージャを実行します。
sp_dropremotelogin old_name\instancename GO
参照
処理手順
SQL Server 2005 仮想サーバーの名前を変更する方法