sql server连接遇到的问题

1、报错

连接失败: (‘08001’, '[08001] [Microsoft][ODBC Driver 17 for SQL Server]SQL Server 网络接口: 定位指定的 Server/Instance
时出错 [xFFFFFFFF]. (-1) (SQLDriverConnect); [08001] [Microsoft][ODBC Driver 17 for SQL Server]登录超时已过期 (0); [080
01] [Microsoft][ODBC Driver 17 for SQL Server]与 SQL Server 建立连接时发生了与网络相关的或特定于实例的错误。找不到或无法
访问服务器。请检查实例名称是否正确以及 SQL Server 是否配置为允许远程连接。有关详细信息,请参阅 SQL Server 联机丛书

2、代码

import pyodbc

def connect_to_sql_server():
    try:
        # 连接字符串
        conn_str = (
            r'DRIVER={ODBC Driver 17 for SQL Server};'  # 根据实际驱动版本调整
            r'SERVER=WIN-MSRDEN2TUV1\LEGENDLI;'
            r'DATABASE=master;'  # 指定要连接的数据库
            r'UID=sa;'
            r'PWD=1;'
        )
        
        # 建立连接
        conn = pyodbc.connect(conn_str)
        print("连接成功!")
        
        # 创建游标
        cursor = conn.cursor()
        
        # 执行 SQL 查询
        cursor.execute("SELECT @@VERSION")
        row = cursor.fetchone()
        print(f"SQL Server 版本: {row[0]}")
        
        # 关闭连接
        cursor.close()
        conn.close()
        
    except Exception as e:
        print(f"连接失败: {str(e)}")

if __name__ == "__main__":
    connect_to_sql_server()

3、分析

  • 1、首先测试本机程序是否能正常连接
  • 2、首先确保sqlserver所在电脑的防火墙是关闭的
  • 3、检查是否能ping 通
  • 4、检查连接的主机服务器名字是否正确
  • 5、检查sqlserver服务是否开启
  • 6、在sqlserver配置里将对应数据库的TCP/IP , 管道打开,然后重启sqlserver服务
  • 7、在SSMS里允许远程连接
  • 8、检查sql browser是否启动,若没有启动则需要在连接那里加上指定端口, r’SERVER=WIN-MSRDEN2TUV1\LEGENDLI,1433;'原因如下
    命名实例未启用 SQL Browser 服务
    SQL Browser 服务的作用:
    当客户端连接命名实例时,若未指定端口,浏览器服务会返回实例对应的动态端口。
    如何验证:
    在 SQL Server 服务器上,打开 服务管理器,检查 SQL Server Browser 服务是否 正在运行(状态为 启动)。
    若未运行:客户端无法自动获取端口,必须在连接字符串中显式指定端口(如 ,1433)。
  • 9、采用telnet 测试端口,或者 Test-NetConnection -ComputerName IP -Port 1433
    如果以上流程都验证了,还是不能连接,那就卸了重装吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值