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

如何从SQL Server获取数据至Azure ML管道或数据存储?

从SQL Server向Azure ML管道/数据存储导入数据的可行方案

1. 注册SQL Server为Azure ML数据存储

直接把SQL Server注册成Azure ML的Datastore,后续就能在管道里直接调用:

  • 用Azure ML SDK注册的代码示例:
    from azureml.core import Workspace, Datastore
    
    ws = Workspace.from_config()
    # 注册SQL Server数据存储
    sql_datastore = Datastore.register_sql_server(
        workspace=ws,
        datastore_name="sql_server_store",
        server_name="你的SQL Server地址",
        database_name="目标数据库名",
        username="数据库账号",
        password="数据库密码",
        port="1433"  # 默认端口,按需修改
    )
    
  • 注册后可以直接用SQL查询创建数据集,供管道步骤使用:
    from azureml.core import Dataset
    
    query = "SELECT * FROM 你的表名"
    sql_dataset = Dataset.Tabular.from_sql_query((sql_datastore, query))
    # 数据集可以直接传入管道的训练步骤
    

2. 在管道步骤中直连SQL Server读取

如果不想注册数据存储,直接在管道的Python脚本里用数据库连接库读数据:

  • 用pyodbc的示例代码:
    import pyodbc
    import pandas as pd
    
    # 建立连接
    conn_str = (
        "DRIVER={ODBC Driver 17 for SQL Server};"
        "SERVER=你的SQL Server地址;"
        "DATABASE=目标数据库名;"
        "UID=数据库账号;"
        "PWD=数据库密码"
    )
    conn = pyodbc.connect(conn_str)
    # 读取数据到DataFrame
    df = pd.read_sql("SELECT * FROM 你的表名", conn)
    # 后续可以把DataFrame存入Azure ML数据存储,或直接用于训练
    
  • 注意:要在管道使用的环境里安装pyodbc,可以在环境定义里加pip_packages=["pyodbc"]。

3. 批量同步到Azure数据存储

如果需要定期批量导入,用工具做数据同步更高效:

  • 用Azure Data Factory创建同步管道,把SQL Server的数据定期同步到Azure Blob Storage或ADLS Gen2,然后Azure ML管道直接从这些存储读数据。
  • 用SQL Server Integration Services (SSIS) 导出数据到Azure存储,再供ML管道使用。

常见问题排查

  • 防火墙配置:本地SQL Server要开放端口并允许Azure服务访问;Azure SQL Database要在防火墙里添加Azure ML工作区的公网IP,或开启“允许Azure服务和资源访问此服务器”。
  • 连接信息校验:确认服务器地址、数据库名、账号密码、端口全部正确。
  • 权限检查:SQL Server账号必须有目标表的读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:02:03