【发布时间】:2018-06-13 17:00:39
【问题描述】:
我想从 Azure SQL 数据库查询本地 SQL Server。 This 的回答似乎表明我可以使用“弹性数据库查询”功能来做到这一点。
但是,我所阅读的有关“弹性数据库查询”的所有内容都只提到了连接到另一个 Azure SQL 数据库,而不是本地 SQL Server 数据库。
我尝试通过依次运行这些语句来使用“弹性数据库查询”功能:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MY_SUPER_SECRET_PASSWORD';
CREATE DATABASE SCOPED CREDENTIAL SSDB_On_Premises_Credentials
WITH IDENTITY = 'MY_USERNAME',
SECRET = 'MY_OTHER_SUPER_SECRET_PASSWORD';
CREATE EXTERNAL DATA SOURCE SSDB_On_Premises WITH
(TYPE = RDBMS,
LOCATION = 'the.path.to.my.on.premises.database',
DATABASE_NAME = 'MyDatabaseName',
CREDENTIAL = SSDB_On_Premises_Credentials
) ;
CREATE EXTERNAL TABLE USER(
ID INT NOT NULL,
FIRSTNAME NVarchar(255),
LASTNAME NVarchar(255) NOT NULL
)
WITH
(
DATA_SOURCE = SSDB_On_Premises
);
SELECT * FROM USER;
但是,我收到此错误:
发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,并且 SQL Server 配置为允许远程连接。 (提供者:命名 Pipes Provider,错误:40 - 无法打开与 SQL 的连接 服务器)
这可能是我的本地 SQL Server 上的配置设置有问题,但我猜测“弹性数据库查询”更有可能只是没有连接到本地数据源。
【问题讨论】: