所以...我有2个SQL Server 2019实例(CTP2.2),并且我在单节点配置中安装了一个Polybase实例(将其称为SS-A)。我已经在SS-A的主数据库中创建了MASTER KEY,并在SS-A的数据库中创建了DATABASE SCOPED CREDENTIAL。当我尝试执行以下操作时:
CREATE EXTERNAL DATA SOURCE acmeAzureDB WITH
(TYPE = RDBMS,
LOCATION = 'ss2019azure.database.windows.net',
DATABASE_NAME = 'dbAcmeAzure',
CREDENTIAL = acmeAzureCred
);
我收到错误
第15级状态1行6的消息102
“ RDBMS”附近的语法不正确
我曾经尝试过与MS SQL Server SME合作,但没有任何运气(为此工作了很多星期都无济于事)。 这里的任何想法-加上给Microsoft的信息-您对此文档的了解都是如此!
答案 0 :(得分:1)
您有2个SQL Server 2019实例(CTP2.2)。 但是它们不是Azure SQL数据库实例。
当前仅在Azure SQL数据库上支持RDBMS外部数据源。
-- Elastic Database query only: a remote database on Azure SQL Database as data source
-- (only on Azure SQL Database)
CREATE EXTERNAL DATA SOURCE data_source_name
WITH (
TYPE = RDBMS,
LOCATION = '<server_name>.database.windows.net',
DATABASE_NAME = '<Remote_Database_Name>',
CREDENTIAL = <SQL_Credential>
)
另一种方法是,可以为SQL Server 2019实例创建到Azure SQL数据库的链接服务器。然后,您可以以EXTERNAL DATA SOURCE
的形式从Azure SQL数据库中查询数据。
要查看此官方教程:How to Create a Linked Server。
希望这会有所帮助。
答案 1 :(得分:0)
SO-今天与MS合作-成功-您可以在SS2019中创建CREATE EXTERNAL DATA SOURCE并指向AZURE SQL-这是我使用的TSQL:
(已创建主密钥)
CREATE DATABASE SCOPED CREDENTIAL acmeCred WITH IDENTITY = 'remoteAdmin', SECRET ='XXXXXXXXX';
go
CREATE EXTERNAL DATA SOURCE AzureDB
WITH (
LOCATION = 'sqlserver://ss2019azure.database.windows.net',
CREDENTIAL = acmeCred
);
go
CREATE EXTERNAL TABLE [dbo].[tblAcmeDataAzure]
(
ID varchar(10)
)
WITH (
LOCATION='dbAcmeAzure.dbo.tblAcmeDataAzure',
DATA_SOURCE=AzureDB
);
go