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

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS 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-SQL 구문 규칙Topic 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. serversysname이며 기본값은 없습니다.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, data_source, 위치, 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'
이 데이터 원본에 해당하는 OLE DB 공급자의 고유 PROGID(프로그래밍 ID)입니다.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가 최신 버전의 SQL ServerSQL Server Native Client OLE DB 공급자로 리디렉션됩니다. 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= ] 'data_source'[ @datasrc= ] 'data_source'
OLE DB 공급자가 해석하는 데이터 원본의 이름입니다.Is the name of the data source as interpreted by the OLE DB provider. data_sourcenvarchar (4000)합니다.data_source is nvarchar(4000). data_source OLE DB 공급자를 초기화 하는 DBPROP_INIT_DATASOURCE 속성으로 전달 됩니다.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. 위치 OLE DB 공급자를 초기화 DBPROP_INIT_LOCATION 속성으로 전달 됩니다.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 Native Client OLE DB 공급자 인스턴스를 서버로 서버 키워드를 사용 하 여 지정할 수 =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. 이 이름은 데이터 액세스 공급자의 장애 조치(Failover) 시도를 지원하는 데 필요합니다.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. 필요에 따라 연결 문자열이 장애 조치(Failover) 파트너 이름을 제공할 수도 있습니다.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. 카탈로그 OLE DB 공급자를 초기화 DBPROP_INIT_CATALOG 속성으로 전달 됩니다.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 DB 데이터 원본Remote OLE DB data source OLE DB 공급자OLE DB provider product_nameproduct_name provider_nameprovider_name data_sourcedata_source 위치location provider_stringprovider_string 카탈로그catalog
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Native Client OLE DB 공급자 SQL ServerSQL Server Native Client OLE DB Provider SQL ServerSQL Server 1 (기본값) 1 (default)
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Native Client 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 Native Client 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 Provider for OLE DBOracle Provider for OLE DB 전체Any OraOLEDB.OracleOraOLEDB.Oracle Oracle 데이터베이스의 별칭Alias for the Oracle database
Access/JetAccess/Jet Microsoft OLE DB Provider for JetMicrosoft OLE DB Provider for Jet 전체Any Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Jet 데이터베이스 파일의 전체 경로Full path of Jet database file
ODBC 데이터 원본ODBC data source ODBC용 Microsoft OLE DB 공급자Microsoft OLE DB Provider for ODBC 전체Any MSDASQLMSDASQL ODBC 데이터 원본의 시스템 DSNSystem DSN of ODBC data source
ODBC 데이터 원본ODBC data source ODBC용 MicrosoftMicrosoft OLE DB 공급자 MicrosoftMicrosoft OLE DB Provider for ODBC 전체Any MSDASQLMSDASQL ODBC 연결 문자열ODBC connection string
파일 시스템File system MicrosoftMicrosoft OLE DB Provider for Indexing Service OLE DB Provider for Indexing Service 전체Any MSIDXSMSIDXS 인덱싱 서비스 카탈로그 이름Indexing Service catalog name
MicrosoftMicrosoft Excel 스프레드시트 Excel Spreadsheet MicrosoftMicrosoft OLE DB Provider for Jet OLE DB Provider for Jet 전체Any Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Excel 파일의 전체 경로Full path of Excel file Excel 5.0Excel 5.0
IBM DB2 데이터베이스IBM DB2 Database MicrosoftMicrosoft OLE DB Provider for DB2 OLE DB Provider for DB2 전체Any DB2OLEDBDB2OLEDB 참조 MicrosoftMicrosoft OLE DB Provider for DB2 설명서입니다.See MicrosoftMicrosoft OLE DB Provider for DB2 documentation. DB2 데이터베이스의 카탈로그 이름Catalog 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. 사용 하 여 data_source 서버를 지정 합니다.Use data_source to specify the server.

2 제품 이름을 원하는 대로 입력할 수는 "any" 나타냅니다.2 "Any" indicates that the product name can be anything.

MicrosoftMicrosoft SQL ServerSQL Server Native Client 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.

data_source, 위치, 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(Universal Naming Convention) 이름이나 공유 드라이브를 사용하여 위치를 지정하십시오.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.

PermissionsPermissions

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

1.A. Microsoft SQL Server Native Client OLE DB 공급자 사용Using 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 Native Client 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';  

2.B. Microsoft OLE DB Provider for Microsoft Access 사용Using the Microsoft OLE DB Provider for Microsoft Access

Microsoft.Jet.OLEDB.4.0 공급자는 2002-2003 형식을 사용하는 Microsoft Access 데이터베이스에 연결합니다.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 공급자는 2007 형식을 사용하는 Microsoft Access 데이터베이스에 연결합니다.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  

3.C. data_source 매개 변수와 함께 Microsoft OLE DB Provider for ODBC 사용Using the Microsoft OLE DB Provider for ODBC with the data_source parameter

다음 예에서는 라는 연결된 된 서버 SEATTLE Payroll 를 사용 하는 MicrosoftMicrosoft OLE DB Provider for ODBC (MSDASQL) 및 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.

참고

연결된 서버를 사용하려면 지정한 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  

4.D. Excel 스프레드시트에서 Microsoft OLE DB 공급자 사용Using the Microsoft OLE DB Provider for Excel spreadsheet

사용 하 여 연결 된 서버 정의 만들려면는 MicrosoftMicrosoft OLE DB Provider for Jet 1997-2003 형식의 Excel 스프레드시트에 액세스 하려면 먼저 만듭니다 명명된 된 범위 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';  

ACE 공급자를 사용하여 Excel 2007 형식의 Excel 스프레드시트에 연결하려면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' ;  

5.E. Microsoft OLE DB Provider for Jet을 사용하여 텍스트 파일 액세스Using the Microsoft OLE DB Provider for Jet to access a text file

다음 예에서는 Access.mdb 파일의 테이블에서처럼 파일을 연결하지 않고 직접 텍스트 파일에 액세스하기 위해 연결된 서버를 만듭니다.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 Database Engine 설명서를 참조하십시오.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];  

6.F. Microsoft OLE DB Provider for DB2 사용Using 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;';  

7.G. 추가 Azure SQL 데이터베이스Azure SQL Database 클라우드 및 온-프레미스 데이터베이스에 대 한 분산된 쿼리와 함께 사용 하기 위해 연결 된 서버로Add a Azure SQL 데이터베이스Azure SQL Database as a Linked Server For Use With Distributed Queries on Cloud and On-Premise Databases

추가할 수는 Azure SQL 데이터베이스Azure SQL Database 연결 된 서버 및 사용 하 여 분산 데이터베이스를 클라우드 및 온-프레미스에 걸쳐 있는 쿼리를 사용 합니다.You can add a Azure SQL 데이터베이스Azure 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. 모든 Azure SQL 데이터베이스Azure SQL Database 데이터베이스 응용 프로그램에서 직접 사용 된 다음 다른 데이터베이스 및 가상 마스터) (제외 개별 연결 된 서버로 추가할 수 있습니다.Every Azure SQL 데이터베이스Azure 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.

사용의 이점 Azure SQL 데이터베이스Azure SQL Database 관리 효율성, 고가용성, 확장성, 친숙 한 개발 모델 및 관계형 데이터 모델 작업을 포함 합니다.The benefits of using Azure SQL 데이터베이스Azure SQL Database include manageability, high availability, scalability, working with a familiar development model, and a relational data model. 사용 하는 방법을 결정 하는 데이터베이스 응용 프로그램의 요구 사항과 Azure SQL 데이터베이스Azure SQL Database 클라우드에 있습니다.The requirements of your database application determine how it would use Azure SQL 데이터베이스Azure SQL Database in the cloud. 에 한 번에 모든 데이터를 이동할 수 Azure SQL 데이터베이스Azure SQL Database, 또는 점진적으로 나머지 온-프레미스 데이터를 유지 하면서 데이터의 일부를 이동 합니다.You can move all of your data at once to Azure SQL 데이터베이스Azure SQL Database, or progressively move some of your data while keeping the remaining data on-premises. 이러한 하이브리드 데이터베이스 응용 프로그램의 경우 Azure SQL 데이터베이스Azure SQL Database 연결 된 서버 및 데이터베이스 응용 프로그램에서 데이터를 결합 하는 분산된 쿼리를 실행할 수 대로 추가할 수 있습니다 Azure SQL 데이터베이스Azure SQL Database 및 온-프레미스 데이터 원본입니다.For such a hybrid database application, Azure SQL 데이터베이스Azure SQL Database can now be added as linked servers and the database application can issue distributed queries to combine data from Azure SQL 데이터베이스Azure SQL Database and on-premise data sources.

다음은에 연결 하는 방법을 설명 하는 간단한 예제는 Azure SQL 데이터베이스Azure SQL Database 분산된 쿼리를 사용 하 여:Here’s a simple example explaining how to connect to a Azure SQL 데이터베이스Azure 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)