1

所以...我有 2 个 SQL Server 2019 实例 (CTP2.2),并且我在单节点配置中安装了一个 Polybase(将其引用为 SS-A)。我在 SS-A 的 master 中创建了 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 
     );

我收到一个错误

消息 102,级别 15,状态 1,第 6 行
“RDBMS”附近的语法不正确

我曾尝试与 MS SQL Server SME 合作,但没有任何运气(为此工作了数周无济于事)。这里的任何想法——加上给微软的消息——你的文档太棒了!!

4

2 回答 2

2

您有 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 数据库的链接服务器。然后,您可以从 Azure SQL DB 中以EXTERNAL DATA SOURCE.

要查看此官方教程:如何创建链接服务器

参考 blob:“RDBMS”附近的语法不正确。当我尝试创建外部数据源时,有人遇到同样的问题吗?

希望这可以帮助。

于 2019-02-28T06:39:08.970 回答
0

所以 - 今天与 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
于 2019-03-01T23:22:47.793 回答