从SS2019 CTP2.2创建外部数据源不起作用

时间:2019-02-27 19:55:27

标签: sql-server azure polybase sql-server-2019

所以...我有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的信息-您对此文档的了解都是如此!

2 个答案:

答案 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

参考blob:Incorrect syntax near 'RDBMS'. When I try to create external data source, Anyone having the same issue?

希望这会有所帮助。

答案 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
相关问题