如何将Azure Blob文件导入Sql Server 2008

时间:2019-02-13 11:40:22

标签: sql sql-server azure clr bulk-import

除了使用CLR之外,是否有其他方法可以将Blob文件导入到sql server 2008中?

文件大小约为300MB,因此CLR效率不足。是否可以在2008服务器中使用BULK INSERTOPENROWSET

在Sql Server 2017中的示例我们可以做到

CREATE DATABASE SCOPED CREDENTIAL AzureDevBlobImportCred
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'st=2018-12-05T.....'

go

CREATE EXTERNAL DATA SOURCE AzureDevBlobImportExternalSrc
WITH  (
    TYPE = BLOB_STORAGE,
    LOCATION = 'https://myStorageAccount.blob.core.windows.net', -- storage account URL
    CREDENTIAL = AzureDevBlobImportCred -- External Data Source
);

然后我们可以在批量导入中使用外部数据源

BULK INSERT #Mytemptable 
FROM 'filename'
WITH (DATA_SOURCE = 'AzureDevBlobImportExternalSrc'
); 

那么我们是否有类似上面的内容在Sql Server 2008中导入blob文件?

1 个答案:

答案 0 :(得分:1)

查看文档:{​​{3}}。

SQL Server 2008支持BULK INSERT:从2008开始。 BULK INSERT (Transact-SQL)  因此,您可以在SQL Server 2008中使用BULK INSERT

但是,如果data_file位于Azure blob存储中,则您的SQL Server版本必须以SQL Server 2017(14.x)CTP1.1开头。与OPENROWSET相同。 enter image description here

这意味着您无法使用BULK INSERTOPENROWSET将Blob文件导入SQL Server 2008。

希望这会有所帮助。