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

如何在WSL2中通过Python以Windows身份验证连接远程MS SQL Server?

在WSL2中用Python+pyodbc通过Windows身份验证连接远程MS SQL Server的实现方法

方案一:Kerberos认证(适用于域环境)

这是实现Windows身份验证的标准方式,适配加入域的Windows账号:

  • 在WSL的Ubuntu/Debian环境下安装Kerberos工具:
    sudo apt-get update && sudo apt-get install krb5-user
    
  • 编辑/etc/krb5.conf配置文件,替换为你的域信息:
    [libdefaults]
        default_realm = YOUR_DOMAIN.COM
        dns_lookup_kdc = true
        dns_lookup_realm = true
    [realms]
        YOUR_DOMAIN.COM = {
            kdc = dc.your_domain.com  # 替换为你的域控制器地址
            admin_server = dc.your_domain.com
        }
    
  • 获取Kerberos票据,输入你的Windows域账号密码:
    kinit your_windows_domain_username@YOUR_DOMAIN.COM
    
  • 编写Python连接代码:
    import pyodbc
    
    conn_str = (
        "DRIVER={ODBC Driver 17 for SQL Server};"
        "SERVER=your_sql_server_hostname_or_ip;"
        "DATABASE=target_db_name;"
        "Trusted_Connection=yes;"
        "Authentication=ActiveDirectoryIntegrated;"
    )
    try:
        conn = pyodbc.connect(conn_str)
        print("连接成功")
        # 后续数据库操作
        conn.close()
    except Exception as e:
        print(f"连接失败: {str(e)}")
    

方案二:本地Windows账号模拟(适用于非域环境)

如果SQL Server在同一局域网的Windows机器上,且使用本地Windows账号验证:

  • 确保WSL2能访问SQL Server主机(可通过ping测试,必要时在WSL的/etc/hosts添加主机名映射)
  • 安装ODBC驱动:
    sudo apt-get install msodbcsql17 unixodbc-dev
    
  • 使用带本地账号的连接字符串:
    import pyodbc
    
    conn_str = (
        "DRIVER={ODBC Driver 17 for SQL Server};"
        "SERVER=your_sql_server_hostname_or_ip;"
        "DATABASE=target_db_name;"
        "UID=.\your_local_windows_username;"  # 前缀.表示本地账号
        "PWD=your_local_windows_password;"
    )
    try:
        conn = pyodbc.connect(conn_str)
        print("连接成功")
        conn.close()
    except Exception as e:
        print(f"连接失败: {str(e)}")
    
    注意:需确保SQL Server允许该本地账号访问目标数据库。

关键检查项

  • 确认SQL Server已启用Windows身份验证模式(而非仅混合模式)
  • 验证WSL2与SQL Server主机的网络连通性,确保1433端口(SQL Server默认端口)开放
  • 使用匹配的ODBC驱动版本(推荐17或18,避免兼容性问题)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:30:24