Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Les serveurs distants sont pris en charge dans SQL Server uniquement pour des raisons de compatibilité descendante. Il est préférable d'utiliser plutôt des serveurs liés dans les nouvelles applications. Pour plus d’informations, consultez Serveurs liés (moteur de base de données).
Une configuration de serveur distant permet à un client connecté à une instance de SQL Server d’exécuter une procédure stockée sur une autre instance de SQL Server sans qu’il soit nécessaire d’établir une connexion distincte. Le serveur auquel le client est connecté accepte donc la demande du client et l'envoie au serveur distant, pour le compte du client. Le serveur distant traite la demande et renvoie les résultats au serveur d'origine, qui à son tour transmet les résultats au client. Lors de l'élaboration d'une configuration de serveur distant, la mise en œuvre de la sécurité doit être étudiée avec soin.
Si vous souhaitez configurer une configuration de serveur pour exécuter des procédures stockées sur un autre serveur et ne disposez pas de configurations de serveur distant existantes, utilisez des serveurs liés au lieu de serveurs distants. Les procédures stockées et les requêtes distribuées sont autorisées pour les serveurs liés ; en revanche, seules les procédures stockées sont autorisées pour les serveurs distants.
Détails du serveur distant
Les serveurs distants sont installés par paires. Pour constituer une paire de serveurs distants, configurez les deux serveurs afin qu'ils se reconnaissent mutuellement en tant que serveurs distants.
La plupart du temps, vous ne devez pas avoir à définir d’options de configuration pour les serveurs distants. SQL Server Détermine les valeurs par défaut sur les ordinateurs locaux et distants afin de permettre les connexions de serveur distant.
Pour que l’accès au serveur distant fonctionne, l’option remote access de configuration doit être définie 1 sur les ordinateurs locaux et distants. (Il s’agit du paramètre par défaut.) remote access contrôle les connexions à partir de serveurs distants. Vous pouvez réinitialiser cette option de configuration à l’aide de la procédure stockée Transact-SQL sp_configure ou de SQL Server Management Studio. Pour définir cette option dans SQL Server Management Studio, utilisez l’option Autoriser les accès distants à ce serveur dans la page Connexions de la boîte de dialogue Propriétés du serveur. Pour atteindre la page Connexions des propriétés du serveur, dans l’Explorateur d’objets, cliquez avec le bouton droit sur le nom du serveur, puis sélectionnez Propriétés. Dans la page Propriétés du serveur , sélectionnez la page Connexions .
À partir du serveur local, vous pouvez désactiver une configuration de serveur distant pour empêcher l’accès à ce serveur local par les utilisateurs sur le serveur distant avec lequel il est associé.
Sécurité des serveurs distants
Pour permettre les appels de procédures à distance (RPC) sur un serveur distant, vous devez définir des mappages de connexion sur le serveur distant et éventuellement sur le serveur local exécutant une instance SQL Server. Par défaut, les appels de procédure distante sont désactivés dans SQL Server. Cette configuration accroît la sécurité de votre serveur en réduisant sa zone de surface attaquable. Vous devez activer cette fonctionnalité avant de pouvoir l'utiliser. Pour plus d’informations , consultez sp_configure.
Configurer le serveur distant
Les mappages de connexion à distance doivent être configurés sur le serveur distant. Ils permettent au serveur distant d'établir le mappage entre la connexion d'accès entrant RPC d'un serveur donné et la connexion d'accès locale. Les mappages de connexion à distance peuvent être configurés à l’aide de la sp_addremotelogin procédure stockée sur le serveur distant.
Notes
L’option approuvée n’est sp_remoteoption pas prise en charge dans SQL Server.
Configurer le serveur local
Pour les connexions locales authentifiées sql Server, vous n’avez pas besoin de configurer un mappage de connexion sur le serveur local. SQL Server utilise la connexion locale et le mot de passe pour se connecter au serveur distant. En revanche, pour les connexions authentifiés par Windows, vous devez définir un mappage de connexion locale sur un serveur local qui définit la connexion et le mot de passe à utiliser par une instance de SQL Server en cas de connexion RPC sur un serveur distant.
Pour les connexions créées par l’authentification Windows, vous devez créer un mappage avec un nom de connexion et un mot de passe à l’aide de la sp_addlinkedservlogin procédure stockée. Ce nom de connexion et ce mot de passe doivent correspondre à la connexion entrante et au mot de passe attendus par le serveur distant, comme créé par sp_addremotelogin.
Notes
Lorsque c'est possible, utilisez l'authentification Windows.
Exemple de sécurité de serveur distant
Tenez compte de ces installations SQL Server : serverSend et serverReceive.
serverReceive est configuré pour mapper une connexion entrante depuis serverSend, appelée Sales_Mary, à une connexion authentifiée SQL Server dans serverReceive, appelée Alice. Une autre connexion entrante à partir serverSendde , appelée Joe, est mappée à une connexion authentifiée SQL Server ,serverReceive appelée Joe.
L’exemple de code Transact-SQL suivant illustre la configuration du serveur serverSend en vue de l’exécution de RPC sur le serveur serverReceive.
--Create remote server entry for RPCs
--from serverSend in serverReceive.
EXECUTE sp_addserver 'serverSend';
GO
--Create remote login mapping for login 'Sales_Mary' from serverSend
--to Alice.
EXECUTE sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary';
GO
--Create remote login mapping for login Joe from serverReceive
--to same login.
--Assumes same password for Joe in both servers.
EXECUTE sp_addremotelogin 'serverSend', 'Joe', 'Joe';
GO
Sur serverSend, un mappage de connexion locale est créé pour une connexion authentifiée Windows Sales\Mary à une connexion Sales_Mary. Aucun mappage local n'est nécessaire pour la connexion Joepuisque le même nom de connexion et le même mot de passe sont utilisés par défaut et que le serveur serverReceive possède un mappage pour la connexion Joe.
--Create a remote server entry for RPCs from serverReceive.
EXECUTE sp_addserver 'serverReceive';
GO
--Create a local login mapping for the Windows authenticated login.
--Sales\Mary to Sales_Mary. The password should match the
--password for the login Sales_Mary in serverReceive.
EXECUTE sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary', 'Sales_Mary', '<password>';
GO
Afficher les propriétés du serveur local ou distant
Vous pouvez utiliser la xp_msver procédure stockée étendue pour passer en revue les attributs du serveur pour les serveurs locaux ou distants. Ces attributs comprennent le numéro de version de SQL Server, le nombre de processeurs de l'ordinateur et leur type, ainsi que la version du système d'exploitation. À partir du serveur local, vous pouvez afficher les bases de données, les fichiers, les connexions et les outils d'un serveur distant. Pour plus d’informations, consultez xp_msver.
Tâches associées
Serveurs liés (moteur de base de données)