如何将 Azure blob 文件导入 Sql Server 2008
How to import Azure blob file into Sql Server 2008
除了使用 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 文件?
查看文档: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 INSERT
或 OPENROWSET
.
将 Blob 文件导入 SQL Server 2008
希望对您有所帮助。
除了使用 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 文件?
查看文档:BULK INSERT (Transact-SQL).
SQL Server 2008 支持 BULK INSERT
: 从 2008 开始。
BULK INSERT
。
但是如果您data_file在Azure blob存储中,您的SQL服务器版本必须以SQL Server 2017 (14.x) CTP1.1开头。与 OPENROWSET
相同。
这意味着您无法使用 BULK INSERT
或 OPENROWSET
.
希望对您有所帮助。