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

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ:даSQL Server (начиная с 2008)нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseTHIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Создает связанный сервер.Creates a linked server. Связанные серверы позволяют выполнять распределенные разнородные запросы к источникам данных OLE DB.A linked server allows for access to distributed, heterogeneous queries against OLE DB data sources. После создания связанного сервера с помощью sp_addlinkedserverраспределенные запросы могут выполняться на этом сервере.After a linked server is created by using sp_addlinkedserver, distributed queries can be run against this server. Если связанный сервер определен в качестве экземпляра SQL ServerSQL Server, на нем могут выполняться удаленные хранимые процедуры.If the linked server is defined as an instance of SQL ServerSQL Server, remote stored procedures can be executed.

Значок ссылки на раздел Синтаксические обозначения в Transact-SQLTopic link icon Transact-SQL Syntax Conventions

СинтаксисSyntax


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

АргументыArguments

[ @server= ] 'server'[ @server= ] 'server'
Имя создаваемого связанного сервера.Is the name of the linked server to create. Аргументserver имеет тип sysnameи не имеет значения по умолчанию.server is sysname, with no default.

[ @srvproduct= ] "product_name"[ @srvproduct= ] 'product_name'
Введите название продукта для источника данных OLE DB, который добавляется в качестве связанного сервера.Is the product name of the OLE DB data source to add as a linked server. product_namenvarchar ( 128 ), значение по умолчанию NULL.product_name is nvarchar( 128 ), with a default of NULL. Если SQL Server, provider_name, источник_данных, расположение, provider_string, и каталога не должны быть указаны.If SQL Server, provider_name, data_source, location, provider_string, and catalog do not have to be specified.

[ @provider= ] "provider_name"[ @provider= ] 'provider_name'
Введите уникальный программный идентификатор (PROGID) поставщика OLE DB, соответствующий этому источнику данных.Is the unique programmatic identifier (PROGID) of the OLE DB provider that corresponds to this data source. provider_name должно быть уникальным для указанного поставщика OLE DB, который установлен на данном компьютере.provider_name must be unique for the specified OLE DB provider installed on the current computer. provider_namenvarchar ( 128 ), значение по умолчанию NULL; тем не менее, если provider_name — этот параметр опущен, используется значение SQLNCLI.provider_name is nvarchar( 128 ), with a default of NULL; however, if provider_name is omitted, SQLNCLI is used. (При использовании SQLNCLI SQL ServerSQL Server будет использовать последнюю версию поставщика OLE DB для собственного клиента SQL ServerSQL Server.) Предполагается, что поставщик OLE DB будет зарегистрирован в реестре с указанным идентификатором PROGID.(Use SQLNCLI and SQL ServerSQL Server will redirect to the latest version of SQL ServerSQL Server Native Client OLE DB Provider.) The OLE DB provider is expected to be registered with the specified PROGID in the registry.

[ @datasrc= ] "источник_данных"[ @datasrc= ] 'data_source'
Имя источника данных, как оно интерпретируется поставщиком OLE DB.Is the name of the data source as interpreted by the OLE DB provider. источник_данныхnvarchar ( 4000 ).data_source is nvarchar( 4000 ). источник_данных передается как свойство DBPROP_INIT_DATASOURCE для инициализации поставщика OLE DB.data_source is passed as the DBPROP_INIT_DATASOURCE property to initialize the OLE DB provider.

[ @location= ] "расположение"[ @location= ] 'location'
Введите местонахождение базы данных, понятное поставщику OLE DB.Is the location of the database as interpreted by the OLE DB provider. расположениеnvarchar ( 4000 ), значение по умолчанию NULL.location is nvarchar( 4000 ), with a default of NULL. расположение передается как свойство DBPROP_INIT_LOCATION для инициализации поставщика OLE DB.location is passed as the DBPROP_INIT_LOCATION property to initialize the OLE DB provider.

[ @provstr= ] "provider_string"[ @provstr= ] 'provider_string'
Строка подключения для конкретного поставщика OLE DB, указывающая уникальный источник данных.Is the OLE DB provider-specific connection string that identifies a unique data source. provider_stringnvarchar ( 4000 ), значение по умолчанию NULL.provider_string is nvarchar( 4000 ), with a default of NULL. provstr передаваемый IDataInitialize или задается как свойство DBPROP_INIT_PROVIDERSTRING для инициализации поставщика OLE DB.provstr is either passed to IDataInitialize or set as the DBPROP_INIT_PROVIDERSTRING property to initialize the OLE DB provider.

При создании связанного сервера для SQL ServerSQL Server поставщика OLE DB для собственного клиента экземпляра можно указать с помощью ключевого слова SERVER как сервер =servername\instancenameдля указания определенного экземпляра SQL ServerSQL Server.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 — имя компьютера, на котором SQL ServerSQL Server работает, и instancename имя конкретного экземпляра SQL ServerSQL Server к которой будет подключен пользователь.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.

Примечание

Чтобы получить доступ к зеркальной базе данных, строка соединения должна содержать имя базы данных.To access a mirrored database, a connection string must contain the database name. Это имя необходимо, чтобы предоставить поставщику доступа к данным возможность пытаться отработать отказ.This name is necessary to enable failover attempts by the data access provider. Базы данных могут быть указаны в @provstr или @catalog параметра.The database can be specified in the @provstr or @catalog parameter. Кроме того, строка соединения может содержать имя партнера по обеспечению отработки отказа.Optionally, the connection string can also supply a failover partner name.

[ @catalog= ] "каталога"[ @catalog= ] 'catalog'
Каталог, который должен использоваться при подключении к поставщику OLE DB.Is the catalog to be used when a connection is made to the OLE DB provider. каталогsysname, значение по умолчанию NULL.catalog is sysname, with a default of NULL. каталог передается как свойство DBPROP_INIT_CATALOG для инициализации поставщика OLE DB.catalog is passed as the DBPROP_INIT_CATALOG property to initialize the OLE DB provider. Если связанный сервер определен для экземпляра SQL ServerSQL Server, то каталог ссылается на базу данных по умолчанию, с которой сопоставлен связанный сервер.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.

Значения кода возвратаReturn Code Values

0 (успешное завершение) или 1 (неуспешное завершение)0 (success) or 1 (failure)

Результирующие наборыResult Sets

Нет.None.

ЗамечанияRemarks

В следующей таблице показаны способы настройки связанного сервера для источников данных, доступных через поставщик 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. Связанный сервер может быть настроен несколькими способами для конкретного источника данных; для одного типа источника данных возможны несколько строк.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. В этой таблице также показаны sp_addlinkedserver значения параметров, используемые для настройки связанного сервера.This table also shows the sp_addlinkedserver parameter values to be used for setting up the linked server.

Удаленный источник данных OLE DBRemote OLE DB data source Поставщик OLE DBOLE DB provider product_nameproduct_name provider_nameprovider_name data_sourcedata_source locationlocation provider_stringprovider_string catalogcatalog
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Поставщик OLE DB для собственного клиента SQL ServerSQL Server Native Client OLE DB Provider SQL ServerSQL Server 1 (по умолчанию) 1 (default)
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Поставщик OLE DB для собственного клиента SQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI Сетевое имя SQL ServerSQL Server (для экземпляра по умолчанию)Network name of SQL ServerSQL Server (for default instance) Имя базы данных (необязательно)Database name (optional)
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Поставщик OLE DB для собственного клиента SQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI ServerName\instancename (для конкретного экземпляра)servername\instancename (for specific instance) Имя базы данных (необязательно)Database name (optional)
Oracle, версия 8 или более поздняяOracle, version 8 and later Поставщик Oracle для OLE DBOracle Provider for OLE DB ЛюбойAny (Oraoledb.Oracle)OraOLEDB.Oracle Псевдоним для базы данных OracleAlias for the Oracle database
Access/JetAccess/Jet Поставщик OLE DB для Jet (Майкрософт)Microsoft OLE DB Provider for Jet ЛюбойAny Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Полный путь к файлу базы данных JetFull path of Jet database file
Источник данных ODBCODBC data source Поставщик Microsoft OLE DB для ODBCMicrosoft OLE DB Provider for ODBC ЛюбойAny MSDASQLMSDASQL Системный DSN источника данных ODBCSystem DSN of ODBC data source
Источник данных ODBCODBC data source Поставщик MicrosoftMicrosoft OLE DB для ODBC MicrosoftMicrosoft OLE DB Provider for ODBC ЛюбойAny MSDASQLMSDASQL Строка подключения ODBCODBC connection string
Файловая системаFile system Поставщик MicrosoftMicrosoft OLE DB для службы индексирования MicrosoftMicrosoft OLE DB Provider for Indexing Service ЛюбойAny MSIDXSMSIDXS Имя каталога службы индексированияIndexing Service catalog name
Электронная таблица MicrosoftMicrosoft Excel MicrosoftMicrosoft Excel Spreadsheet Поставщик MicrosoftMicrosoft OLE DB для Jet MicrosoftMicrosoft OLE DB Provider for Jet ЛюбойAny Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Полный путь к файлу ExcelFull path of Excel file Excel 5.0Excel 5.0
База данных IBM DB2IBM DB2 Database Поставщик MicrosoftMicrosoft OLE DB для DB2 MicrosoftMicrosoft OLE DB Provider for DB2 ЛюбойAny DB2OLEDBDB2OLEDB В разделе MicrosoftMicrosoft поставщик OLE DB для документации DB2.See MicrosoftMicrosoft OLE DB Provider for DB2 documentation. Имя каталога базы данных DB2Catalog name of DB2 database

1 этом способе настройки связанного сервера заставляет имя связанного сервера должен совпадать с сетевое имя удаленного экземпляра SQL ServerSQL Server.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. Используйте источник_данных для указания этого сервера.Use data_source to specify the server.

2 «Любой» указывает, что имя продукта может быть любым.2 "Any" indicates that the product name can be anything.

MicrosoftMicrosoft SQL ServerSQL Server Поставщика OLE DB для собственного клиента — это поставщик, используемый с SQL ServerSQL Server Если имя поставщика не указано или если SQL ServerSQL Server указывается как имя продукта.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. Даже если указано имя предыдущего поставщика (SQLOLEDB), оно все равно будет изменено на SQLNCLI при сохранении в каталог.Even if you specify the older provider name, SQLOLEDB, it will be changed to SQLNCLI when persisted to the catalog.

Источник_данных, расположение, provider_string, и каталога параметры идентификации базы данных, связанные Указывает сервер.The data_source, location, provider_string, and catalog parameters identify the database or databases the linked server points to. Если значение одного из этих аргументов равно NULL, то соответствующее свойство инициализации поставщика OLE DB не установлено.If any one of these parameters is NULL, the corresponding OLE DB initialization property is not set.

В кластеризованной среде при указании имен файлов для указания источников данных OLE DB используйте формат UNC или общие диски для указания расположения.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 не может выполняться внутри пользовательской транзакции.sp_addlinkedserver cannot be executed within a user-defined transaction.

Важно!

При создании связанного сервера с помощью sp_addlinkedserver, для всех локальных имен входа добавляется Самосопоставление по умолчанию.When a linked server is created by using sp_addlinkedserver, a default self-mapping is added for all local logins. Поставщики, отличные от SQL ServerSQL Server, для которых выполнена проверка подлинности SQL ServerSQL Server, могут получить доступ к поставщику под учетной записью службы SQL ServerSQL Server.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. Администраторам нужно рассмотреть применение процедуры sp_droplinkedsrvlogin <linkedserver_name>, NULL для удаления глобального сопоставления.Administrators should consider using sp_droplinkedsrvlogin <linkedserver_name>, NULL to remove the global mapping.

РазрешенияPermissions

sp_addlinkedserver Оператора требуется ALTER ANY LINKED SERVER разрешение.The sp_addlinkedserver statement requires the ALTER ANY LINKED SERVER permission. (SSMS создать связанный сервер диалоговое окно реализуется в виде, необходимо быть членом sysadmin предопределенной роли сервера.)(The SSMS New Linked Server dialog box is implemented in a way that requires membership in the sysadmin fixed server role.)

ПримерыExamples

A.A. Использование поставщика OLE DB для собственного клиента Microsoft SQL ServerUsing the Microsoft SQL Server Native Client OLE DB Provider

В следующем примере показано создание связанного сервера с именем SEATTLESales.The following example creates a linked server named SEATTLESales. Название продукта — SQL Server, имя поставщика не используется.The product name is SQL Server, and no provider name is used.

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

В следующем примере создается связанный сервер S1_instance1 экземпляра SQL ServerSQL Server с помощью SQL ServerSQL Server поставщика OLE DB для собственного клиента.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.

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

Б.B. Использование поставщика Microsoft OLE DB для Microsoft AccessUsing the Microsoft OLE DB Provider for Microsoft Access

Поставщик Microsoft.Jet.OLEDB.4.0 соединяется с базами данных Microsoft Access в формате 2002–2003.The Microsoft.Jet.OLEDB.4.0 provider connects to Microsoft Access databases that use the 2002-2003 format. В следующем примере показано создание связанного сервера с именем SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Примечание

В этом примере предполагается, что оба MicrosoftMicrosoft Access и образец Northwind установлены базы данных и что Northwind база данных находится в 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  

Поставщик Microsoft.ACE.OLEDB.12.0 соединяется с базами данных Microsoft Access в формате 2007.The Microsoft.ACE.OLEDB.12.0 provider connects to Microsoft Access databases that use the 2007 format. В следующем примере показано создание связанного сервера с именем SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Примечание

В этом примере предполагается, что оба MicrosoftMicrosoft Access и образец Northwind установлены базы данных и что Northwind база данных находится в 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. Использование поставщика Microsoft OLE DB для ODBC с аргументом источника данныхUsing the Microsoft OLE DB Provider for ODBC with the data_source parameter

В следующем примере создается связанный сервер с именем SEATTLE Payroll , использующий MicrosoftMicrosoft поставщик OLE DB для ODBC (MSDASQL) и источник_данных параметра.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.

Примечание

Указанный источник данных ODBC должен быть определен как системный DSN на сервере до того, как будет использоваться связанный сервер.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. Использование поставщика Microsoft OLE DB для электронных таблиц ExcelUsing the Microsoft OLE DB Provider for Excel spreadsheet

Для создания определения связанного сервера с помощью MicrosoftMicrosoft поставщик OLE DB для Jet для доступа к электронным таблицам Excel в формате 1997-2003, сначала необходимо создать именованный диапазон в Excel путем указания столбцов и строк на листе Excel для выбора.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. Затем на имя диапазона можно будет ссылаться в распределенном запросе как на имя таблицы.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  

Для доступа к данным в электронной таблице Excel требуется указать имя для диапазона ячеек.To access data from an Excel spreadsheet, associate a range of cells with a name. Следующий запрос используется для получения доступа к указанному диапазону ячеек SalesData как к таблице с помощью предварительно настроенного связанного сервера.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  

Если SQL ServerSQL Server выполняется под учетной записью домена, имеющего доступ к удаленной общей папке, то вместо сопоставленного диска может использоваться путь в формате UNC.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';  

Чтобы подключиться к электронной таблице Excel в формате Excel 2007, используйте поставщик 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. Использование поставщика Microsoft OLE DB для Jet для доступа к текстовым файламUsing the Microsoft OLE DB Provider for Jet to access a text file

Данный пример показывает, как создать связанный сервер для прямого доступа к текстовым файлам без соединения с ними как с таблицами MDB-файла СУБД Access.The following example creates a linked server for directly accessing text files, without linking the files as tables in an Access .mdb file. Поставщик Microsoft.Jet.OLEDB.4.0 и строка поставщика Text.The provider is Microsoft.Jet.OLEDB.4.0 and the provider string is Text.

Источник данных — это полный путь к каталогу, который содержит тестовые файлы.The data source is the full path of the directory that contains the text files. Файл schema.ini, который описывает структуру текстовых файлов, должен находиться в том же каталоге, что и текстовые файлы.A schema.ini file, which describes the structure of the text files, must exist in the same directory as the text files. Дополнительные сведения о том, как создать файл Schema.ini, см. в документации по ядру СУБД 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. Использование поставщика данных Microsoft OLE DB для DB2Using the Microsoft OLE DB Provider for DB2

В следующем примере показано создание связанного сервера с именем DB2, который использует 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. Добавить База данных SQL AzureAzure SQL Database как связанный сервер для использования с распределенными запросами на облачных и локальных баз данныхAdd a База данных SQL AzureAzure SQL Database as a Linked Server For Use With Distributed Queries on Cloud and On-Premise Databases

Можно добавить База данных SQL AzureAzure SQL Database как связанный сервер и затем с помощью распределенные запросы, которые в локальной и облачной базы данных.You can add a База данных SQL AzureAzure SQL Database as a linked server and then use it with distributed queries that span the on-premises and cloud databases. Это компонент для базы данных гибридные решения охват корпоративной сети в локальной среде и облаке Windows Azure.This is a component for database hybrid solutions spanning on-premises corporate networks and the Windows Azure cloud.

SQL ServerSQL Server Продукт поле содержит компонентом распределенного запроса, который позволяет составлять запросы, чтобы объединить данные из локальных источников данных и данные из удаленных источников (включая данные, отличными от SQL ServerSQL Server источники данных) определенным как связанные серверы.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. Каждый База данных SQL AzureAzure SQL Database (кроме master виртуальный) можно добавить в качестве отдельного связанного сервера и затем непосредственно использовать в приложениях базы данных как и любые другие базы данных.Every База данных SQL AzureAzure 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.

Преимущества использования База данных SQL AzureAzure SQL Database включают управляемость, высокий уровень доступности, масштабируемость, знакомую модель разработки и реляционную модель данных.The benefits of using База данных SQL AzureAzure SQL Database include manageability, high availability, scalability, working with a familiar development model, and a relational data model. Определить требования приложения базы данных, как его использовать База данных SQL AzureAzure SQL Database в облаке.The requirements of your database application determine how it would use База данных SQL AzureAzure SQL Database in the cloud. Перемещение всех данных за один раз в База данных SQL AzureAzure SQL Database, или постепенно переместить некоторые данные, сохранив оставшихся данных локальной.You can move all of your data at once to База данных SQL AzureAzure SQL Database, or progressively move some of your data while keeping the remaining data on-premises. Для таких гибридное приложение базы данных База данных SQL AzureAzure SQL Database возможность добавления как связанные серверы и базы данных приложения может выдавать распределенные запросы для объединения данных из База данных SQL AzureAzure SQL Database и локальными источниками данных.For such a hybrid database application, База данных SQL AzureAzure SQL Database can now be added as linked servers and the database application can issue distributed queries to combine data from База данных SQL AzureAzure SQL Database and on-premise data sources.

Ниже приведен простой пример, объясняющий, как подключиться к База данных SQL AzureAzure SQL Database использования распределенных запросов:Here’s a simple example explaining how to connect to a База данных SQL AzureAzure SQL Database using distributed queries:

------ Configure the linked server  
-- Add one Windows 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  

См. такжеSee Also

Распределенные запросы хранимых процедур (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)
Системные хранимые процедуры (Transact-SQL) System Stored Procedures (Transact-SQL)
Системные таблицы (Transact-SQL)System Tables (Transact-SQL)