sp_setnetname (Transact-SQL)

S’applique à :SQL Server

Définit les noms de réseau dans sys.servers sur leurs noms d’ordinateur réseau réels pour les instances distantes de SQL Server. Cette procédure peut être utilisée pour activer l’exécution d’appels de procédures stockées distantes vers des ordinateurs qui ont des noms de réseau contenant des identificateurs SQL Server non valides.

Conventions de la syntaxe 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. Une seule ligne dans sys.servers doit déjà exister pour utiliser ce serveur. server est de type sysnameet n'a pas de 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 sysname, sans valeur par défaut.

Ce nom doit correspondre au nom de l’ordinateur Microsoft Windows, et le nom peut inclure des caractères qui ne sont pas autorisés dans SQL Server identificateurs.

Codet de retour

0 (réussite) ou 1 (échec)

Jeux de résultats

None

Remarques

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. Toutefois, vous pouvez définir un serveur lié et un serveur distant sur un serveur spécifié en affectant différents noms et en utilisant sp_setnetname pour définir le nom réseau de l’un d’entre eux sur 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

L’utilisation de sp_setnetname pour pointer un serveur lié vers le serveur local n’est pas prise en charge. 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 serveur fixe sysadmin et setupadmin .

Exemples

L’exemple suivant montre une séquence d’administration classique utilisée sur SQL Server pour émettre l’appel de procédure stockée distante.

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

Voir aussi

Procédures stockées du moteur de base de données (Transact-SQL)
sp_addlinkedserver (Transact-SQL)
sp_addserver (Transact-SQL)
Procédures stockées système (Transact-SQL)