今天一大早服务器重启了,重启之后,安装的SqlServer2008 R2服务起不来了..
好好的,没人动过怎么会起不来呢?于是进到系统服务里面手工重启Sql server服务,这时弹出启动失败的提示框,提示说:
Windows 无法启动 Sql server (MSSQLSERVER) 服务(位于本地计算机 上) 错误 1069:由于登录失败而无法启动服务。
百度一下,发现问题出在系统服务所用的登录身上。
装数据库时,把登录身份选在 操作系统的管理员账号了。操作系统的管理员账号administrator的密码之前更改过,所以重启之后,Sql Server服务肯定会出现登录失败的情况了。如下图:
找到问题的原因之后,把登录身份改成以下面的 本地系统账户,确定之后,重新启动服务,现在可以正常启动了。
我以为这样就已经解决掉了,但是应用还是出现连接数据库失败!这就来鬼了,远程进去看了一下,原来数据库的sa密码过期了,晕!
sa密码启用了密码过期策略:
把 强制密码过期 的勾去掉之后,确定就好了。
另外,安装数据库时,应用服务器有时连不上数据库服务器,而数据库服务器用相同的用户名密码却可以连接,问题可能出在防火墙上面.windows server 2008默认开启了防火墙,而数库的端口可能又进行了自定义,这个时候要不把防火墙禁掉,要不在防火墙里添加"例外",把数据库对应的端口号加进来,如图示:
有的时候,我们用Windows身份验证能登录成功,而sa却登录不成功,而sa的密码又没有错误,这个时候,需要设置 数据库连接->右键属性->安全性-> Sql server 和 Windows 身份验证模式 的选项,将其勾选.如图示:
结论:
要保证服务器正常运行及数据的可用,配置时一定要根据情况正确配置。
- 操作系统的密码是经常更改的,所以数据库服务所用的账户密码不要以操作系统管理员的用户密码作启动账号。
- 如果数据库服务器是7X24小时可用的,而运维人员又没有太多的精力去管理数据库的密码过期问题,数据库的密码最好不要启用 密码过期策略.以免影响业务的使用,造成不必要的损失.