Frage Wie Umbenennen einer SQL Server 2008-Instanz?


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

Zum Beispiel, wenn die Datenbank als "MySQLServer \ MSSQL2008" referenziert wird, wie kann ich in "MySQLServer \ SQL2008" umbenennen?


28
2017-09-21 20:14


Ursprung




Antworten:


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

In einigen internen Datenbanken, z. B. der Replikation, gibt es Spuren, die auf den Namen zurückzuführen sind, und später können Fehler auftreten.

Wenn Sie können, sollten Sie, wenn Sie nicht über mehr als eine Instanz verfügen, die Neuinstallation und den anschließenden erneuten Import aller Datenbanken durchführen.


31
2017-09-21 20:32



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 dann die alte Instanz). - mrdenny
Die Deinstallation und anschließende Neuinstallation mit einer benannten Instanz ist nicht wirklich sehr schwierig. Halte einfach das Data-Verzeichnis (und vielleicht das Backup-Verzeichnis) in der alten Instanz. - djangofan


Ich weiß, dass dieses Skript überall im Netz allgegenwärtig ist, aber wenn ich danach suche, komme ich mit ausgeklügelten gespeicherten Prozessprogrammen, die für meine Bedürfnisse übertrieben sind. Hier sind die Befehle, die nötig sind, um eine SQL Server-Instanz für die Nachwelt umzubenennen:

  • Rufen Sie den aktuellen Namen der SQL Server-Instanz zum späteren Vergleich ab.
    SELECT @@servername
  • Entfernen Sie den Server aus der Liste der bekannten fernen und verbundenen Server 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 Remote- als auch Verbindungsserver entfernen.
  2. Die Verwendung des Parameters droplogins zeigt an, dass zugehörige Remote- und Verbindungsserver-Logins für [SERVER NAME] ebenfalls entfernt werden müssen.

sp_addserver:

  1. Um einen Verbindungsserver zu definieren, verwenden Sie sp_addlinkedserver (da diese Funktionalität in der Version über SQL Server 2005 herabgesetzt wird);
  2. sp_addserver kann nicht in einer benutzerdefinierten Transaktion verwendet werden.

Ich würde auch Folgendes beim Umbenennen eines SQL-Servers empfehlen:
Wenn Sie diese Aufgabe im Rahmen eines Maschinenumbenennungsvorgangs ausführen, benennen Sie den Computer zuerst um und benennen Sie dann den SQL Server um. Nachdem Sie den SQL Server umbenannt haben, führen Sie einen vollständigen Neustart des SQLServers 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/


9
2017-07-11 17:59





Nur ein kurzer Hinweis, dass Sie einen "Alias" hinzufügen und unter beiden Namen verwenden können:

enter image description here


1
2017-07-05 23:28





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 eine Neuinstallation.


0
2018-02-26 15:47





Dieser Blog zeigt an, dass es ziemlich einfach ist.

http://www.modhul.com/2008/01/15/renaming-a-sql-server-instance/


-1
2017-09-23 16:51



aber es kann das Instanzverzeichnis nicht umbenennen. das könnte einige Leute verwirren. Ich würde diese Methode nicht empfehlen, auch wenn es einfach ist. - djangofan


Sie möchten ALTER DATABASE verwenden.

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

In diesem Fall würde ich für Ihr Beispiel oben versuchen:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

Viel Glück!


-4
2017-09-21 20:26



Ich denke, dass es sich um das Ändern eines Datenbanknamens anstatt der Instanz von SQL Server handelt - William Hilsum
yeah ... Ich möchte die SQL-Server-Engine-Instanz umbenennen, nicht nur einen Tabellen- oder Datenbanknamen. - Scott Marlowe
Du hast Recht. Und ich stimme @Wil zu - mir ist kein Weg bekannt, dies ohne Neuinstallation zu tun. - Nicolas Webb