Sql server 从SS2019 CTP2.2创建外部数据源不工作
所以。。。我有2个SQL Server 2019实例(CTP2.2),我有一个在单节点配置中安装了Polybase(参考SS-A)。我已在SS-A主机中创建了主密钥,并在SS-A上的数据库中创建了数据库范围的凭据。当我尝试执行以下操作时:Sql server 从SS2019 CTP2.2创建外部数据源不工作,sql-server,azure,polybase,sql-server-2019,Sql Server,Azure,Polybase,Sql Server 2019,所以。。。我有2个SQL Server 2019实例(CTP2.2),我有一个在单节点配置中安装了Polybase(参考SS-A)。我已在SS-A主机中创建了主密钥,并在SS-A上的数据库中创建了数据库范围的凭据。当我尝试执行以下操作时: CREATE EXTERNAL DATA SOURCE acmeAzureDB WITH (TYPE = RDBMS, LOCATION = 'ss2019azure.database.windows.net', DATABASE_NAM
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合作,但没有任何运气(已为此工作了数周,但没有任何效果)。
这里有任何想法——再加上一条给微软的消息——你在这上面的文档太糟糕了 您有2个SQL Server 2019实例(CTP2.2)。 但它们不是Azure SQL数据库实例 RDBMS外部数据源目前仅在Azure SQL数据库上受支持
-- 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>
)
--仅弹性数据库查询:Azure SQL数据库上的远程数据库作为数据源
--(仅在Azure SQL数据库上)
创建外部数据源数据源名称
与(
类型=关系数据库管理系统,
位置='.database.windows.net',
数据库名称=“”,
凭证=
)
另一种方法是,您可以为SQL server 2019实例创建链接到Azure SQL数据库的服务器。然后,您可以作为外部数据源从Azure SQL DB查询数据
要查看此官方教程:
参考斑点:
希望这能有所帮助。今天与MS合作成功——您可以在SS2019中创建外部数据源并指向AZURE SQL——以下是我使用的TSQL: (主密钥已创建)
你是指文档吗?是的——不幸的是,语法与2019 CTP(不是2017年)略有不同——这是问题的一部分——技术正在发展中——从早期CTP版本开始——不起作用——然后在12月转到CTP 2.2——仍然不起作用——MS SME似乎无法帮助。。。没有什么比处于最前沿更重要的了,我想问题是有很多相互冲突的信息——如果能看到SS2019 CTP到SS2019 CTP,甚至SS2019 CTP到Azure SQL这样做的例子就好了。。。。Polybase文档甚至更糟糕……这就是文档的问题——“据说”SS2019支持Azure SQL的外部表——至少这是我从MS那里听到的——这是SS2019 CTP文档的链接它并没有明确说明SS2019不能做到这一点(MS告诉我你可以做到)——但是我得出了同样的结论,那就是这是不可能的。我看过这个文档。根据它,我认为您需要知道Azure SQL DB是远程数据库,支持外部数据源RDBMS类型,SQL Server 2019实例是本地数据库,不支持RDBMS类型。这是Azure SQL数据库和SQL Server实例之间的不同特性。所有这些都支持外部数据源。Leon——是的——通过SS2019,我可以支持“其他”外部数据源,例如Hadoop——但不支持RDBMS——看起来RDBMS在Azure SQL中仅作为外部数据源支持——但它与MS SME在过去3.5个月里所说的不同。啊!
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