zoukankan      html  css  js  c++  java
  • 一次连不上SQL的问题解决

    很久不配环境了, 新装的一套Windows Server 2008 R2的环境, 发现程序连不上SQL server.

    1. 用test.udl连接不上.

    image

    image

    2. 抓网络包, 看到三次握手成功. 连不上的原因是SQL Server返回了这条网络包.

    458    7:53:48 AM 7/12/2012    33.3707944    System    10.4.2.5    10.4.2.7    SMB2    SMB2:R  - NT Status: System - Error, Code = (22) STATUS_MORE_PROCESSING_REQUIRED  SESSION SETUP (0x1), SessionFlags=0x0     {SMBOverTCP:12, TCP:11, IPv4:9}

    3. 于是, 在Windows Server 2008 R2的feature里添加Telnet Client. 发现SQL Server的1433端口不通.

    image

    4. Remote到SQL机器上, 使用命令netstat –ano查看1433端口是否正在被SQL机器监听. 发现正在监听, 正常.

    image

    监听1433的进程正是sqlservr.exe, 进程ID是4288.

    image

    5. 打开Windows Firewall的配置处, 点击Advanced Settings.

    image

    选择Inbound Rules->New Rules->Port->TCP: 1433->Allow the connection->Domain,Private,Public->Name: SQL 1433

    image

    image

    image

    保存.

    6. 回到客户端机器上, 重新telnet SQL, 连接SQL成功.

    小结

    ===================

    在这次排查中, 我们用到了telnet命令和netstat命令.

    还用到了UDL文件来测试连接SQL服务.

    解决问题的是我们创建了一条Windows Firewall的一条规则, 这条规则让其他的机器能够连接到SQL服务上.

    这是一次对连接SQL的典型排错, 希望会大家会有帮助.

    致谢

    ==================

    感谢Peter Zhu提供帮助.

  • 相关阅读:
    23种设计模式彩图
    Win10间歇性卡顿
    RDMA
    mii-tool与ethtool的用法详解
    linux下模拟CPU占用100%小程序
    Linux SNMP 监控一些常用OID
    SNMP协议介绍
    set排序(个人模版)
    TSP(个人模版)
    树的重心(个人模版)
  • 原文地址:https://www.cnblogs.com/awpatp/p/2588366.html
Copyright © 2011-2022 走看看