06-"Login failed for user 'NT AUTHORITYSYSTEM'. 原因: 无法打开明确指定的数据库。[客户端:<local machine>]"异常处理

1、错误描述

 今天公司SQLServer服务器报出好多登录失败的错误,并且刷的频率非常高,仔细看主要就是2个错误,如下:

(1)Login failed for user 'NT AUTHORITYSYSTEM '。原因:无法打开明确指定的数据库。[客户端:<local  machine>]

(2)Login failed for user 'sa '。原因:无法打开明确指定的数据库。[客户端:<10.xx.xx.xx>]

数据库的版本如下:

2、错误原因

(1)出现这2个登录失败的问题,都是程序登录数据库导致,和数据库本身没什么关系,并且和数据库的补丁也没有关系;

(2)sa登录数据库失败,这个问题从数据库层面看,sa用户本身是没有问题的,并且该实例下的数据库都是online状态,sa是sysadmin权限,是可以访问该实例下的任何数据库的,所以即使不配置数据库映射,也是没问题的;

3、解决办法

(1)NT AUTHORITYSYSTEM 登录失败,可以先禁用,看本地是否有部署什么程序会报错的,排查一下;

(2)出现这个问题,报出“无法打开明确指定的数据库”,需要排查这个远程访问数据库的服务器(也就是10.xx.xx.xx)上配置的数据库连接,是否还有其他的连接,指定的数据库名称在该SQLServer实例上没有,或者以前有,后来删除的数据库配置;

果然,最后发现是有数据库迁移走了,但是程序里还在调用这个数据库名称,导致一直报这个错误;

原文地址:https://www.cnblogs.com/jialanyu/p/13445077.html