sp_setnetname (Transact-SQL)

Définit les noms réseau dans sys.servers avec les noms d'ordinateurs réseau réels pour les instances de SQL Server. Cette procédure peut être utilisée pour activer l'exécution d'appels de procédures stockées distantes à des ordinateurs dont le nom réseau contient des identificateurs SQL Server non valides.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

  • @server = 'server'
    Nom du serveur distant tel qu'il est référencé dans la syntaxe RPC codée par l'utilisateur. Il doit déjà exister exactement une seule ligne dans sys.servers pour pouvoir utiliser l'argument server. server est de type sysname, sans valeur par défaut.

  • @netname ='network_name'
    Nom réseau de l'ordinateur auquel les appels de procédures stockées distantes sont effectuées. network_name est de type sysname, sans valeur par défaut.

    Ce nom doit correspondre au nom d'ordinateur Microsoft Windows et peut comprendre des caractères non autorisés dans les identificateurs SQL Server.

Valeurs des codes renvoyés

0 (succès) ou 1 (échec)

Ensembles de résultats

Aucun

Notes

Certains appels de procédures stockées distantes à des ordinateurs Windows peuvent rencontrer des problèmes si le nom d'ordinateur contient des identificateurs non valides.

Les serveurs liés et les serveurs distants résidant dans le même espace de nom, ils ne peuvent pas avoir le même nom. Vous pouvez cependant définir un serveur lié et un serveur distant sur un serveur spécifié en leur affectant des noms différents et en utilisant sp_setnetname pour initialiser le nom réseau de l'un d'eux avec le nom réseau du serveur sous-jacent.

--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';

Notes

Il est impossible d'utiliser sp_setnetname pour faire pointer un serveur lié vers le serveur local. Les serveurs référencés de cette manière ne peuvent pas participer à une transaction distribuée.

Autorisations

Nécessite l'appartenance aux rôles de serveur fixes sysadmin et setupadmin.

Exemples

L'exemple suivant montre une séquence d'administration courante utilisée sur SQL Server pour effectuer des appels de procédures stockées distantes.

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