Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 从SS2019 CTP2.2创建外部数据源不工作_Sql Server_Azure_Polybase_Sql Server 2019 - Fatal编程技术网

Sql server 从SS2019 CTP2.2创建外部数据源不工作

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

所以。。。我有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_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