Come rinominare un'istanza di SQL Server 2008?


28

Come posso rinominare un'istanza di SQL Server 2008 senza reinstallare?

Ad esempio, se il db viene indicato come "MySQLServer \ MSSQL2008", come posso rinominare "MySQLServer \ SQL2008"?

Risposte:


31

Non penso che sia possibile rinominare senza installare.

Ci sono tracce lasciate al nome in alcuni database interni come la replica e potresti trovare errori in seguito.

Se è possibile, a meno che non si disponga di più di un'istanza, è consigliabile reinstallare e quindi importare nuovamente tutti i database.


3
Wil ha ragione. Non c'è modo di rinominare l'istanza. Devi disinstallare l'istanza, quindi installare una nuova istanza. (O installare la nuova istanza, spostare i database nella nuova istanza, quindi disabilitare o disinstallare la vecchia istanza).
mrdenny,

fare la disinstallazione e quindi reinstallare con un'istanza denominata non è molto difficile. tieni semplicemente la directory dei dati (e forse la directory dei backup) nella vecchia istanza.
Djangofan,

9

So che questo script è onnipresente in tutta la rete, ma ogni volta che lo cerco su Google mi viene in mente elaborati processi elaborati che sono eccessivi per le mie esigenze - quindi ecco i comandi necessari per rinominare un'istanza di SQL Server, per i posteri:

  • Ottieni il nome corrente dell'istanza di SQL Server per un confronto successivo.
    SELECT @@servername
  • Rimuovere il server dall'elenco dei server remoti e collegati noti nell'istanza locale di SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Definire il nome dell'istanza locale di SQL Server.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Ottieni il nuovo nome dell'istanza di SQL Server per il confronto. SELECT @@servername

E alcune note relative al loro utilizzo:
sp_dropserver :

  1. Questa procedura memorizzata può rimuovere server remoti e collegati;
  2. L'uso del parametro droplogins indica che è necessario rimuovere anche i relativi accessi al server remoto e collegato per [NOME SERVER].

sp_addserver :

  1. Per definire un server collegato, utilizzare sp_addlinkedserver (poiché questa funzionalità sarà ammortizzata nella versione sopra SQL Server 2005);
  2. sp_addserver non può essere utilizzato all'interno di una transazione definita dall'utente.

Vorrei inoltre raccomandare quanto segue durante la ridenominazione di un SQL Server:
se si esegue questa attività come parte di una ridenominazione della macchina, rinominare prima la macchina, quindi rinominare SQL Server. Dopo aver rinominato SQL Server, eseguire un riavvio completo di SQL Server, incluso qualsiasi servizio dipendente.

Ho ricevuto queste informazioni dal link seguente:

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


1

Solo una breve nota che puoi aggiungere un "alias" e usarlo sotto entrambi i nomi:

inserisci qui la descrizione dell'immagine


0

select @@servername mostrerà il nuovo nome ma il nome del server in ERRORLOG mostrerà il vecchio nome e non è possibile connettersi usando il nuovo nome.

L'unica soluzione è reinstallare.



-4

Vorresti usare ALTER DATABASE.

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

In questa situazione, per il tuo esempio sopra, proverei:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

In bocca al lupo!


6
Penso che ciò
riguardi la

sì ... Voglio rinominare l'istanza del motore del server sql, non solo una tabella o un nome di database.
Scott Marlowe,

Hai ragione. E sono d'accordo con @Wil - Non sono a conoscenza di un modo per farlo senza reinstallazione.
Nicolas Webb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.