一、组网拓扑
软件产品本体服务启动遇到的故障不涉及组网拓扑。
二、现象描述
SAM+的服务启动失败,服务管理平台最后提示的失败原因是”数据库连接失败,系统自动退出”
三、可能原因
首先这个问题的技术原理是显而易见的,软件的启动与运行需要依赖与数据库的连接实现,当SAM+无法连接数据时就会出现此类问题,而故障的处理思路也比较直接,就是基于配置和系统环境两个部分来找寻连接失败的原因,连接失败共有3种技术原因:
(1)连接层面:SAM+本身无法连接操数据库的TCP1433端口导致连接失败,比如防火墙、数据库的服务没有启动。
(2)参数配置层面:SAM+在登录数据库时失败,这种所指的是连接层面正常,但进行账号密码验证时失败了。
(3)数据本体层面:SAM+连上数据库也登录成功,但在读取SAM+的数据库时因为数据库损坏、或者数据库的权限错误导致无法连接。(这里的数据本体指的是SAM+在数据库中默认创建的数据库SAMDB) 而这种类型的故障主要出现在两种场景,新部署和运行阶段,因此下面将基于两种场景分别归类可能得主要原因
四、处理步骤
1、基础连接和数据库参数设置检查:
(1)确认数据库的关键服务是否启动:
打开操作系统的“服务“组件(用搜索或者win+r输入“services.msc”都可以),核实服务列表中如下2个关键服务处于启动状态,如果没启动的话手动进行启动看下是否能启动成功。
(2)确认SA的账号密码是否正确:使用数据库自带的的管理工具“SQL Server Management Studio”,在服务器名称输入127.0.0.1并使用sa账号和密码进行登录,
确认是否能登陆成功,如果无法登录成功会有提示,比如常见的失败原因有如下这种,这种通常是sa的密码错误导致,只需要切换到使用“windows”系统账号进行数据库管理工具的登录后将sa账号密码重置即可,如果能登陆成功即可进行SAM+的服务器重启。
(3)检查操作系统的防火墙设置是否开启:如果开启但没有配置入站策略将有可能导致(不同系统机制有差异)无法连接数据库,因此可以将操作系统的防火墙临时关闭后尝试是否能登陆成功,如果能登陆成功即可进行SAM+的服务器重启。
2、SAMDB数据检查:
(1)若上诉的排查方法均正常,但依旧无法启动成功,可以通过数据库管理工具核查SAM+所使用的SAMDB数据库是否能正常打开,正常的情况参加下图:
若出现如下2种情况,说明SAM+的SAMDB数据库存在损坏或者访问权限限制的问题
情况1:SAMDB提示为单用户模式,此模式只允许有一个连接访问SAMDB其中还包含了数据库的管理工具,因此如若除了SAM+之前的连接对SAMDB进行了连接访问,将造成SAM+无法连接。
解决方案:通过语句或者数据库管理工具的设置将SAMDB从当用户模式修改为多用户,执行后点击刷新,将会看到SAMDB取消了单用户模式,取消后重启SAM+服务确认是否启动成功。
语句:alter database SAMDB set multi_user
参考:
情况2:SAM+的SAMDB数据库提示处于可疑状态
说明:数据库成为可疑状态通常是服务器出现异常的断电重启后,由于数据库自身对数据的完整性有校验要求,而断电重启这种异常的行为本身就会数据库的程序造成随机性的数据丢失,因此导致数据库程序任务这个数据不存在故障,因此会将数据库的状态设定为可疑模式,而可疑模式下是无法进行数据读取的。
【解决方案】:如果遇到此类问题,建议联系4008协助处理或点击链接进入:售后闪电兔 处理
五、总结与建议
这个问题的技术原理是显而易见的,软件的启动与运行需要依赖与数据库的连接实现,当SAM+无法连接数据时就会出现此类问题,而故障的处理思路也比较直接,就是基于配置和系统环境两个部分来找寻连接失败的原因