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

How to import Azure blob file into Sql Server 2008

除了使用 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 文件?

查看文档:BULK INSERT (Transact-SQL).

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

但是如果您data_file在Azure blob存储中,您的SQL服务器版本必须以SQL Server 2017 (14.x) CTP1.1开头。与 OPENROWSET 相同。

这意味着您无法使用 BULK INSERTOPENROWSET.

将 Blob 文件导入 SQL Server 2008

希望对您有所帮助。