除了使用CLR之外,是否有其他方法可以将Blob文件导入到sql server 2008中?
文件大小约为300MB,因此CLR效率不足。是否可以在2008服务器中使用BULK INSERT
或OPENROWSET
?
在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文件?
答案 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
相同。
这意味着您无法使用BULK INSERT
或OPENROWSET
将Blob文件导入SQL Server 2008。
希望这会有所帮助。