sp_setnetname (Transact-SQL)

Imposta i nomi di rete in sys.servers sui nomi dei computer di rete effettivi per le istanze remote di SQL Server. Questa procedura consente di attivare l'esecuzione di chiamate a stored procedure remote in computer il cui nome di rete contiene identificatori di SQL Server non validi.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_setnetname
@server = 'server', 
          @netname = 'network_name'

Argomenti

  • @server = 'server'
    Nome del server remoto specificato nella sintassi di chiamata a stored procedure remote codificata dall'utente. Per utilizzare questo server è necessario che sys.servers includa esattamente una riga. server è di tipo sysname e non prevede alcun valore predefinito.

  • @netname ='network_name'
    Nome di rete del computer a cui vengono inviate chiamate a stored procedure remote. network_name è di tipo sysname e non prevede alcun valore predefinito.

    Questo nome deve corrispondere al nome del computer Microsoft Windows e può includere caratteri non consentiti negli identificatori di SQL Server.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Set di risultati

Nessuno

Osservazioni

Se il nome del computer contiene identificatori non validi, potrebbero verificarsi problemi durante l'esecuzione di alcune chiamate a stored procedure remote a computer Windows.

I server collegati e i server remoti sono inclusi nello stesso spazio dei nomi. Devono quindi avere nomi diversi. È tuttavia possibile definire sia un server collegato che un server remoto in base a un server specifico. A tale scopo assegnare nomi diversi e utilizzare sp_setnetname per impostare il nome di rete di uno dei due server sul nome di rete del server sottostante.

--Assume sqlserv2 is actual name of SQL Server 
--database server
EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';

[!NOTA]

Non è supportato l'utilizzo di sp_setnetname per impostare un server collegato in modo che faccia nuovamente riferimento al server locale. I server a cui viene fatto riferimento in questo modo non possono partecipare a transazioni distribuite.

Autorizzazioni

È necessaria l'appartenenza ai ruoli predefiniti del server sysadmin e setupadmin.

Esempi

Nell'esempio seguente viene illustrata una tipica sequenza di amministrazione utilizzata in SQL Server per eseguire la chiamata a una stored procedure remota.

USE master;
GO
EXEC sp_addserver 'Win_1';
EXEC sp_setnetname 'Win_1','Win-1';
EXEC Win_1.master.dbo.sp_who;