Cherwell应用SQL Server身份验证登录密码重置后登录失败排查
问题排查与解决步骤
1. 检查未更新密码的配置节点
Cherwell的SQL登录密码通常需要在多个位置同步更新,你大概率漏了这些地方:
- Cherwell配置管理器:打开工具检查所有关联SQL Server的连接字符串,包括应用库、报告库、事件库等,确保密码一致。
- Windows服务:找到Cherwell相关的服务(比如Cherwell Application Server、Cherwell Background Process Service),要么检查服务登录账户是否用了该SQL账号,要么查看服务配置文件里的连接字符串是否没更新。
- Web.config/App.config:翻一遍Cherwell Web应用和后台服务的配置文件,找出所有带SQL连接字符串的节点,确认密码已替换。
- 第三方集成组件:如果Cherwell连了SSRS报告、自动化脚本、监控工具这类东西,这些工具可能单独存了SQL密码,得挨个核对更新。
2. 重启服务终止无效请求
现在每4秒一次的登录失败,肯定是某个没更新密码的进程在反复发起请求,必须重启这些服务来断干净:
- 重启Cherwell Application Server服务
- 重启Cherwell Background Process Service服务
- 重启IIS(如果是Web部署的Cherwell)
- 检查有没有单独跑的Cherwell脚本或后台进程,手动杀掉再重新启动
3. 临时规避账号锁定(启用密码策略前)
没解决登录失败前要开密码策略,先临时调大SQL的账号锁定阈值,避免很快被锁:
-- 查看当前账号状态 SELECT name, is_policy_checked, is_expiration_checked, login_failure_count FROM sys.sql_logins WHERE name = '你的Cherwell登录名'; -- 临时设置高失败阈值(比如100次,后续记得改回合理值) ALTER LOGIN [你的Cherwell登录名] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON, FAILED_LOGIN_ATTEMPTS = 100, PASSWORD_LOCKOUT_DURATION = 1;
4. 定位登录失败的源头
用SQL扩展事件抓一下失败请求的来源,精准找问题:
- 创建扩展事件会话捕获
login_failed事件,查看client_app_name、client_hostname字段,就能知道是哪个应用/服务器在发错误请求。
内容的提问来源于stack exchange,提问作者StillLearningSQL
相关产品推荐
相关产品推荐

