0

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

文件大小约为 300MB,因此 CLR 不够高效。有没有可能使用BULK INSERTOPENROWSET在2008服务器?

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 文件?

4

1 回答 1

1

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

SQL Server 2008 支持BULK INSERT:从 2008 开始。 在此处输入图像描述 所以你可以BULK INSERT在 SQL Server 2008 中使用。

但如果您的 data_file 位于 Azure blob 存储中,则您的 SQL Server 版本必须以 SQL Server 2017 (14.x) CTP1.1 开头。与 相同OPENROWSET在此处输入图像描述

这意味着您无法使用BULK INSERT或将 Blob 文件导入 SQL Server 2008 OPENROWSET

希望这可以帮助。

于 2019-02-14T01:27:03.907 回答