Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Configurez un serveur lié pour permettre au moteur de base de données SQL Server d’exécuter des commandes sur des sources de données OLE DB en dehors de l’instance de SQL Server. En règle générale, les serveurs liés sont configurés pour permettre au moteur de base de données d’exécuter une instruction Transact-SQL qui inclut des tables dans une autre instance de SQL Server ou un autre produit de base de données tel qu’Oracle. De nombreux types de sources de données OLE DB peuvent être configurés en tant que serveurs liés, notamment Microsoft Access et Excel. Les serveurs liés offrent les avantages suivants :
Possibilité d’accéder aux données en dehors de SQL Server.
Possibilité d’émettre des requêtes distribuées, des mises à jour, des commandes et des transactions sur des sources de données hétérogènes au sein de l’entreprise.
Possibilité d’aborder diverses sources de données de la même façon.
Vous pouvez configurer un serveur lié à l’aide de SQL Server Management Studio ou à l’aide de l’instruction sp_addlinkedserver (Transact-SQL). Les fournisseurs OLE DB varient considérablement dans le type et le nombre de paramètres requis. Par exemple, certains fournisseurs vous obligent à fournir un contexte de sécurité pour la connexion à l’aide de sp_addlinkedsrvlogin (Transact-SQL). Certains fournisseurs OLE DB permettent à SQL Server de mettre à jour les données sur la source OLE DB. D’autres fournissent uniquement un accès aux données en lecture seule. Pour plus d’informations sur chaque fournisseur OLE DB, consultez la documentation de ce fournisseur OLE DB.
Composants serveur liés
Une définition de serveur lié spécifie les objets suivants :
Un fournisseur OLE DB
Source de données OLE DB
Un fournisseur OLE DB est une DLL qui gère et interagit avec une source de données spécifique. Une source de données OLE DB identifie la base de données spécifique accessible via OLE DB. Bien que les sources de données interrogées via des définitions de serveur lié soient généralement des bases de données, les fournisseurs OLE DB existent pour divers fichiers et formats de fichiers. Il s’agit notamment de fichiers texte, de données de feuille de calcul et des résultats des recherches de contenu en texte intégral.
Le fournisseur OLE DB Microsoft SQL Server Native Client (PROGID : SQLNCLI11) est le fournisseur OLE DB officiel pour SQL Server.
Remarque
Les requêtes distribuées SQL Server sont conçues pour fonctionner avec n’importe quel fournisseur OLE DB qui implémente les interfaces OLE DB requises. Toutefois, SQL Server a été testé uniquement par rapport au fournisseur OLE DB SQL Server Native Client et à certains autres fournisseurs.
Détails du serveur lié
L’illustration suivante montre les principes de base d’une configuration de serveur lié.
En règle générale, les serveurs liés sont utilisés pour gérer les requêtes distribuées. Lorsqu’une application cliente exécute une requête distribuée via un serveur lié, SQL Server analyse la commande et envoie des requêtes à OLE DB. La demande d’ensemble de lignes peut être sous la forme de l’exécution d’une requête sur le fournisseur ou de l’ouverture d’une table de base à partir du fournisseur.
Pour qu’une source de données retourne des données via un serveur lié, le fournisseur OLE DB pour cette source de données doit être présent sur le même serveur que l’instance de SQL Server.
Lorsqu’un fournisseur OLE DB tiers est utilisé, le compte sous lequel le service SQL Server s’exécute doit disposer d’autorisations de lecture et d’exécution pour le répertoire, et tous les sous-répertoires, dans lesquels le fournisseur est installé.
Gestion des fournisseurs
Il existe un ensemble d’options qui contrôlent la façon dont SQL Server charge et utilise des fournisseurs OLE DB spécifiés dans le Registre.
Gestion des définitions de serveurs liés
Lorsque vous configurez un serveur lié, inscrivez les informations de connexion et les informations de source de données auprès de SQL Server. Une fois inscrite, cette source de données peut être référencée avec un nom logique unique.
Vous pouvez utiliser des procédures stockées et des vues catalogue pour gérer les définitions de serveur lié :
Créez une définition de serveur lié en exécutant sp_addlinkedserver.
Affichez des informations sur les serveurs liés définis dans une instance spécifique de SQL Server en exécutant une requête sur les vues de catalogue système sys.servers .
Supprimez une définition de serveur lié en exécutant sp_dropserver. Vous pouvez également utiliser cette procédure stockée pour supprimer un serveur distant.
Vous pouvez également définir des serveurs liés à l’aide de SQL Server Management Studio. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur Objets serveur, sélectionnez Nouveau, puis sélectionnez Serveur lié. Vous pouvez supprimer une définition de serveur lié en cliquant avec le bouton droit sur le nom du serveur lié et en sélectionnant Supprimer.
Lorsque vous exécutez une requête distribuée sur un serveur lié, incluez un nom de table en quatre parties complet pour chaque source de données à interroger. Ce nom en quatre parties doit se trouver sous la forme linked_server_name.catalog.schema.object_name.
Remarque
Les serveurs liés peuvent être définis pour pointer vers le serveur sur lequel ils sont définis. Les serveurs de bouclage sont les plus utiles lors du test d’une application qui utilise des requêtes distribuées sur un seul réseau de serveurs. Les serveurs liés de bouclage sont conçus pour les tests et ne prennent pas en charge de nombreuses opérations, comme les transactions distribuées.
Tâches associées
Créer des serveurs liés (moteur de base de données SQL Server)
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)