繁体   English   中英

无法在SQL中创建外部数据源

[英]Can't CREATE EXTERNAL DATA SOURCE in SQL

我正在尝试创建一个外部数据源来访问Azure Blob存储。 但是,我在创建实际数据源时遇到问题。

我已按照此处的说明进行操作: 在azure blob存储中批量访问数据创建外部数据源-事务sql的 示例 我正在使用Windows身份验证的客户端计算机上通过SSMS访问的VM上使用SQL Server 2016,没有任何问题。 说明说,创建此外部数据源适用于SQL Server 2016和Azure Blob存储。

我已经创建了主密钥:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = <password>

并且,数据库范围凭证

CREATE DATABASE SCOPED CREDENTIAL UploadCountries  
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = <key>;

我已经通过查询sys.symmetric_keys和sys.database_scoped_credentials验证了这两个数据库中是否都存在。

但是,当我尝试执行以下代码时,它说“'EXTERNAL'附近的语法不正确”

CREATE EXTERNAL DATA SOURCE BlobCountries
WITH  (
    TYPE = BLOB_STORAGE,
    LOCATION = 'https://<somewhere>.table.core.windows.net/<somewhere>', 
    CREDENTIAL = UploadCountries  
);

感谢您的想法和帮助!

史蒂夫。

在“ 对Azure Blob存储中的数据进行批量访问的示例 ”中,我们可以找到:

从SQL Server批量访问Azure blob存储至少需要SQL Server 2017 CTP 1.1。

在“ CREATE EXTERNAL DATA SOURCE(Transact-SQL) ”的“ 参数”部分中,我们可以找到类似的信息:

在SQL Server 2017中使用批量插入或OPENROWSET执行批量操作时,请使用BLOB_STORAGE

您正在使用SQL Server 2016,因此当您为Azure Blob存储创建外部数据源时, Incorrect syntax near 'EXTERNAL'错误Incorrect syntax near 'EXTERNAL'得到Incorrect syntax near 'EXTERNAL'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM