怎么解决数据库连接失败问题?

说白了,排查网络连接问题就三步:先看物理通路,再看软件设置,最后动手改配置。
这事复杂在细节容易漏,但拆解下来其实很简单。

先说最重要的,去年我们跑的那个项目,有次突然3 000量级的用户全部卡死,直接ping对方服务器IP完全不通。
说实话挺坑的,后来发现是机房刚换IP段,防火墙策略没及时更新——用行话说叫雪崩效应,其实就是前面一个小延迟把后面全拖垮了。
另外一点,有次测试环境里发现能ping通,但客户端就是连不上数据库,查了半天是对方SQL Server配置了只允许本地连接,这个点很多人没注意。
还有个细节挺关键的,比如你发现TCP/IP协议在服务器上被手动禁用了,这通常发生在系统管理员误操作后——等等,还有个事,记得确认对方机器的SQL Server版本是否一致,不同版本可能对连接协议有兼容问题。

我一开始也以为只要改TCP/IP状态就完事了,后来发现不对,有些服务器还要求开启"TCP重置"功能才彻底解决。
提醒一句,操作前最好备份配置,免得改坏了连恢复都无从下手。

建议你先从ping测试开始,一步步排查到协议设置,这个流程基本覆盖了9 0%的连接问题。

SQL 2008连接数据库时出现“无法连接到服务器”

上周,我那个朋友在连接SQL2 008 数据库时遇到了“无法连接到服务器”的问题。
原因是安装时SQLServer服务启动方式被设置为“手动”。
解决方法很简单,他进入计算机管理界面,找到“服务”一栏,启动了SQLServer服务。
在服务列表中找到SQLServer(MSSQLSERVER),点击左侧的“启动”,等待进度条完成,状态显示为“已启动”后,重新连接数据库,就成功了。
他还发现,为了避免每日手动启动,可以将服务启动类型改为“自动”。