SQL Server のフェールオーバー クラスター インスタンスの名前変更

適用対象:SQL Server

フェールオーバー クラスターに含まれる SQL Server インスタンスの場合、仮想サーバーの名前を変更する手順は、スタンドアロン インスタンスでの手順とは異なります。 詳細については、 SQL Server のスタンドアロン インスタンスをホストするコンピューターの名前変更を参照してください。

仮想サーバーの名前は、常に SQL ネットワーク名 (SQL 仮想サーバー ネットワーク名) と同じになります。 仮想サーバー名は変更できますが、インスタンス名は変更できません。 たとえば、VS1\instance1 という仮想サーバー名を SQL35\instance1 などの別の名前に変更することはできますが、名前のインスタンスの部分 instance1 は変更されません。

名前の変更処理を開始する前に、次の項目を確認します。

  • SQL Server では、レプリケーションにログ配布が使用されている場合を除いて、レプリケーション対象サーバーの名前は変更できません。 プライマリ サーバーが完全に存在しなくなった場合は、ログ配布対象のセカンダリ サーバーの名前を変更することができます。 詳細については、「ログ配布とレプリケーション (SQL Server)」を参照してください。

  • データベース ミラーリングを使用するよう構成されている仮想サーバーの名前を変更する場合は、名前の変更を行う前にデータベース ミラーリングを無効にし、名前の変更後に新しい仮想サーバー名でデータベース ミラーリングを再確立する必要があります。 データベース ミラーリングのメタデータは、新しい仮想サーバー名に、自動的には更新されません。

仮想サーバーの名前を変更するには

  1. クラスター アドミニストレーターを使用して、SQL ネットワーク名を新しい名前に変更します。

  2. ネットワーク名リソースをオフラインにします。 これにより、 SQL Server リソースや、他の依存リソースもオフラインになります。

  3. SQL Server リソースをオンラインに戻します。

名前の変更操作の確認

仮想サーバーの名前を変更したら、このサーバーの古い名前を使用している接続は、新しい名前を使用して接続するように変更する必要があります。

名前の変更が完了していることを確認するには、 @@servername または sys.serversのいずれかを使用して情報を取得します。 @@servername 関数は新しい仮想サーバー名を返し、 sys.servers テーブルには新しい仮想サーバー名が表示されます。 また、フェールオーバー処理が新しい名前を使って正常に機能していることを確認するには、他のノードに対する SQL Server リソースのフェールオーバーが発生するように試行します。

クラスター内のノードからの接続については、新しい名前を直ちに使用できます。 ただし、クライアント コンピューターから新しい名前を使用して接続する場合は、クライアント コンピューターが新しい名前を認識できるようにならないと、新しい名前を使用してサーバーに接続することはできません。 新しい名前がネットワーク全体に伝達されるのに必要な時間は、ネットワークの構成により異なり、数秒で済むことも、3 ~ 5 分かかることもあります。ネットワークから古い仮想サーバー名が消去されるには、さらに時間がかかる場合があります。

仮想サーバー名の変更をネットワークに伝達する時間を最小限に抑えるには、次の手順を実行します。

ネットワークの伝達の遅延を最小限に抑えるには

  1. サーバー ノードでコマンド プロンプトから次のコマンドを実行します。

    ipconfig /flushdns  
    ipconfig /registerdns  
    nbtstat -RR  
    

名前変更操作後のその他の考慮事項

フェールオーバー クラスターのネットワーク名を変更した後は、以下の点を検証および実行して、 SQL Server エージェントと Analysis Servicesのすべてのシナリオを有効にする必要があります。

SQL Server エージェント サービス: SQL Server エージェント サービスに対する以下の追加操作を検証および実行します。

参照

SQL Server のスタンドアロン インスタンスをホストするコンピューターの名前変更