sp_addserver (Transact-SQL)
Si applica a: SQL Server
Definisce il nome dell'istanza locale di SQL Server. Quando il computer che ospita SQL Server viene rinominato, usare sp_addserver
per informare l'istanza del motore di database di SQL Server del nuovo nome computer. Questa procedura deve essere eseguita in tutte le istanze del motore di database ospitata nel computer.
Il nome dell'istanza del motore di database non può essere modificato. Per modificare il nome dell'istanza denominata, installare una nuova istanza con il nome desiderato, scollegare i file di database dall'istanza precedente, collegare i database alla nuova istanza e eliminare l'istanza precedente. In alternativa, è possibile creare un nome alias client nel computer client, reindirizzando la connessione a un nome o <server>:<port>
una combinazione di istanze e server diversi senza modificare il nome dell'istanza nel computer server.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_addserver
[ @server = ] N'server'
[ , [ @local = ] 'LOCAL' ]
[ , [ @duplicate_ok = ] 'duplicate_OK' ]
[ ; ]
Argomenti
[ @server = ] N'server'
Il nome del server. I nomi dei server devono essere univoci e seguire le regole per i nomi dei computer Microsoft Windows, anche se gli spazi non sono consentiti. @server è sysname, senza impostazione predefinita.
Quando in un computer vengono installate più istanze di SQL Server, un'istanza funziona come se si trovi in un server separato. Specificare un'istanza denominata facendo riferimento a @server come <servername>\<instancename>
.
[ @local = ] 'LOCAL'
Specifica che il server viene aggiunto come server locale. @local è varchar(10), con il valore predefinito NULL
. Specificando @local come LOCAL
definisce @server come nome del server locale e fa sì che la @@SERVERNAME
funzione restituisca il valore di @server.
Il programma di installazione di SQL Server imposta questa variabile sul nome del computer durante l'installazione. Per impostazione predefinita, il nome del computer è il modo in cui gli utenti si connettono a un'istanza di SQL Server senza richiedere una configurazione aggiuntiva.
La definizione locale diventa effettiva solo dopo il riavvio del motore di database. In ogni istanza del motore di database può essere definito un solo server locale.
[ @duplicate_ok = ] 'duplicate_OK'
Specifica se è consentito utilizzare un nome di server duplicato. @duplicate_ok è varchar(13), con il valore predefinito NULL
. @duplicate_ok può avere solo il valore duplicate_OK
o NULL
. Se viene specificato @duplicate_ok e il nome del server che viene aggiunto esiste già, non viene generato alcun errore. Se i parametri denominati non vengono usati, è necessario specificare @local .
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
Per impostare o deselezionare le opzioni del server, usare sp_serveroption
.
sp_addserver
non può essere usato all'interno di una transazione definita dall'utente.
L'uso sp_addserver
di per aggiungere un server remoto non è più disponibile. Usare sp_addlinkedserver in alternativa.
L'uso sp_addserver
di per modificare il nome del server locale potrebbe causare effetti indesiderati o configurazioni non supportate quando si usano gruppi di disponibilità o replica.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del server setupadmin .
Esempi
Nell'esempio seguente viene modificata la voce motore di database per il nome del computer che ospita SQL Server in ACCOUNTS
.
EXEC sp_addserver 'ACCOUNTS', 'local';