web-dev-qa-db-ja.com

SQL Server 2008インスタンスの名前を変更するにはどうすればよいですか?

再インストールせずにSQL Server 2008インスタンスの名前を変更するにはどうすればよいですか?

たとえば、dbが「MySQLServer\MSSQL2008」として参照されている場合、「MySQLServer\SQL2008」に名前を変更するにはどうすればよいですか?

28
Scott Marlowe

インストールせずに名前を変更することはできないと思います。

レプリケーションなどのいくつかの内部データベースには名前の痕跡が残っており、後でエラーが発生する可能性があります。

可能であれば、複数のインスタンスがない限り、再インストールしてからすべてのデータベースを再度インポートすることをお勧めします。

31
William Hilsum

このスクリプトは「ネット」のいたるところに存在することは知っていますが、Googleでググるたびに、必要以上の機能を備えた複雑なストアドプロシージャを思いついたので、SQL Serverインスタンスの名前を変更するために必要なコマンドを以下に示します。

  • 後で比較するために、SQL Serverインスタンスの現在の名前を取得します。
    SELECT @@servername
  • SQL Serverのローカルインスタンス上の既知のリモートサーバーおよびリンクサーバーのリストからサーバーを削除します。
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • SQL Serverのローカルインスタンスの名前を定義します。
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • 比較のためにSQL Serverインスタンスの新しい名前を取得します。 SELECT @@servername

そして、それらの使用に関連するいくつかのメモ:
sp_dropserver

  1. このストアドプロシージャは、リモートサーバーとリンクサーバーの両方を削除できます。
  2. Droploginsパラメータを使用すると、[サーバー名]の関連するリモートサーバーおよびリンクサーバーのログインも削除する必要があることを示します。

sp_addserver

  1. リンクサーバーを定義するには、sp_addlinkedserverを使用します(この機能はSQL Server 2005以降のバージョンでは廃止されるため)。
  2. sp_addserverは、ユーザー定義のトランザクション内では使用できません。

SQL Serverの名前を変更するときは、次のこともお勧めします。
マシンの名前変更の一部としてこのタスクを実行する場合は、最初にマシンの名前を変更してから、SQL Serverの名前を変更します。 SQL Serverの名前を変更したら、依存サービスを含め、SQLServerを完全に再起動します。

以下のリンクからこの情報を入手しました。

https://web.archive.org/web/20141116031942/http://modhul.com/2008/01/15/renaming-a-sql-server-instance/

9
arunmanikumar

「エイリアス」を追加して、両方の名前で使用できることに注意してください。

enter image description here

1
jitbit

select @@servernameは新しい名前を表示しますが、ERRORLOGのサーバー名は古い名前を表示し、新しい名前を使用して接続できません。

唯一の解決策は、再インストールすることです。

0
Ben