Jak zmienić nazwę wystąpienia SQL Server 2008?

28

Jak mogę zmienić nazwę wystąpienia programu SQL Server 2008 bez ponownej instalacji?

Na przykład, jeśli baza danych jest określana jako „MySQLServer \ MSSQL2008”, jak mogę zmienić nazwę na „MySQLServer \ SQL2008”?

Scott Marlowe
źródło

Odpowiedzi:

31

Nie sądzę, że można zmienić nazwę bez instalacji.

W kilku wewnętrznych bazach danych, takich jak replikacja, pozostały ślady. Możesz później znaleźć błędy.

Jeśli możesz, chyba że masz więcej niż jedną instancję, najlepiej zreinstaluj, a następnie ponownie zaimportuj wszystkie bazy danych.

William Hilsum
źródło
3
Wil ma rację. Nie ma możliwości zmiany nazwy instancji. Musisz odinstalować instancję, a następnie zainstalować nową. (Lub zainstaluj nową instancję, przenieś bazy danych do nowej instancji, a następnie wyłącz lub odinstaluj starą instancję).
mrdenny
odinstalowanie, a następnie ponowna instalacja przy użyciu nazwanego wystąpienia nie jest naprawdę trudne. wystarczy przytrzymać katalog Data (a może katalog Kopie zapasowe) w starej instancji.
djangofan
9

Wiem, że ten skrypt jest wszechobecny w sieci, ale za każdym razem, gdy szukam go w Google, wymyślam rozbudowane przechowywane procy, które są nadmierne w stosunku do moich potrzeb - więc oto polecenia niezbędne do zmiany nazwy instancji SQL Server, dla potomności:

  • Uzyskaj bieżącą nazwę wystąpienia programu SQL Server do późniejszego porównania.
    SELECT @@servername
  • Usuń serwer z listy znanych zdalnych i połączonych serwerów w lokalnej instancji SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Zdefiniuj nazwę lokalnego wystąpienia SQL Server.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Uzyskaj nową nazwę wystąpienia programu SQL Server do porównania. SELECT @@servername

I kilka uwag dotyczących ich użycia:
sp_dropserver :

  1. Ta procedura składowana może usunąć zarówno zdalne, jak i połączone serwery;
  2. Użycie parametru droplogins wskazuje, że powiązane zdalne i połączone logowania do serwera dla [NAZWA SERWERA] również muszą zostać usunięte.

sp_addserver :

  1. Aby zdefiniować połączony serwer, użyj sp_addlinkedserver (ponieważ ta funkcja będzie nieaktualna w wersji powyżej SQL Server 2005);
  2. sp_addserver nie może być używany w transakcji zdefiniowanej przez użytkownika.

Przy zmianie nazwy serwera SQL zalecałbym również:
Jeśli wykonujesz to zadanie w ramach zmiany nazwy komputera, najpierw zmień nazwę komputera, a następnie zmień nazwę SQL Server. Po zmianie nazwy programu SQL Server wykonaj pełny restart SQLServer, w tym dowolną usługę zależną.

Otrzymałem te informacje z linku poniżej:

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

Charles Roper
źródło
1

Krótka uwaga, że ​​możesz dodać „alias” i używać go pod obiema nazwami:

wprowadź opis zdjęcia tutaj

jitbit
źródło
0

select @@servername pokaże nową nazwę, ale nazwa serwera w ERRORLOG pokaże starą nazwę i nie można połączyć się przy użyciu nowej nazwy.

Jedynym rozwiązaniem jest ponowna instalacja.

Ben
źródło
-4

Chciałbyś użyć ALTER DATABASE.

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

W tej sytuacji, na przykład powyżej, spróbuję:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

Powodzenia!

Nicolas Webb
źródło
6
Myślę, że dotyczy to modyfikacji nazwy bazy danych, a nie instancji serwera SQL
William Hilsum,
tak ... Chcę zmienić nazwę instancji silnika serwera SQL, a nie tylko nazwę tabeli lub bazy danych.
Scott Marlowe,
Masz rację. Zgadzam się z @Wil - nie wiem, jak to zrobić bez ponownej instalacji.
Nicolas Webb,