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

適用対象: ○SQL Server ○Azure SQL Database (Managed Instance のみ) ×Azure SQL Data Warehouse ×Parallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure 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 @ no__t-3 [ @server = ] 'server'
作成するリンク サーバーの名前を指定します。Is the name of the linked server to create. server のデータ型は sysnameで、既定値はありません。server is sysname, with no default.

[@srvproduct =] 'product_name @ no__t [ @srvproduct = ] 'product_name'
リンクサーバーとして追加する OLE DB データソースの製品名を指定します。Is the product name of the OLE DB data source to add as a linked server. nvarchar ( 128 ) ,、既定値は NULLです。product_name is nvarchar( 128 ), with a default of NULL. SQL Serverの場合、 provider_namedata_sourcelocationprovider_string、およびcatalogを指定する必要はありません。If SQL Server, provider_name, data_source, location, provider_string, and catalog do not have to be specified.

[@provider =] 'provider_name @ no__t [ @provider = ] 'provider_name'
このデータ ソースに対応する OLE DB プロバイダーの一意なプログラム識別子 (PROGID) を指定します。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 ServerSQL ServerSQL Server Native Client OLE DB プロバイダーの最新バージョンにリダイレクトされます。Using SQLNCLI will redirect SQL ServerSQL Server to the latest version of SQL ServerSQL Server Native Client OLE DB Provider. OLE DB プロバイダーは、指定の PROGID を使用してレジストリに登録されることが想定されています。The OLE DB provider is expected to be registered with the specified PROGID in the registry.

重要

以前の Microsoft OLE DB Provider for SQL Server (SQLOLEDB) と SQL Server Native Client OLE DB プロバイダー (SQLNCLI) は非推奨のままであり、新しい開発作業にはどちらの使用もお勧めできません。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. 代わりに、新しい Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) を使用します。これは、最新のサーバー機能で更新されます。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 @ no__t [ @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 @ no__t-3 [ @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. locationは、OLE DB プロバイダーを初期化する DBPROP_INIT_LOCATION プロパティとして渡されます。location is passed as the DBPROP_INIT_LOCATION property to initialize the OLE DB provider.

[@provstr =] 'providerstring @ no__t-3 [ @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.

@No__t 0 Native Client OLE DB プロバイダーに対してリンクサーバーを作成する場合は、server キーワードを 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. servernameSQL ServerSQL Server が実行されているコンピューターの名前です。 instancenameは、ユーザーが接続する @no__t の特定のインスタンスの名前です。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 @ no__t-3 [ @catalog = ] 'catalog'
OLE DB プロバイダーへの接続が確立されるときに使用するカタログを指定します。Is the catalog to be used when a connection is made to the OLE DB provider. catalogsysname,、既定値は 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. @No__t-0 のインスタンスに対してリンクサーバーが定義されている場合、catalog は、リンクサーバーがマップされている既定のデータベースを参照します。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. リンクサーバーは、特定のデータソースに対して複数の方法で設定できます。1つのデータソースの種類に対して複数の行を指定できます。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 locationlocation 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 @No__t のネットワーク名-0 (既定のインスタンス)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 AnyAny OraOLEDB.OracleOraOLEDB.Oracle Oracle データベースに対する別名Alias for the Oracle database
Access/JetAccess/Jet Microsoft OLE DB Provider for JetMicrosoft OLE DB Provider for Jet AnyAny Microsoft. OLEDB. 4.0Microsoft.Jet.OLEDB.4.0 Jet データベースファイルの完全なパスFull path of Jet database file
ODBC データ ソース (ODBC data source)ODBC data source Microsoft OLE DB Provider for ODBCMicrosoft OLE DB Provider for ODBC AnyAny MSDASQLMSDASQL ODBC データソースのシステム DSNSystem DSN of ODBC data source
ODBC データ ソース (ODBC data source)ODBC data source MicrosoftMicrosoft OLE DB Provider for ODBCOLE DB Provider for ODBC AnyAny MSDASQLMSDASQL ODBC 接続文字列ODBC connection string
ファイル システムFile system MicrosoftMicrosoft OLE DB のインデックスサービス用プロバイダーOLE DB Provider for Indexing Service AnyAny MSIDXSMSIDXS インデックスサービスのカタログ名Indexing Service catalog name
MicrosoftMicrosoft Excel ワークシートExcel Spreadsheet MicrosoftMicrosoft OLE DB Jet 用プロバイダーOLE DB Provider for Jet AnyAny Microsoft. 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 DB2 用プロバイダーOLE DB Provider for DB2 AnyAny DB2OLEDBDB2OLEDB @No__t-0 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 "任意" は、製品名を任意の名前にすることを示します。2 "Any" indicates that the product name can be anything.

@No__t-0 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_sourcelocationprovider_string、およびcatalogパラメーターは、リンクサーバーが指すデータベースを識別します。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. @No__t 0 以外のプロバイダーの場合、@no__t 認証されたログインは、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

@No__t-0 ステートメントには、ALTER ANY LINKED SERVER アクセス許可が必要です。The sp_addlinkedserver statement requires the ALTER ANY LINKED SERVER permission. (@No__t 0 の [リンクサーバーの新規作成] ダイアログボックスは、@no__t 固定サーバーロールのメンバーシップを必要とする方法で実装されます)。(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.)

使用例Examples

A.A. Microsoft SQL Server OLE DB プロバイダーの使用Using the Microsoft SQL Server 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  

次の例では、SQL ServerSQL Server OLE DB ドライバーを使用して SQL ServerSQL Server のインスタンスにリンクサーバー S1_instance1 を作成します。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';  

次の例では、SQL ServerSQL Server Native Client OLE DB プロバイダーを使用して SQL ServerSQL Server のインスタンスにリンクサーバー S1_instance1 を作成します。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.

重要

SQL Server Native Client OLE DB プロバイダー (SQLNCLI) は非推奨のままであり、新しい開発作業での使用はお勧めできません。SQL Server Native Client OLE DB provider (SQLNCLI) remains deprecated and it is not recommended to use it for new development work. 代わりに、新しい Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) を使用します。これは、最新のサーバー機能で更新されます。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. Microsoft OLE DB Provider for Microsoft Access を使用するUsing the Microsoft OLE DB Provider for Microsoft Access

Microsoft Jet OLEDB プロバイダーは、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.

注意

この例では、@no__t 0 アクセスとサンプル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.

注意

この例では、@no__t 0 アクセスとサンプル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.C. Data_source パラメーターを指定して Microsoft OLE DB Provider for ODBC を使用するUsing the Microsoft OLE DB Provider for ODBC with the data_source parameter

次の例では、MicrosoftMicrosoft OLE DB Provider for ODBC (MSDASQL) とdata_sourceパラメーターを使用する、SEATTLE Payroll という名前のリンクサーバーを作成します。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.D. Microsoft OLE DB Provider for Excel スプレッドシートの使用Using the Microsoft OLE DB Provider for Excel spreadsheet

Jet 用の MicrosoftMicrosoft OLE DB Provider を使用して 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  

@No__t-0 がリモート共有へのアクセス権を持つドメインアカウントで実行されている場合は、マップされたドライブの代わりに 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 2007 形式の Excel スプレッドシートに接続するには、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. 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. プロバイダーが 0 @no__t、プロバイダー文字列が-1 @no__t。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];  

F.F. Microsoft OLE DB Provider for DB2 の使用Using the Microsoft OLE DB Provider for DB2

次の例では、Microsoft OLE DB Provider for DB2 を使用する 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. クラウドとオンプレミスのデータベースで分散クエリを使用するために、リンクサーバーとして @no__t 0 を追加するAdd a Azure SQL データベースAzure SQL Database as a Linked Server For Use With Distributed Queries on Cloud and On-Premises 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. これは、オンプレミスの企業ネットワークと Azure クラウドにまたがるデータベースハイブリッドソリューションのコンポーネントです。This is a component for database hybrid solutions spanning on-premises corporate networks and the Azure cloud.

@No__t-0 box 製品には分散クエリ機能が含まれています。この機能を使用すると、リンクサーバーとして定義されているローカルデータソースとデータ (非 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.

@No__t 0 を使用する利点には、管理、高可用性、スケーラビリティ、使い慣れた開発モデルの使用、リレーショナルデータモデルなどがあります。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. すべてのデータを一度に移動して @no__t 0 にするか、データの一部を段階的に移動して、残りのデータをオンプレミスに維持することができます。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. このようなハイブリッドデータベースアプリケーションでは、@no__t 0 をリンクサーバーとして追加できます。データベースアプリケーションは分散クエリを発行して、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-premises data sources.

分散クエリを使用して @no__t 0 に接続する方法を説明する簡単な例を次に示します。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 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)