You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SSMS和Bulk Insert将本地txt文件导入Azure SQL DB?

如何用Bulk Insert将本地文件加载到Azure SQL DB?

我明白你现在的困扰——Azure SQL DB是云服务,没办法直接访问本地电脑的文件系统,所以直接写FROM 'c:\Users\Someone\myData.txt'肯定找不到文件。下面给你两个可行的解决方案,你可以根据情况选择:

方案一:上传文件到Azure Blob存储(适合批量/自动化场景)

这是Azure官方推荐的方式,步骤如下:

  1. 先把myData.txt上传到Azure Blob存储的某个容器里(可以用Azure存储资源管理器、Azure门户或者AZ命令行工具完成)
  2. 在Azure SQL DB中创建一个数据库范围凭据,用来授权访问Blob存储(用SAS令牌会更灵活)
  3. 执行Bulk Insert语句,直接引用Blob的URL,示例代码如下:
-- 先创建数据库范围凭据(假设使用SAS令牌)
CREATE DATABASE SCOPED CREDENTIAL BlobStorageCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = '你的SAS令牌内容';

-- 执行Bulk Insert
BULK INSERT 你的目标表名
FROM 'https://你的存储账户名.blob.core.windows.net/你的容器名/myData.txt'
WITH (
    CREDENTIAL = 'BlobStorageCredential',
    FIELDTERMINATOR = ',', -- 根据你的文件分隔符调整,比如制表符用'\t'
    ROWTERMINATOR = '\n',
    FIRSTROW = 2, -- 如果文件第一行是表头,就跳过第一行
    TABLOCK
);

方案二:用SSMS的导入数据向导(适合手动/少量数据)

如果不想写代码,用图形化工具会更简单:

  • 打开SSMS,连接到你的Azure SQL DB
  • 右键目标数据库 → 任务 → 导入数据
  • 数据源选择「平面文件源」,然后浏览选择本地的c:\Users\Someone\myData.txt
  • 跟着向导一步步配置:确认文件格式、分隔符、映射目标表字段,最后完成导入

关键说明

Azure SQL DB运行在Azure的云环境里,和你同事的本地电脑不在同一个网络,没有权限直接访问本地的C:\路径,所以直接引用本地路径是行不通的,必须通过中间存储(比如Azure Blob)或者客户端工具(SSMS向导)来中转数据。

内容的提问来源于stack exchange,提问作者CarCrazyBen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:58:58