Can't CREATE EXTERNAL DATA SOURCE in SQL

血红的双手。 提交于 2019-12-11 15:27:45

问题


I'm trying to create an external data source to access Azure Blob Storage. However, I'm having issues with creating the actual data source.

I've followed the instructions located here: Examples of bulk access to data in azure blob storage and Create external data source - transact sql. I'm using SQL Server 2016 on a VM accessing via SSMS on a client machine using Windows Authentication with no issues. Instructions say creating this external data source works for SQL Server 2016 and Azure Blob Storage.

I have created the Master Key:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = <password>

and, the database scoped credential

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

I have verified both of these exist in the database by querying sys.symmetric_keys and sys.database_scoped_credentials.

However, when I try executing the following code it says 'Incorrect syntax near 'EXTERNAL'

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

Your thoughts and help are appreciated!

Steve.


回答1:


In “Examples of Bulk Access to Data in Azure Blob Storage”, we can find:

Bulk access to Azure blob storage from SQL Server, requires at least SQL Server 2017 CTP 1.1.

And in Arguments section of “CREATE EXTERNAL DATA SOURCE (Transact-SQL)”, we can find similar information:

Use BLOB_STORAGE when performing bulk operations using BULK INSERT or OPENROWSET with SQL Server 2017

You are using SQL Server 2016, so you get Incorrect syntax near 'EXTERNAL' error when you create external data source for Azure Blob storage.



来源:https://stackoverflow.com/questions/46739126/cant-create-external-data-source-in-sql

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!