0

目标

创建从 Azure 服务器 SQL 数据库到本地服务器服务器数据库的查询。

此查询曾经使用来自两个本地服务器及其各自数据库的链接服务器对象进行。

我已经成功地完成了 Azure 云服务器上两个数据库之间的跨数据库查询。但是,我无法在 Azure 服务器和本地服务器之间复制链接服务器对象可以提供的类似方面。


当前情景

serverA 上,我为serverB创建了一个链接服务器对象。我的两个本地服务器通信如下:

--serverA = on premise server
--serverB = on premise server
Using mycn As New SqlConnection("Data Source=serverA;Initial Catalog=DatabaseA;User Id=username;Password=pwd")
    Dim query As String = "SELECT * FROM [DatabaseA].dbo.tableA " &
                          "INNER JOIN [serverB].[DatabaseB].dbo.tableB ON tableA_ID = tableB_ID"
End Using

外部数据源

为了将我的本地服务器与我的 Azure SQL 服务器通信,我必须创建一个外部数据源......我相信我的问题依赖于我的外部数据源。

-- ===========================================================
-- Create external data source template for Azure SQL Database
-- ===========================================================
IF EXISTS (
  SELECT *
    FROM sys.external_data_sources
   WHERE name = N'serverB_DataSource'
)
DROP EXTERNAL DATA SOURCE serverB_DataSource
GO

CREATE EXTERNAL DATA SOURCE serverB_DataSource WITH
(
    TYPE = RDBMS,
    LOCATION = N'serverB',
    DATABASE_NAME = N'databaseB',
    CREDENTIAL = myCreds
)
GO

由于我试图从 Azure 服务器访问名为serverB的本地服务器,我是否需要指定它的实际 IP?不知道我在这里错过了什么......

4

1 回答 1

2

Since I am trying to access my on premise server called serverB from the Azure server

你不能这样做..但你可以做其他方式

假设您的 azure 服务器名称是 AZ,本地服务器名称是 B...您可以为 B 中的 AZ 创建链接服务器并从 B 查询 AZ

于 2017-10-31T17:18:14.370 回答