PyCharm连接Microsoft SQL Server失败,寻求技术帮助
SQL Server连接问题排查方案(新手友好)
你的现状梳理
- SQL Server采用Windows身份验证,实例名:
[PC-NAME]\SQLEXPRESS - 连接目标主机:
localhost - 已开启TCP/IP,尝试1433端口和telnet均失败
- 错误提示:
TCP/IP 连接到主机 localhost、端口1433失败。
错误:“连接被拒绝:无更多信息。请验证连接属性。确保SQL Server实例在主机上运行并在该端口接受TCP/IP连接。确保防火墙未阻止该端口的TCP连接。”
排查步骤(全程鼠标操作,一步步来)
1. 确认SQL Server服务是否在运行
- 按下
Win + R,输入services.msc回车,打开服务列表 - 在列表里找SQL Server (SQLEXPRESS)(括号里的名称要和你的实例名对应),查看状态是否为「正在运行」
- 如果未运行,右键点击「启动」;启动失败的话先重启电脑再尝试,大概率是临时权限或依赖问题
2. 找到SQL Server Express的实际监听端口
Express版本默认不用1433端口,会随机分配动态端口,别死磕1433:
- 开始菜单搜索「SQL Server配置管理器」并打开
- 左侧展开「SQL Server网络配置」→ 点击「SQLEXPRESS的协议」
- 右键点击「TCP/IP」→ 选择「属性」→ 切换到「IP地址」标签
- 拉到最下方的「IPAll」区域:
- 若「TCP端口」为空,查看「TCP动态端口」里的数字(比如51234),这就是当前实际使用的端口
- 若「TCP端口」有数字,直接使用该固定端口
- 把这个端口号记下来,后续连接要用它
3. 给防火墙开权限(关键步骤)
允许SQL Server端口通过防火墙
- 打开「Windows Defender防火墙」→ 左侧点击「高级设置」→ 右侧点击「入站规则」→ 右键「新建规则」
- 规则类型选「端口」→ 下一步
- 选择「TCP」,输入你刚记下的实际端口号 → 下一步
- 选择「允许连接」→ 下一步
- 保持默认的「域、专用、公用」全勾选 → 下一步
- 给规则起个好记的名字,比如「SQL Server SQLEXPRESS 端口」→ 完成
允许SQL Server Browser服务通过防火墙(建议操作)
- 同样新建入站规则,规则类型选「程序」→ 下一步
- 点击「浏览」,找到SQL Server Browser的程序文件:一般在
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe(找不到就去开始菜单搜「SQL Server Browser」,右键点击「打开文件位置」) - 选择「允许连接」→ 下一步 → 完成命名,比如「SQL Server Browser」
4. 修正PyCharm里的连接设置
因为你用Windows身份验证,实例名是[PC-NAME]\SQLEXPRESS,正确参数这么填:
- 服务器地址:直接填
[PC-NAME]\SQLEXPRESS,或者localhost,刚才的端口号(比如localhost,51234) - 身份验证方式:选择「Windows身份验证」(别选SQL Server身份验证)
如果用代码连接(比如pyodbc库),参考这段示例(替换占位符为你的实际信息):
import pyodbc # 替换成你的电脑名称、目标数据库名 conn = pyodbc.connect( 'DRIVER={ODBC Driver 17 for SQL Server};' 'SERVER=你的电脑名称\SQLEXPRESS;' 'DATABASE=你要连接的数据库名;' 'Trusted_Connection=yes;' )
5. 再次测试连接
- 先打开SSMS,确认能正常连接
[PC-NAME]\SQLEXPRESS,确保服务本身无问题 - 回到PyCharm,用修正后的参数测试连接
内容的提问来源于stack exchange,提问作者WannaBeCoder
相关产品推荐
相关产品推荐

