sp_addlinkedserver (Transact-SQL)sp_addlinkedserver (Transact-SQL)

S’APPLIQUE À : OuiSQL Server OuiAzure SQL Database (Managed Instance uniquement) NonAzure Synapse Analytics (SQL DW) NonParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database (Managed Instance only) NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Crée un serveur lié.Creates a linked server. Un serveur lié autorise l'accès à des sources de données OLE DB par l'intermédiaire de requêtes distribuées et hétérogènes.A linked server allows for access to distributed, heterogeneous queries against OLE DB data sources. Une fois qu’un serveur lié a été créé à l’aide de sp_addlinkedserver, des requêtes distribuées peuvent être exécutées sur ce serveur.After a linked server is created by using sp_addlinkedserver, distributed queries can be run against this server. Si le serveur lié est défini comme une instance de SQL ServerSQL Server, les procédures stockées distantes peuvent être exécutées.If the linked server is defined as an instance of SQL ServerSQL Server, remote stored procedures can be executed.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ]   
     [ , [ @provider= ] 'provider_name' ]  
     [ , [ @datasrc= ] 'data_source' ]   
     [ , [ @location= ] 'location' ]   
     [ , [ @provstr= ] 'provider_string' ]   
     [ , [ @catalog= ] 'catalog' ]   

ArgumentsArguments

[ @server = ] * 'serveur' * [ @server = ] 'server'
Nom du serveur lié à créer.Is the name of the linked server to create. Server est de type sysname, sans valeur par défaut.server is sysname, with no default.

[ @srvproduct = ] * 'product_name' * [ @srvproduct = ] 'product_name'
Nom de produit de la source de données OLE DB à ajouter comme serveur lié.Is the product name of the OLE DB data source to add as a linked server. product_name est de type nvarchar ( 128 ), avec NULL comme valeur par défaut.product_name is nvarchar( 128 ), with a default of NULL. Si SQL Server, provider_name, data_source, location, provider_stringet Catalog n’ont pas besoin d’être spécifiés.If SQL Server, provider_name, data_source, location, provider_string, and catalog do not have to be specified.

[ @provider = ] * 'provider_name' * [ @provider = ] 'provider_name'
ID de programme unique (PROGID) du fournisseur OLE DB correspondant à la source de données.Is the unique programmatic identifier (PROGID) of the OLE DB provider that corresponds to this data source. provider_name doit être unique pour le fournisseur de OLE DB spécifié installé sur l’ordinateur actuel.provider_name must be unique for the specified OLE DB provider installed on the current computer. provider_name est de type nvarchar (128), avec NULL comme valeur par défaut. Toutefois, si provider_name est omis, SQLNCLI est utilisé.provider_name is nvarchar(128), with a default of NULL; however, if provider_name is omitted, SQLNCLI is used.

Notes

L’utilisation de SQLNCLI redirige SQL ServerSQL Server vers la dernière version SQL ServerSQL Server du fournisseur OLE DB Native Client.Using SQLNCLI will redirect SQL ServerSQL Server to the latest version of SQL ServerSQL Server Native Client OLE DB Provider. Le fournisseur OLE DB doit être inscrit dans le Registre avec le PROGID spécifié.The OLE DB provider is expected to be registered with the specified PROGID in the registry.

Important

Le fournisseur Microsoft OLE DB pour SQL Server (SQLOLEDB) et le fournisseur SQL Server Native Client (SQLNCLI) précédents restent dépréciés, et nous vous déconseillons d’utiliser l’un ou l’autre dans de nouveaux développements.The previous Microsoft OLE DB Provider for SQL Server (SQLOLEDB) and SQL Server Native Client OLE DB provider (SQLNCLI) remain deprecated and it is not recommended to use either for new development work. Au lieu de cela, utilisez le nouveau Microsoft OLE DB Driver pour SQL Server (MSOLEDBSQL), qui sera mis à jour avec les fonctionnalités serveur les plus récentes.Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.

[ @datasrc = ] * 'data_source' * [ @datasrc = ] 'data_source'
Nom de la source de données, tel qu'il est interprété par le fournisseur OLE DB.Is the name of the data source as interpreted by the OLE DB provider. data_source est de type nvarchar ( 4000 ).data_source is nvarchar( 4000 ). data_source est passé comme DBPROP_INIT_DATASOURCE propriété pour initialiser le fournisseur de OLE DB.data_source is passed as the DBPROP_INIT_DATASOURCE property to initialize the OLE DB provider.

[ @location = ] * 'emplacement' * [ @location = ] 'location'
Emplacement de la base de données, tel qu'il est interprété par le fournisseur OLE DB.Is the location of the database as interpreted by the OLE DB provider. location est de type nvarchar ( 4000 ), avec NULL comme valeur par défaut.location is nvarchar( 4000 ), with a default of NULL. l' emplacement est passé en tant que propriété DBPROP_INIT_LOCATION pour initialiser le fournisseur OLE DB.location is passed as the DBPROP_INIT_LOCATION property to initialize the OLE DB provider.

[ @provstr = ] * 'provider_string' * [ @provstr = ] 'provider_string'
Chaîne de connexion spécifique au fournisseur OLE DB identifiant une source de données unique.Is the OLE DB provider-specific connection string that identifies a unique data source. provider_string est de type nvarchar ( 4000 ), avec NULL comme valeur par défaut.provider_string is nvarchar( 4000 ), with a default of NULL. provstr est passé à IDataInitialize ou défini en tant que propriété DBPROP_INIT_PROVIDERSTRING pour initialiser le fournisseur OLE DB.provstr is either passed to IDataInitialize or set as the DBPROP_INIT_PROVIDERSTRING property to initialize the OLE DB provider.

Lorsque le serveur lié est créé sur le SQL ServerSQL Server fournisseur Native Client OLE DB, l’instance peut être spécifiée à l’aide du mot clé Server en tant que Server =ServerName\InstanceName pour spécifier SQL ServerSQL Serverune instance spécifique de.When the linked server is created against the SQL ServerSQL Server Native Client OLE DB provider, the instance can be specified by using the SERVER keyword as SERVER=servername\instancename to specify a specific instance of SQL ServerSQL Server. ServerName est le nom de l’ordinateur sur lequel SQL ServerSQL Server s’exécute, et nom_instance est le nom de l’instance spécifique de SQL ServerSQL Server à laquelle l’utilisateur est connecté.servername is the name of the computer on which SQL ServerSQL Server is running, and instancename is the name of the specific instance of SQL ServerSQL Server to which the user will be connected.

Notes

Pour accéder à une base de données miroir, une chaîne de connexion doit contenir le nom de la base de données.To access a mirrored database, a connection string must contain the database name. Ce nom est nécessaire pour permettre au fournisseur d'accès aux données d'effectuer des tentatives de basculement.This name is necessary to enable failover attempts by the data access provider. La base de données peut être spécifiée ** @** dans le paramètre provstr ou ** @Catalog** .The database can be specified in the @provstr or @catalog parameter. Le cas échéant, la chaîne de connexion peut également fournir un nom de partenaire de basculement.Optionally, the connection string can also supply a failover partner name.

[ @catalog = ] * 'catalogue' * [ @catalog = ] 'catalog'
Catalogue à utiliser lors de l'établissement d'une connexion au fournisseur OLE DB.Is the catalog to be used when a connection is made to the OLE DB provider. Catalog est de type sysname, avec NULL comme valeur par défaut.catalog is sysname, with a default of NULL. le catalogue est passé en tant que propriété DBPROP_INIT_CATALOG pour initialiser le fournisseur OLE DB.catalog is passed as the DBPROP_INIT_CATALOG property to initialize the OLE DB provider. Lorsque le serveur lié est défini sur une instance de SQL ServerSQL Server, le catalogue fait référence à la base de données par défaut sur laquelle le serveur lié est mappé.When the linked server is defined against an instance of SQL ServerSQL Server, catalog refers to the default database to which the linked server is mapped.

Codet de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

Jeux de résultatsResult Sets

Aucun.None.

NotesRemarks

Le tableau suivant présente les façons dont un serveur lié peut être configuré pour des sources de données accessibles via OLE DB.The following table shows the ways that a linked server can be set up for data sources that can be accessed through OLE DB. Un serveur lié peut être configuré au moyen de plusieurs méthodes pour une même source de données ; il peut y avoir plusieurs lignes pour un type de source de données.A linked server can be set up more than one way for a particular data source; there can be more than one row for a data source type. Ce tableau indique également les valeurs de paramètres de sp_addlinkedserver à utiliser pour configurer le serveur lié.This table also shows the sp_addlinkedserver parameter values to be used for setting up the linked server.

Source de données OLE DB distanteRemote OLE DB data source Fournisseur OLE DBOLE DB provider product_nameproduct_name provider_nameprovider_name data_sourcedata_source locationlocation provider_stringprovider_string catalogcatalog
SQL ServerSQL Server MicrosoftMicrosoftSQL ServerSQL Server Fournisseur OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQL ServerSQL Server1 (par défaut)1 (default)
SQL ServerSQL Server MicrosoftMicrosoftSQL ServerSQL Server Fournisseur OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI Nom réseau de SQL ServerSQL Server (pour l'instance par défaut)Network name of SQL ServerSQL Server (for default instance) Nom de base de données (facultatif)Database name (optional)
SQL ServerSQL Server MicrosoftMicrosoftSQL ServerSQL Server Fournisseur OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI ServerName\InstanceName (pour une instance spécifique)servername\instancename (for specific instance) Nom de base de données (facultatif)Database name (optional)
Oracle, version 8 et ultérieureOracle, version 8 and later Fournisseur Oracle pour OLE DBOracle Provider for OLE DB QuelconqueAny OraOLEDB.OracleOraOLEDB.Oracle Alias de la base de données OracleAlias for the Oracle database
Access/JetAccess/Jet Fournisseur Microsoft OLE DB pour JetMicrosoft OLE DB Provider for Jet QuelconqueAny Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Nom d'accès complet du fichier de base de données JetFull path of Jet database file
Source de données ODBCODBC data source Fournisseur Microsoft OLE DB pour ODBCMicrosoft OLE DB Provider for ODBC QuelconqueAny MSDASQLMSDASQL Système DSN de la source de données ODBCSystem DSN of ODBC data source
Source de données ODBCODBC data source MicrosoftMicrosoftFournisseur OLE DB pour ODBCOLE DB Provider for ODBC QuelconqueAny MSDASQLMSDASQL Chaîne de connexion ODBCODBC connection string
Système de fichiersFile system Fournisseur MicrosoftMicrosoft OLE DB pour le service d'indexationMicrosoftMicrosoft OLE DB Provider for Indexing Service QuelconqueAny MSIDXSMSIDXS Nom du catalogue du Service d'indexationIndexing Service catalog name
Feuille de calcul MicrosoftMicrosoft ExcelMicrosoftMicrosoft Excel Spreadsheet MicrosoftMicrosoftFournisseur de OLE DB pour jetOLE DB Provider for Jet QuelconqueAny Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Chemin complet du fichier ExcelFull path of Excel file Excel 5,0Excel 5.0
Base de données IBM DB2IBM DB2 Database Fournisseur MicrosoftMicrosoft OLE DB pour DB2MicrosoftMicrosoft OLE DB Provider for DB2 QuelconqueAny DB2OLEDBDB2OLEDB Consultez MicrosoftMicrosoft OLE DB fournisseur pour la documentation DB2.See MicrosoftMicrosoft OLE DB Provider for DB2 documentation. Nom de catalogue de base de données DB2Catalog name of DB2 database

1 cette méthode de configuration d’un serveur lié force le nom du serveur lié à être le même que le nom réseau de l’instance distante SQL ServerSQL Serverde.1 This way of setting up a linked server forces the name of the linked server to be the same as the network name of the remote instance of SQL ServerSQL Server. Utilisez data_source pour spécifier le serveur.Use data_source to specify the server.

2 « any » indique que le nom du produit peut être n’importe quoi.2 "Any" indicates that the product name can be anything.

Le MicrosoftMicrosoft SQL ServerSQL Server fournisseur OLE DB Native Client est le fournisseur utilisé avec SQL ServerSQL Server si aucun nom de fournisseur n’est spécifié ou si SQL ServerSQL Server est spécifié comme nom de produit.The MicrosoftMicrosoft SQL ServerSQL Server Native Client OLE DB provider is the provider that is used with SQL ServerSQL Server if no provider name is specified or if SQL ServerSQL Server is specified as the product name. Même si vous spécifiez l'ancien nom du fournisseur, SQLOLEDB, il est remplacé par SQLNCLI lorsqu'il est persistant pour le catalogue.Even if you specify the older provider name, SQLOLEDB, it will be changed to SQLNCLI when persisted to the catalog.

Les paramètres data_source, location, provider_stringet Catalog identifient la ou les bases de données vers lesquelles pointe le serveur lié.The data_source, location, provider_string, and catalog parameters identify the database or databases the linked server points to. Si un de ces paramètres a la valeur NULL, la propriété d'initialisation OLE DB correspondante n'est pas définie.If any one of these parameters is NULL, the corresponding OLE DB initialization property is not set.

Dans un environnement ordonné en clusters, lorsque vous spécifiez des noms de fichiers qui pointent vers des sources de données OLE DB, utilisez le nom UNC (Universal Naming Convention) ou un lecteur partagé pour spécifier l'emplacement.In a clustered environment, when you specify file names to point to OLE DB data sources, use the universal naming convention name (UNC) or a shared drive to specify the location.

sp_addlinkedserver ne peut pas être exécutée dans une transaction définie par l’utilisateur.sp_addlinkedserver cannot be executed within a user-defined transaction.

Important

Lorsqu’un serveur lié est créé à l’aide de sp_addlinkedserver, un auto-mappage par défaut est ajouté pour toutes les connexions locales.When a linked server is created by using sp_addlinkedserver, a default self-mapping is added for all local logins. Pour les non SQL ServerSQL Server -fournisseurs SQL ServerSQL Server , les connexions authentifiées peuvent être en mesure d’accéder au fournisseur sous le SQL ServerSQL Server compte de service.For non- SQL ServerSQL Server providers, SQL ServerSQL Server Authenticated logins may be able to gain access to the provider under the SQL ServerSQL Server service account. Les administrateurs doivent envisager d'utiliser sp_droplinkedsrvlogin <linkedserver_name>, NULL pour supprimer le mappage global.Administrators should consider using sp_droplinkedsrvlogin <linkedserver_name>, NULL to remove the global mapping.

AutorisationsPermissions

L' sp_addlinkedserver instruction requiert l' ALTER ANY LINKED SERVER autorisation.The sp_addlinkedserver statement requires the ALTER ANY LINKED SERVER permission. (La SQL Server Management StudioSQL Server Management Studio boîte de dialogue nouveau serveur lié est implémentée d’une manière qui requiert l' sysadmin appartenance au rôle serveur fixe.)(The SQL Server Management StudioSQL Server Management Studio New Linked Server dialog box is implemented in a way that requires membership in the sysadmin fixed server role.)

ExemplesExamples

R.A. Utilisation du fournisseur de OLE DB Microsoft SQL ServerUsing the Microsoft SQL Server OLE DB Provider

L'exemple suivant crée un serveur lié nommé SEATTLESales.The following example creates a linked server named SEATTLESales. Le nom du produit est SQL Server ; aucun nom de fournisseur n'est utilisé.The product name is SQL Server, and no provider name is used.

USE master;  
GO  
EXEC sp_addlinkedserver   
   N'SEATTLESales',  
   N'SQL Server';  
GO  

L’exemple suivant crée un serveur S1_instance1 lié sur une instance de SQL ServerSQL Server à l’aide SQL ServerSQL Server du pilote OLE DB.The following example creates a linked server S1_instance1 on an instance of SQL ServerSQL Server by using the SQL ServerSQL Server OLE DB driver.

EXEC sp_addlinkedserver     
   @server=N'S1_instance1',   
   @srvproduct=N'',  
   @provider=N'MSOLEDBSQL',   
   @datasrc=N'S1\instance1';  

L’exemple suivant crée un serveur S1_instance1 lié sur une instance de SQL ServerSQL Server à l’aide SQL ServerSQL Server du fournisseur de OLE DB Native Client.The following example creates a linked server S1_instance1 on an instance of SQL ServerSQL Server by using the SQL ServerSQL Server Native Client OLE DB provider.

Important

Le fournisseur SQL Server Native Client OLE DB (SQLNCLI) reste déprécié, et il n’est pas recommandé de l’utiliser pour les nouveaux développements.SQL Server Native Client OLE DB provider (SQLNCLI) remains deprecated and it is not recommended to use it for new development work. Au lieu de cela, utilisez le nouveau Microsoft OLE DB Driver pour SQL Server (MSOLEDBSQL), qui sera mis à jour avec les fonctionnalités serveur les plus récentes.Instead, use the new Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) which will be updated with the most recent server features.

EXEC sp_addlinkedserver     
   @server=N'S1_instance1',   
   @srvproduct=N'',  
   @provider=N'SQLNCLI',   
   @datasrc=N'S1\instance1';  

B.B. Utilisation du fournisseur Microsoft OLE DB pour Microsoft AccessUsing the Microsoft OLE DB Provider for Microsoft Access

Le fournisseur Microsoft.Jet.OLEDB.4.0 se connecte aux bases de données Microsoft Access qui utilisent le format 2002-2003.The Microsoft.Jet.OLEDB.4.0 provider connects to Microsoft Access databases that use the 2002-2003 format. L'exemple suivant crée un serveur lié nommé SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Notes

Cet exemple suppose que l' MicrosoftMicrosoft accès et l’exemple de base de données Northwind sont installés et que la base de données Northwind réside dans C:\Msoffice\Access\Samples.This example assumes that both MicrosoftMicrosoft Access and the sample Northwind database are installed and that the Northwind database resides in C:\Msoffice\Access\Samples.

EXEC sp_addlinkedserver   
   @server = N'SEATTLE Mktg',   
   @provider = N'Microsoft.Jet.OLEDB.4.0',   
   @srvproduct = N'OLE DB Provider for Jet',  
   @datasrc = N'C:\MSOffice\Access\Samples\Northwind.mdb';  
GO  

Le fournisseur Microsoft.ACE.OLEDB.12.0 se connecte aux bases de données Microsoft Access qui utilisent le format 2007.The Microsoft.ACE.OLEDB.12.0 provider connects to Microsoft Access databases that use the 2007 format. L'exemple suivant crée un serveur lié nommé SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Notes

Cet exemple suppose que l' MicrosoftMicrosoft accès et l’exemple de base de données Northwind sont installés et que la base de données Northwind réside dans C:\Msoffice\Access\Samples.This example assumes that both MicrosoftMicrosoft Access and the sample Northwind database are installed and that the Northwind database resides in C:\Msoffice\Access\Samples.

EXEC sp_addlinkedserver   
   @server = N'SEATTLE Mktg',   
   @provider = N'Microsoft.ACE.OLEDB.12.0',   
   @srvproduct = N'OLE DB Provider for ACE',  
   @datasrc = N'C:\MSOffice\Access\Samples\Northwind.accdb';  
GO  

C.C. Utilisation du fournisseur Microsoft OLE DB pour ODBC avec le paramètre data_sourceUsing the Microsoft OLE DB Provider for ODBC with the data_source parameter

L’exemple suivant crée un serveur lié nommé SEATTLE Payroll qui utilise le MicrosoftMicrosoft fournisseur OLE DB pour ODBC (MSDASQL) et le paramètre data_source .The following example creates a linked server named SEATTLE Payroll that uses the MicrosoftMicrosoft OLE DB Provider for ODBC (MSDASQL) and the data_source parameter.

Notes

Le nom de la source de données ODBC spécifiée doit être défini comme DSN système dans le serveur avant d'utiliser le serveur lié.The specified ODBC data source name must be defined as System DSN in the server before you use the linked server.

EXEC sp_addlinkedserver   
   @server = N'SEATTLE Payroll',   
   @srvproduct = N'',  
   @provider = N'MSDASQL',   
   @datasrc = N'LocalServer';  
GO  

D.D. Utilisation du fournisseur Microsoft OLE DB pour une feuille de calcul ExcelUsing the Microsoft OLE DB Provider for Excel spreadsheet

Pour créer une définition de serveur lié à MicrosoftMicrosoft l’aide du fournisseur de OLE DB pour jet afin d’accéder à une feuille de calcul Excel au format 1997-2003, commencez par créer une plage nommée dans Excel en spécifiant les colonnes et les lignes de la feuille de calcul Excel à sélectionner.To create a linked server definition using the MicrosoftMicrosoft OLE DB Provider for Jet to access an Excel spreadsheet in the 1997 - 2003 format, first create a named range in Excel by specifying the columns and rows of the Excel worksheet to select. Le nom de la plage peut correspondre à un nom de table dans une requête distribuée.The name of the range can then be referenced as a table name in a distributed query.

EXEC sp_addlinkedserver 'ExcelSource',  
   'Jet 4.0',  
   'Microsoft.Jet.OLEDB.4.0',  
   'c:\MyData\DistExcl.xls',  
   NULL,  
   'Excel 5.0';  
GO  

Pour accéder aux données d'une feuille de calcul Excel, associez une plage de cellules à un nom.To access data from an Excel spreadsheet, associate a range of cells with a name. La requête suivante peut s'utiliser pour accéder à la plage nommée SalesData en tant que table en utilisant le serveur lié défini précédemment.The following query can be used to access the specified named range SalesData as a table by using the linked server set up previously.

SELECT *  
   FROM ExcelSource...SalesData;  
GO  

Si SQL ServerSQL Server s'exécute sous un compte de domaine qui peut accéder à un partage distant, il est possible d'utiliser un chemin UNC à la place d'un lecteur mappé.If SQL ServerSQL Server is running under a domain account that has access to a remote share, a UNC path can be used instead of a mapped drive.

EXEC sp_addlinkedserver 'ExcelShare',  
   'Jet 4.0',  
   'Microsoft.Jet.OLEDB.4.0',  
   '\\MyServer\MyShare\Spreadsheets\DistExcl.xls',  
   NULL,  
   'Excel 5.0';  

Pour vous connecter à une feuille de calcul Excel au format Excel 2007, utilisez le fournisseur ACE.To connect to an Excel spreadsheet in the Excel 2007 format use the ACE provider.

EXEC sp_addlinkedserver @server = N'ExcelDataSource',   
@srvproduct=N'ExcelData', @provider=N'Microsoft.ACE.OLEDB.12.0',   
@datasrc=N'C:\DataFolder\People.xlsx',  
@provstr=N'EXCEL 12.0' ;  
  

E.E. Utilisation du fournisseur Microsoft OLE DB pour Jet pour accéder à un fichier texteUsing the Microsoft OLE DB Provider for Jet to access a text file

Le code exemple suivant crée un serveur lié pour accéder directement aux fichiers texte, sans lier les fichiers en tant que tables dans un fichier .mdb de Microsoft Access.The following example creates a linked server for directly accessing text files, without linking the files as tables in an Access .mdb file. Le fournisseur est Microsoft.Jet.OLEDB.4.0 ; la chaîne de caractères du fournisseur est Text.The provider is Microsoft.Jet.OLEDB.4.0 and the provider string is Text.

La source de données est le chemin d'accès complet au répertoire qui contient les fichiers texte.The data source is the full path of the directory that contains the text files. Un fichier schema.ini, qui décrit la structure des fichiers texte, doit se trouver dans le même répertoire que les fichiers texte.A schema.ini file, which describes the structure of the text files, must exist in the same directory as the text files. Pour plus d'informations sur la création d'un fichier Schema.ini, consultez la documentation du moteur de base de données Jet.For more information about how to create a Schema.ini file, see the Jet Database Engine documentation.

--Create a linked server.  
EXEC sp_addlinkedserver txtsrv, N'Jet 4.0',   
   N'Microsoft.Jet.OLEDB.4.0',  
   N'c:\data\distqry',  
   NULL,  
   N'Text';  
GO  
  
--Set up login mappings.  
EXEC sp_addlinkedsrvlogin txtsrv, FALSE, Admin, NULL;  
GO  
  
--List the tables in the linked server.  
EXEC sp_tables_ex txtsrv;  
GO  
  
--Query one of the tables: file1#txt  
--using a four-part name.   
SELECT *   
FROM txtsrv...[file1#txt];  

F.F. Utilisation du fournisseur Microsoft OLE DB pour DB2Using the Microsoft OLE DB Provider for DB2

Le code exemple suivant crée un serveur lié nommé DB2 qui utilise le Microsoft OLE DB Provider for DB2.The following example creates a linked server named DB2 that uses the Microsoft OLE DB Provider for DB2.

EXEC sp_addlinkedserver  
   @server=N'DB2',  
   @srvproduct=N'Microsoft OLE DB Provider for DB2',  
   @catalog=N'DB2',  
   @provider=N'DB2OLEDB',  
   @provstr=N'Initial Catalog=PUBS;  
       Data Source=DB2;  
       HostCCSID=1252;  
       Network Address=XYZ;  
       Network Port=50000;  
       Package Collection=admin;  
       Default Schema=admin;';  

G.G. Ajouter Azure SQL DatabaseAzure SQL Database en tant que serveur lié pour une utilisation avec des requêtes distribuées sur des bases de données Cloud et localesAdd a Azure SQL DatabaseAzure SQL Database as a Linked Server For Use With Distributed Queries on Cloud and On-Premises Databases

Ajoutez Azure SQL DatabaseAzure SQL Database en tant que serveur lié, puis utilisez-le avec des requêtes distribuées qui couvrent les bases de données du cloud et locales.You can add a Azure SQL DatabaseAzure SQL Database as a linked server and then use it with distributed queries that span the on-premises and cloud databases. Il s’agit d’un composant pour les solutions hybrides de base de données couvrant des réseaux d’entreprise locaux et le Cloud Azure.This is a component for database hybrid solutions spanning on-premises corporate networks and the Azure cloud.

Le SQL ServerSQL Server produit Box contient la fonctionnalité de requête distribuée, qui vous permet d’écrire des requêtes pour combiner des données provenant de sources de données locales et de données provenant de SQL ServerSQL Server sources distantes (y compris des données provenant de sources autres que des données) définies en tant que serveurs liés.The SQL ServerSQL Server box product contains the distributed query feature, which allows you to write queries to combine data from local data sources and data from remote sources (including data from non- SQL ServerSQL Server data sources) defined as linked servers. Chaque Azure SQL DatabaseAzure SQL Database (sauf le maître virtuel) peut être ajoutée en tant que serveur lié individuel, puis être utilisée directement dans vos applications de base de données comme toute autre base de données.Every Azure SQL DatabaseAzure SQL Database (except the virtual master) can be added as an individual linked server and then used directly in your database applications as any other database.

Les avantages de l'utilisation de Azure SQL DatabaseAzure SQL Database sont la simplicité de gestion, la haute disponibilité, l'extensibilité, l'utilisation d'un modèle de développement familier et un modèle de données relationnelles.The benefits of using Azure SQL DatabaseAzure SQL Database include manageability, high availability, scalability, working with a familiar development model, and a relational data model. La configuration de votre application de base de données détermine le mode d'utilisation de Azure SQL DatabaseAzure SQL Database dans le cloud.The requirements of your database application determine how it would use Azure SQL DatabaseAzure SQL Database in the cloud. Déplacez toutes les données à la fois vers Azure SQL DatabaseAzure SQL Database, ou déplacez progressivement certaines de vos données et conservez les autres localement.You can move all of your data at once to Azure SQL DatabaseAzure SQL Database, or progressively move some of your data while keeping the remaining data on-premises. Pour une application de base de données Azure SQL DatabaseAzure SQL Database hybride, peut désormais être ajoutée en tant que serveurs liés et l’application de base de données peut Azure SQL DatabaseAzure SQL Database émettre des requêtes distribuées pour combiner des données provenant de sources de données et locales.For such a hybrid database application, Azure SQL DatabaseAzure SQL Database can now be added as linked servers and the database application can issue distributed queries to combine data from Azure SQL DatabaseAzure SQL Database and on-premises data sources.

Voici un exemple simple expliquant comment se connecter à un Azure SQL DatabaseAzure SQL Database à l’aide de requêtes distribuées :Here's a simple example explaining how to connect to a Azure SQL DatabaseAzure SQL Database using distributed queries:

-- Configure the linked server  
-- Add one Azure SQL DB as Linked Server  
EXEC sp_addlinkedserver  
  @server='myLinkedServer', -- here you can specify the name of the linked server  
  @srvproduct='',       
  @provider='sqlncli', -- using SQL Server Native Client  
  @datasrc='myServer.database.windows.net',   -- add here your server name  
  @location='',  
  @provstr='',  
  @catalog='myDatabase'  -- add here your database name as initial catalog (you cannot connect to the master database)  

-- Add credentials and options to this linked server  
EXEC sp_addlinkedsrvlogin  
  @rmtsrvname = 'myLinkedServer',  
  @useself = 'false',  
  @rmtuser = 'myLogin',             -- add here your login on Azure DB  
  @rmtpassword = 'myPassword' -- add here your password on Azure DB  

EXEC sp_serveroption 'myLinkedServer', 'rpc out', true;  

-- Now you can use the linked server to execute 4-part queries  
-- You can create a new table in the Azure DB  
EXEC ('CREATE TABLE t1tutut2(col1 int not null CONSTRAINT PK_col1 PRIMARY KEY CLUSTERED (col1) )') at myLinkedServer  
-- Insert data from your local SQL Server  
EXEC ('INSERT INTO t1tutut2 VALUES(1),(2),(3)') at myLinkedServer  
  
-- Query the data using 4-part names  
SELECT * FROM myLinkedServer.myDatabase.dbo.myTable  

Voir aussiSee Also

Procédures stockées de requêtes distribuées (Transact-SQL) Distributed Queries Stored Procedures (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL) sp_addlinkedsrvlogin (Transact-SQL)
sp_addserver (Transact-SQL) sp_addserver (Transact-SQL)
sp_dropserver (Transact-SQL) sp_dropserver (Transact-SQL)
sp_serveroption (Transact-SQL) sp_serveroption (Transact-SQL)
sp_setnetname (Transact-SQL) sp_setnetname (Transact-SQL)
Procédures stockées système (Transact-SQL) System Stored Procedures (Transact-SQL)
Tables système ()Transact-SQLSystem Tables (Transact-SQL)