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

如何在SSMS中使用Python执行*.sql文件?

早上好!当然可以在SSMS里通过Python执行.sql文件,我给你分享两种实用的实现方法,你可以根据自己的习惯选择:

方法1:利用SSMS内置的Python脚本窗口执行

SSMS从17版本开始就支持内置的Python运行环境,你可以直接在SSMS里编写Python代码来读取并执行.sql文件,步骤如下:

  • 打开SSMS并连接到你的SQL Server实例
  • 点击顶部的「新建查询」,然后在查询窗口的语言选择下拉框(默认是SQL)里切换到 Python
  • 把下面的代码粘贴进去,替换掉其中的服务器、数据库、账号密码以及.sql文件路径:
import pyodbc

# 建立SQL Server连接
conn = pyodbc.connect(
    'DRIVER={ODBC Driver 17 for SQL Server};'
    'SERVER=你的服务器名称;'
    'DATABASE=目标数据库;'
    'UID=你的用户名;'
    'PWD=你的密码;'
)
cursor = conn.cursor()

# 读取本地的.sql文件内容
with open('C:/Users/xxx/Desktop/your_script.sql', 'r', encoding='utf-8') as sql_file:
    sql_content = sql_file.read()

# 执行SQL脚本并处理结果
try:
    cursor.execute(sql_content)
    conn.commit()
    print("SQL脚本执行成功啦!")
except Exception as error:
    conn.rollback()
    print(f"执行过程中出错了:{str(error)}")
finally:
    # 关闭游标和连接
    cursor.close()
    conn.close()
  • 点击查询窗口上方的执行按钮(▶️),就能运行这段Python代码来执行你的.sql文件了

方法2:通过外部Python脚本执行,SSMS验证结果

如果你更习惯用本地的Python开发环境(比如VS Code、PyCharm),也可以这么操作:

  • 先确保你的Python环境安装了pyodbc库,没装的话打开命令行执行 pip install pyodbc
  • 编写和上面类似的Python脚本,替换好连接信息和文件路径后运行脚本
  • 脚本执行完成后,打开SSMS的查询窗口,写对应的SQL语句来验证脚本的执行效果(比如查询数据、查看表结构等)

一些需要注意的细节

  • 如果你的.sql文件里包含GO命令,直接用cursor.execute()可能会报错,这时候需要把脚本按GO分割成多个批次执行,示例代码如下:
# 处理包含GO的SQL脚本
sql_batches = sql_content.split('GO')
for batch in sql_batches:
    if batch.strip():  # 跳过空的批次
        cursor.execute(batch)
  • Windows系统下的文件路径记得用正斜杠(/)或者双反斜杠(\),避免路径解析错误
  • 确保连接SQL Server的账号拥有足够的权限,比如执行脚本里的创建表、插入数据、修改数据等操作的权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:20:32