ゴール
Azure サーバー SQL データベースからオンプレミス サーバー サーバー データベースへのクエリを作成するには。
このクエリは、それぞれのデータベースを持つ 2 つのオンプレミス サーバーからリンクされたサーバー オブジェクトを使用して作成されていました。
Azure クラウド サーバー上の 2 つのデータベース間でクロス データベース クエリを実行しました。ただし、リンクされたサーバー オブジェクトが Azure サーバーとオンプレミス サーバーの間で提供できる同様の側面を複製することはできませんでした。
現在のシナリオ
serverAで、 serverBにリンクされたサーバー オブジェクトを作成しました。私の 2 つのオンプレミス サーバーは、以下のように通信します。
--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 を指定する必要がありますか? ここで何が欠けているのかわからない...