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

APLICA-SE A: simSQL Server (a partir do 2008) nãoBanco de Dados SQL do Azure nãoSQL Data Warehouse do Azure nãoParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Cria um servidor vinculado.Creates a linked server. Um servidor vinculado permite acesso a consultas distribuídas e heterogêneas em fontes de dados OLE DB.A linked server allows for access to distributed, heterogeneous queries against OLE DB data sources. Depois que um servidor vinculado é criado usando sp_addlinkedserverdistribuído consultas podem ser executadas em relação a esse servidor.After a linked server is created by using sp_addlinkedserver, distributed queries can be run against this server. Se o servidor vinculado estiver definido como uma instância do SQL ServerSQL Server, poderão ser executados procedimentos armazenados remotos.If the linked server is defined as an instance of SQL ServerSQL Server, remote stored procedures can be executed.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

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

ArgumentosArguments

[ @server = ] 'server' É o nome do servidor vinculado para criar.[ @server = ] 'server' Is the name of the linked server to create. server é sysname, sem padrão.server is sysname, with no default.

[ @srvproduct = ] 'product_name' É o nome do produto da fonte de dados OLE DB para adicionar como um servidor vinculado.[ @srvproduct = ] 'product_name' Is the product name of the OLE DB data source to add as a linked server. product_name está nvarchar ( 128 ), com um padrão NULL.product_name is nvarchar( 128 ), with a default of NULL. Se SQL Server, provider_name, data_source, local, provider_string, e catálogo não deve ser especificado.If SQL Server, provider_name, data_source, location, provider_string, and catalog do not have to be specified.

[ @provider = ] 'provider_name' É o identificador programático exclusivo (PROGID) do provedor OLE DB que corresponde a essa fonte de dados.[ @provider = ] 'provider_name' Is the unique programmatic identifier (PROGID) of the OLE DB provider that corresponds to this data source. provider_name deve ser exclusivo para o provedor OLE DB especificado instalado no computador atual.provider_name must be unique for the specified OLE DB provider installed on the current computer. provider_name está nvarchar ( 128 ), com um padrão de NULL; no entanto, se provider_name é omitido, SQLNCLI será usado.provider_name is nvarchar( 128 ), with a default of NULL; however, if provider_name is omitted, SQLNCLI is used. (Use SQLNCLI, e o SQL ServerSQL Server fará o redirecionamento para a última versão do provedor OLE DB SQL ServerSQL Server Native Client.) Espera-se que o provedor OLE DB seja registrado com o PROGID especificado fornecido no Registro.(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' É o nome da fonte de dados conforme interpretado pelo provedor OLE DB.[ @datasrc = ] 'data_source' Is the name of the data source as interpreted by the OLE DB provider. data_source is nvarchar( 4000 ).data_source is nvarchar( 4000 ). data_source é passado como a propriedade DBPROP_INIT_DATASOURCE para inicializar o provedor OLE DB.data_source is passed as the DBPROP_INIT_DATASOURCE property to initialize the OLE DB provider.

[ @location = ] 'location' É o local do banco de dados conforme interpretado pelo provedor OLE DB.[ @location = ] 'location' Is the location of the database as interpreted by the OLE DB provider. local está nvarchar ( 4000 ), com um padrão NULL.location is nvarchar( 4000 ), with a default of NULL. local é passado como a propriedade DBPROP_INIT_LOCATION para inicializar o provedor OLE DB.location is passed as the DBPROP_INIT_LOCATION property to initialize the OLE DB provider.

[ @provstr = ] 'provider_string' É a cadeia de caracteres de conexão específica do provedor OLE DB que identifica uma fonte de dados exclusivo.[ @provstr = ] 'provider_string' Is the OLE DB provider-specific connection string that identifies a unique data source. provider_string está nvarchar ( 4000 ), com um padrão NULL.provider_string is nvarchar( 4000 ), with a default of NULL. provstr é passada para IDataInitialize ou definido como a propriedade DBPROP_INIT_PROVIDERSTRING para inicializar o provedor OLE DB.provstr is either passed to IDataInitialize or set as the DBPROP_INIT_PROVIDERSTRING property to initialize the OLE DB provider.

Quando o servidor vinculado é criado em relação a SQL ServerSQL Server provedor do OLE DB do Native Client, a instância pode ser especificada usando a palavra-chave SERVER como SERVER =servername\instancenamepara especificar uma instância específica do 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 é o nome do computador no qual SQL ServerSQL Server estiver em execução, e instancename é o nome da instância específica do SQL ServerSQL Server à qual o usuário será conectado.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.

Observação

Para acessar um banco de dados espelho, uma cadeia de conexão deve conter o nome do banco de dados.To access a mirrored database, a connection string must contain the database name. Esse nome é necessário para habilitar tentativas de failover pelo provedor de acesso de dados.This name is necessary to enable failover attempts by the data access provider. O banco de dados pode ser especificado na **@provstr** ou **@catalog** parâmetro.The database can be specified in the **@provstr** or **@catalog** parameter. Opcionalmente, a cadeia de conexão também pode fornecer um nome de parceiro de failover.Optionally, the connection string can also supply a failover partner name.

[ @catalog = ] 'catalog' É o catálogo a ser usado quando uma conexão é feita para o provedor OLE DB.[ @catalog = ] 'catalog' Is the catalog to be used when a connection is made to the OLE DB provider. catálogo está sysname, com um padrão NULL.catalog is sysname, with a default of NULL. catálogo é passado como a propriedade DBPROP_INIT_CATALOG para inicializar o provedor OLE DB.catalog is passed as the DBPROP_INIT_CATALOG property to initialize the OLE DB provider. Quando o servidor vinculado for definido em relação a uma instância do SQL ServerSQL Server, o catálogo se referirá ao banco de dados padrão ao qual o servidor vinculado estará mapeado.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.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

Conjuntos de resultadosResult Sets

Nenhum.None.

ComentáriosRemarks

A tabela a seguir mostra as formas que um servidor vinculado pode ser definido para que as fontes de dados possam ser acessadas através do 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. Um servidor vinculado pode ser definido em mais de uma forma para uma fonte de dados em particular; pode haver mais de uma linha para um tipo de fonte de dados.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. Esta tabela também mostra a sp_addlinkedserver valores de parâmetro a ser usado para configurar o servidor vinculado.This table also shows the sp_addlinkedserver parameter values to be used for setting up the linked server.

Fonte de dados remota OLE DB.Remote OLE DB data source Provedor OLE DBOLE DB provider product_nameproduct_name provider_nameprovider_name data_sourcedata_source locallocation provider_stringprovider_string catálogocatalog
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Provedor OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQL ServerSQL Server 1 (padrão)1 (default)
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Provedor OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI Nome de rede do SQL ServerSQL Server (para instância padrão)Network name of SQL ServerSQL Server (for default instance) Nome do banco de dados (opcional)Database name (optional)
SQL ServerSQL Server MicrosoftMicrosoft SQL ServerSQL Server Provedor OLE DB Native ClientSQL ServerSQL Server Native Client OLE DB Provider SQLNCLISQLNCLI servername\instancename (para uma instância específica)servername\instancename (for specific instance) Nome do banco de dados (opcional)Database name (optional)
Oracle, versão 8 e posteriorOracle, version 8 and later Provedor Oracle para OLE DBOracle Provider for OLE DB Any (qualquer)Any OraOLEDB.OracleOraOLEDB.Oracle Alias para o banco de dados de OracleAlias for the Oracle database
Access/JetAccess/Jet Microsoft OLE DB Provider for JetMicrosoft OLE DB Provider for Jet Any (qualquer)Any Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Caminho completo de arquivo de banco de dados de JetFull path of Jet database file
Fonte de dados ODBCODBC data source Microsoft OLE DB Provider para ODBCMicrosoft OLE DB Provider for ODBC Any (qualquer)Any MSDASQLMSDASQL DSN do sistema da fonte de dados ODBCSystem DSN of ODBC data source
Fonte de dados ODBCODBC data source MicrosoftMicrosoft OLE DB Provider para ODBCOLE DB Provider for ODBC Any (qualquer)Any MSDASQLMSDASQL Cadeia de conexão ODBCODBC connection string
Sistema de arquivosFile system MicrosoftMicrosoft OLE DB Provider for Indexing ServiceOLE DB Provider for Indexing Service Any (qualquer)Any MSIDXSMSIDXS Nome do catálogo do Indexing ServiceIndexing Service catalog name
Planilha do MicrosoftMicrosoftExcelMicrosoftMicrosoft Excel Spreadsheet MicrosoftMicrosoftOLE DB Provider for JetOLE DB Provider for Jet Any (qualquer)Any Microsoft.Jet.OLEDB.4.0Microsoft.Jet.OLEDB.4.0 Caminho completo do arquivo de ExcelFull path of Excel file Excel 5.0Excel 5.0
Banco de dados IBM DB2IBM DB2 Database MicrosoftMicrosoftProvedor OLE DB para DB2OLE DB Provider for DB2 Any (qualquer)Any DB2OLEDBDB2OLEDB Consulte MicrosoftMicrosoft OLE DB Provider for DB2 documentação.See MicrosoftMicrosoft OLE DB Provider for DB2 documentation. Nome de catálogo do banco de dados DB2Catalog name of DB2 database

1 dessa maneira de configurar um servidor vinculado impõe o nome do servidor vinculado para ser o mesmo que o nome de rede da instância remota do 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 para especificar o servidor.Use data_source to specify the server.

2 "Qualquer" indica que o nome do produto pode ser qualquer coisa.2 "Any" indicates that the product name can be anything.

O MicrosoftMicrosoft SQL ServerSQL Server provedor de OLE DB do Native Client é o que é usado com SQL ServerSQL Server se nenhum nome de provedor for especificado ou se SQL ServerSQL Server é especificado como o nome do produto.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. Mesmo se você especificar o nome do provedor anterior, SQLOLEDB, será alterado para SQLNCLI quando for persistente para o catálogo.Even if you specify the older provider name, SQLOLEDB, it will be changed to SQLNCLI when persisted to the catalog.

O data_source, local, provider_string, e catálogo parâmetros identificam o banco de dados ou bancos de dados vinculados servidor aponta.The data_source, location, provider_string, and catalog parameters identify the database or databases the linked server points to. Se qualquer um destes parâmetros for NULL, a propriedade de inicialização OLE DB correspondente não será definida.If any one of these parameters is NULL, the corresponding OLE DB initialization property is not set.

Em um ambiente clusterizado, quando você especificar os nomes de arquivo para apontarem para fontes de dados OLE DB, use o nome UNC (Convenção Universal de nomenclatura) ou um drive compartilhado para especificar o local.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 não pode ser executado em uma transação definida pelo usuário.sp_addlinkedserver cannot be executed within a user-defined transaction.

Importante

Quando um servidor vinculado é criado usando sp_addlinkedserver, um automapeamento padrão é adicionado para todos os logons locais.When a linked server is created by using sp_addlinkedserver, a default self-mapping is added for all local logins. Para não - SQL ServerSQL Server provedores SQL ServerSQL Server logos autenticados podem até conseguir obter acesso ao provedor sob a SQL ServerSQL Server conta de serviço.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. Os administradores deveriam considerar o uso de sp_droplinkedsrvlogin <linkedserver_name>, NULL para remover o mapeamento global.Administrators should consider using sp_droplinkedsrvlogin <linkedserver_name>, NULL to remove the global mapping.

PermissõesPermissions

O sp_addlinkedserver instrução requer o ALTER ANY LINKED SERVER permissão.The sp_addlinkedserver statement requires the ALTER ANY LINKED SERVER permission. (O SSMS novo servidor vinculado caixa de diálogo é implementada de forma que requer a participação no sysadmin função de servidor fixa.)(The SSMS New Linked Server dialog box is implemented in a way that requires membership in the sysadmin fixed server role.)

ExemplosExamples

A.A. Usando o provedor OLE DB do Microsoft SQL Server Native ClientUsing the Microsoft SQL Server Native Client OLE DB Provider

O exemplo abaixo cria um servidor vinculado chamado SEATTLESales.The following example creates a linked server named SEATTLESales. O nome de produto é SQL Server e nenhum nome de provedor é usado.The product name is SQL Server, and no provider name is used.

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

O exemplo a seguir cria um servidor vinculado S1_instance1 em uma instância do SQL ServerSQL Server usando o SQL ServerSQL Server provedor OLE DB do 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.

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

b.B. Usando o Provedor Microsoft OLE DB para Microsoft AccessUsing the Microsoft OLE DB Provider for Microsoft Access

O provedor Microsoft.Jet.OLEDB.4.0 se conecta a bancos de dados Microsoft Access que usam o formato 2002-2003.The Microsoft.Jet.OLEDB.4.0 provider connects to Microsoft Access databases that use the 2002-2003 format. O exemplo abaixo cria um servidor vinculado chamado SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Observação

Este exemplo supõe que os dois MicrosoftMicrosoft acesso e o exemplo Northwind banco de dados são instalados e que o Northwind banco de dados reside em 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  

O provedor Microsoft.ACE.OLEDB.12.0 se conecta a bancos de dados Microsoft Access que usam o formato 2007.The Microsoft.ACE.OLEDB.12.0 provider connects to Microsoft Access databases that use the 2007 format. O exemplo abaixo cria um servidor vinculado chamado SEATTLE Mktg.The following example creates a linked server named SEATTLE Mktg.

Observação

Este exemplo supõe que os dois MicrosoftMicrosoft acesso e o exemplo Northwind banco de dados são instalados e que o Northwind banco de dados reside em 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. Usando o Microsoft OLE DB Provider para ODBC com o parâmetro data_sourceUsing the Microsoft OLE DB Provider for ODBC with the data_source parameter

O exemplo a seguir cria um servidor vinculado nomeado SEATTLE Payroll que usa o MicrosoftMicrosoft OLE DB Provider for ODBC (MSDASQL) e o data_source parâmetro.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.

Observação

O nome da fonte de dados ODBC especificado deve ser definido como DSN do sistema antes de você usar o servidor vinculado.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. Usando o Provedor Microsoft OLE DB para planilha do ExcelUsing the Microsoft OLE DB Provider for Excel spreadsheet

Para criar uma definição de servidor vinculado usando o MicrosoftMicrosoft OLE DB Provider for Jet para acessar uma planilha do Excel no formato 1997-2003, primeiro crie um intervalo nomeado no Excel especificando as colunas e linhas da planilha do Excel para selecionar.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. O nome do intervalo pode ser então referenciado como um nome de tabela em uma consulta distribuída.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  

Para acessar dados de uma planilha do Excel, associe um intervalo de células com um nome.To access data from an Excel spreadsheet, associate a range of cells with a name. A consulta a seguir pode ser usada para acessar um intervalo nomeado especificado SalesData como uma tabela usando a configuração do servidor vinculado anterior.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  

Se o SQL ServerSQL Server estiver sendo executado sob uma conta de domínio que tenha acesso a um compartilhamento remoto, um caminho UNC poderá ser usado ao invés de um drive mapeado.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';  

Para se conectar a uma planilha do Excel no formato Excel 2007, use o provedor 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. Usando o Microsoft OLE DB Provider para Jet para acessar um arquivo de textoUsing the Microsoft OLE DB Provider for Jet to access a text file

O exemplo a seguir cria um servidor vinculado para acessar arquivos de texto diretamente sem vincular os arquivos como tabelas em um arquivo .mdb do Access.The following example creates a linked server for directly accessing text files, without linking the files as tables in an Access .mdb file. O provedor é Microsoft.Jet.OLEDB.4.0 e a cadeia de caracteres do provedor é Text.The provider is Microsoft.Jet.OLEDB.4.0 and the provider string is Text.

A fonte de dados é o caminho completo do diretório que contém os arquivos de texto.The data source is the full path of the directory that contains the text files. Um arquivo schema.ini, que descreve a estrutura dos arquivos de texto, deve existir no mesmo diretório que os arquivos de texto.A schema.ini file, which describes the structure of the text files, must exist in the same directory as the text files. Para obter mais informações sobre como criar um arquivo Schema.ini, consulte a documentação do Mecanismo de Banco de Dados do 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. Usando o Microsoft OLE DB Provider para DB2Using the Microsoft OLE DB Provider for DB2

O exemplo seguinte cria um servidor vinculado nomeado DB2 que usa a 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. Adicionar um Banco de dados SQL do AzureAzure SQL Database como um servidor vinculado para uso com consultas distribuídas em bancos de dados locais e de nuvemAdd a Banco de dados SQL do AzureAzure SQL Database as a Linked Server For Use With Distributed Queries on Cloud and On-Premise Databases

Você pode adicionar um Banco de dados SQL do AzureAzure SQL Database como um servidor vinculado e usá-lo com consultas distribuídas que abrangem os bancos de dados locais e de nuvem.You can add a Banco de dados SQL do AzureAzure SQL Database as a linked server and then use it with distributed queries that span the on-premises and cloud databases. Esse é um componente para as soluções híbridas de banco de dados que abrangem redes corporativas locais e a nuvem do Windows Azure.This is a component for database hybrid solutions spanning on-premises corporate networks and the Windows Azure cloud.

O SQL ServerSQL Server produto caixa contém o recurso de consulta distribuída, o que permite que você escreva consultas para combinar dados de fontes de dados locais e dados de fontes remotas (incluindo dados de não - SQL ServerSQL Server fontes de dados) definidos como servidores vinculados.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. Cada Banco de dados SQL do AzureAzure SQL Database (exceto o mestre virtual) pode ser adicionado como um servidor vinculado individual e pode ser usado diretamente em seus aplicativos de banco de dados, como qualquer outro banco de dados.Every Banco de dados SQL do 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.

Os benefícios de usar o Banco de dados SQL do AzureAzure SQL Database incluem capacidade de gerenciamento, alta disponibilidade, escalabilidade, trabalhando com um modelo familiar de desenvolvimento, e um modelo de dados relacionais.The benefits of using Banco de dados SQL do AzureAzure SQL Database include manageability, high availability, scalability, working with a familiar development model, and a relational data model. Os requisitos de seu aplicativo de banco de dados determinam como ele usaria o Banco de dados SQL do AzureAzure SQL Database na nuvem.The requirements of your database application determine how it would use Banco de dados SQL do AzureAzure SQL Database in the cloud. Você pode mover todos os dados imediatamente para o Banco de dados SQL do AzureAzure SQL Database, ou mover progressivamente alguns de seus dados, mantendo os demais dados no local.You can move all of your data at once to Banco de dados SQL do AzureAzure SQL Database, or progressively move some of your data while keeping the remaining data on-premises. Para um aplicativo de banco de dados tão híbrido, o Banco de dados SQL do AzureAzure SQL Database agora pode ser adicionado como servidores vinculados, e o aplicativo de banco de dados pode emitir consultas distribuídas para combinar dados do Banco de dados SQL do AzureAzure SQL Database e fontes de dados locais.For such a hybrid database application, Banco de dados SQL do AzureAzure SQL Database can now be added as linked servers and the database application can issue distributed queries to combine data from Banco de dados SQL do AzureAzure SQL Database and on-premise data sources.

Aqui está um exemplo simples, explicando como se conectar a um Banco de dados SQL do AzureAzure SQL Database usando consultas distribuídas:Here's a simple example explaining how to connect to a Banco de dados SQL do 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  

Consulte tambémSee Also

Distribuído procedimentos armazenados de consultas (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)
Procedimentos armazenados do sistema (Transact-SQL) System Stored Procedures (Transact-SQL)
Tabelas do sistema (Transact-SQL)System Tables (Transact-SQL)