Stiamo sostituendo il nostro SQL Server e abbiamo deciso che rinominare il server stesso sarà molto più semplice che cambiare tutto il resto per puntare a un nuovo nome. Abbiamo trovato le istruzioni su come modificare il nome dell'istanza di SQL Server affinché corrisponda al nome del computer che assomiglia a questo:
sp_dropserver 'OLDSERVER'
sp_addserver 'NEWSERVER', local
Anche se SQL Enterprise Manager non sembra gradire quelli insieme. Ho dovuto cambiarlo nel modo seguente per farlo funzionare insieme:
sp_dropserver 'OLDSERVER'; GO
sp_addserver 'NEWSERVER', 'local'; GO
Il che non è male, ma preferirei che le cose fossero più automatizzate. Dato che @@ ServerName restituisce il nome dell'istanza, ho capito come automatizzare la prima riga:
sp_dropserver @@ServerName; GO
Ho anche imparato che SERVERPROPERTY ('ServerName') dovrebbe restituire il nome del computer, quindi ho pensato che avrei potuto usarlo per automatizzare la seconda parte, ma questo non ha funzionato:
sp_addserver SERVERPROPERTY('ServerName'), 'local'; GO
Ho provato a impostare una variabile, che devo comunque fare per aggiornare i lavori di SQL Agent, ma neanche quello ha funzionato:
DECLARE @srv sysname;
SET @srv = CAST(SERVERPROPERTY('ServerName') AS sysname);
sp_addserver @srv, 'local'; GO
Sintassi errata vicino a "sp_addserver".
Mi piacerebbe molto non dover codificare il nuovo nome del server nello script, per renderlo più facilmente riutilizzabile. Qualcuno ha qualche idea?