Partager via


sp_setnetname (Transact-SQL)

S'applique à : SQL Server

Définit les noms de réseau dans sys.servers leurs noms d’ordinateurs 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édure stockée distante aux ordinateurs qui ont des noms réseau contenant des identificateurs SQL Server qui ne sont pas valides.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_setnetname
    [ @server = ] N'server'
    , [ @netname = ] N'netname'
[ ; ]

Arguments

[ @server = ] N’server'

Nom du serveur distant tel qu’il est référencé dans la syntaxe d’appel de procédure stockée distante codée par l’utilisateur. @server est sysname, sans valeur par défaut. Une ligne sys.servers doit déjà exister pour utiliser cette @server.

[ @netname = ] N’netname'

Nom réseau de l’ordinateur auquel les appels de procédure stockée distante sont effectués. @netname est sysname, sans valeur par défaut.

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

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Jeu de résultats

Aucune.

Notes

Certains appels de procédure stockée distante aux ordinateurs Windows peuvent rencontrer des problèmes si le nom de l’ordinateur contient des identificateurs qui ne sont pas valides.

Étant donné que les serveurs liés et les serveurs distants résident dans le même espace de noms, ils ne peuvent pas avoir le même nom. Toutefois, vous pouvez définir à la fois un serveur lié et un serveur distant sur un serveur spécifié en affectant différents noms et en définissant sp_setnetname le nom réseau de l’un d’eux sur le nom réseau du serveur sous-jacent.

Dans cet exemple, Supposons sqlserv2 est le nom réel de l’instance SQL Server.

EXEC sp_addlinkedserver 'sqlserv2';
GO
EXEC sp_addserver 'rpcserv2';
GO
EXEC sp_setnetname 'rpcserv2', 'sqlserv2';

Remarque

L’utilisation sp_setnetname d’un serveur lié vers le serveur local n’est pas prise en charge. Les serveurs référencés de cette façon 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 administrative 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;