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

如何将源SQL Server的所有数据库原样加载至Azure Data Lake Gen2?

将SQL Server所有数据库批量加载到Azure Data Lake Gen2的方法

方法1:Azure Data Factory (ADF) 批量遍历方案

  • 先创建SQL Server链接服务,连接到源实例。
  • 添加查找活动,执行SQL获取所有在线用户数据库列表:
    SELECT name FROM sys.databases WHERE database_id > 4 AND state_desc = 'ONLINE'
    
  • 配置ForEach活动,遍历查找活动返回的数据库名称集合。
  • 在ForEach内部设置复制活动:
    • 源数据集动态绑定当前数据库名(用@item().name表达式),选择复制全库所有表。
    • 目标数据集指向ADLS Gen2,动态创建对应数据库名的文件夹路径,可选择Parquet、CSV或bacpac格式(需保留完整结构时选bacpac)。
  • 启动流水线即可批量完成全库加载。

方法2:PowerShell脚本批量导出上传

  • 枚举SQL Server用户数据库:
    $serverInstance = "你的SQL Server实例地址"
    $databases = Invoke-SqlCmd -ServerInstance $serverInstance -Query "SELECT name FROM sys.databases WHERE database_id > 4 AND state_desc = 'ONLINE'"
    
  • 用sqlpackage.exe批量导出为bacpac文件:
    foreach ($db in $databases) {
        $bacpacPath = "本地临时目录\$($db.name).bacpac"
        & "C:\Program Files\Microsoft SQL Server\150\DAC\bin\sqlpackage.exe" `
            /Action:Export `
            /SourceServerName:$serverInstance `
            /SourceDatabaseName:$db.name `
            /TargetFile:$bacpacPath
    }
    
  • 上传到ADLS Gen2:
    $storageAccountName = "你的存储账户名"
    $containerName = "目标容器名"
    foreach ($db in $databases) {
        $bacpacPath = "本地临时目录\$($db.name).bacpac"
        Set-AzStorageBlobContent -File $bacpacPath `
            -Container $containerName `
            -Blob "databases/$($db.name).bacpac" `
            -Context (Get-AzStorageAccount -Name $storageAccountName).Context
    }
    

方法3:SQL Server Integration Services (SSIS) 批量处理

  • 新建SSIS包,添加执行SQL任务获取用户数据库列表,结果存入变量。
  • 用Foreach循环容器遍历变量中的数据库名。
  • 循环内配置数据流任务:
    • 源连接管理器通过表达式动态绑定当前数据库名,读取全表数据。
    • 目标连接管理器指向ADLS Gen2,将数据写入对应文件夹的指定格式文件。
  • 将包部署到Azure-SSIS集成运行时,执行批量加载。

注意事项

  • 需保留完整库结构和数据时优先用bacpac格式;仅需分析数据时,Parquet/CSV等格式更适合后续大数据处理。
  • 确保SQL Server实例有全库读取权限,ADLS Gen2存储账户有写入权限。
  • 批量处理时可限制并发数,避免源SQL Server性能过载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 20:25:47