Wie benenne ich eine SQL Server 2008-Instanz um?

28

Wie kann ich eine SQL Server 2008-Instanz ohne Neuinstallation umbenennen?

Wenn die Datenbank beispielsweise als "MySQLServer \ MSSQL2008" bezeichnet wird, wie kann ich sie in "MySQLServer \ SQL2008" umbenennen?

Scott Marlowe
quelle

Antworten:

31

Ich glaube nicht, dass es möglich ist, ohne Installation umzubenennen.

In einigen internen Datenbanken, z. B. der Replikation, sind Spuren hinterlassen, und möglicherweise finden Sie später Fehler.

Sofern Sie nicht über mehrere Instanzen verfügen, ist es am besten, wenn Sie alle Datenbanken neu installieren und anschließend erneut importieren.

William Hilsum
quelle
3
Wil ist richtig. Es gibt keine Möglichkeit, die Instanz umzubenennen. Sie müssen die Instanz deinstallieren und anschließend eine neue Instanz installieren. (Oder installieren Sie die neue Instanz, verschieben Sie die Datenbanken in die neue Instanz und deaktivieren oder deinstallieren Sie die alte Instanz).
mrdenny
Die Deinstallation und anschließende Neuinstallation mit einer benannten Instanz ist nicht wirklich schwierig. Halten Sie einfach das Datenverzeichnis (und möglicherweise das Sicherungsverzeichnis) in der alten Instanz fest.
Djangofan
9

Ich weiß, dass dieses Skript im Internet allgegenwärtig ist, aber wann immer ich es google, stelle ich mir aufwendige gespeicherte Prozesse vor, die für meine Anforderungen überflüssig sind.

  • Rufen Sie den aktuellen Namen der SQL Server-Instanz für einen späteren Vergleich ab.
    SELECT @@servername
  • Entfernen Sie den Server aus der Liste der bekannten Remote- und Verbindungsserver in der lokalen Instanz von SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Definieren Sie den Namen der lokalen Instanz von SQL Server.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Rufen Sie den neuen Namen der SQL Server-Instanz zum Vergleich ab. SELECT @@servername

Und ein paar Hinweise zu ihrer Verwendung:
sp_dropserver :

  1. Diese gespeicherte Prozedur kann sowohl Remoteserver als auch Verbindungsserver entfernen.
  2. Die Verwendung des Parameters droplogins weist darauf hin, dass die entsprechenden Anmeldungen von Remoteservern und Verbindungsservern für [SERVERNAME] ebenfalls entfernt werden müssen.

sp_addserver :

  1. Verwenden Sie zum Definieren eines Verbindungsservers sp_addlinkedserver (da diese Funktionalität in einer Version über SQL Server 2005 nicht mehr unterstützt wird).
  2. sp_addserver kann nicht in einer benutzerdefinierten Transaktion verwendet werden.

Ich würde auch Folgendes empfehlen, wenn Sie einen SQL Server
umbenennen : Wenn Sie diese Aufgabe als Teil einer Computerumbenennung ausführen, benennen Sie den Computer zuerst um und dann den SQL Server um. Nachdem Sie den SQL Server umbenannt haben, führen Sie einen vollständigen Neustart von SQL Server durch, einschließlich aller abhängigen Dienste.

Ich habe diese Informationen über den folgenden Link erhalten:

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

Charles Roper
quelle
1

Nur eine kurze Anmerkung, dass Sie einen "Alias" hinzufügen und unter beiden Namen verwenden können:

Bildbeschreibung hier eingeben

jitbit
quelle
0

select @@servername zeigt den neuen Namen an, aber der Servername in ERRORLOG zeigt den alten Namen an und Sie können keine Verbindung mit dem neuen Namen herstellen.

Die einzige Lösung ist die Neuinstallation.

Ben
quelle
-4

Sie möchten ALTER DATABASE verwenden.

http://msdn.microsoft.com/en-us/library/ms174269.aspx

In dieser Situation würde ich für Ihr Beispiel oben versuchen:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

Viel Glück!

Nicolas Webb
quelle
6
Ich denke, dass dies mit dem Ändern eines Datenbanknamens und nicht der Instanz von SQL Server
William Hilsum
Ja ... Ich möchte die SQL Server Engine-Instanz umbenennen, nicht nur einen Tabellen- oder Datenbanknamen.
Scott Marlowe
Du hast Recht. Und ich bin mit @Wil einverstanden - mir ist kein Weg bekannt, dies ohne Neuinstallation zu tun.
Nicolas Webb