1、錯誤描述

今天公司SQLServer服務器報出好多登錄失敗的錯誤,並且刷的頻率非常高,仔細看主要就是2個錯誤,如下:
(1)Login failed for user 'NT AUTHORITY\SYSTEM '。原因:無法打開明確指定的數據庫。[客戶端:<local machine>]
(2)Login failed for user 'sa '。原因:無法打開明確指定的數據庫。[客戶端:<10.xx.xx.xx>]
數據庫的版本如下:

2、錯誤原因
(1)出現這2個登錄失敗的問題,都是程序登錄數據庫導致,和數據庫本身沒什么關系,並且和數據庫的補丁也沒有關系;
(2)sa登錄數據庫失敗,這個問題從數據庫層面看,sa用戶本身是沒有問題的,並且該實例下的數據庫都是online狀態,sa是sysadmin權限,是可以訪問該實例下的任何數據庫的,所以即使不配置數據庫映射,也是沒問題的;
3、解決辦法
(1)NT AUTHORITY\SYSTEM 登錄失敗,可以先禁用,看本地是否有部署什么程序會報錯的,排查一下;
(2)出現這個問題,報出“無法打開明確指定的數據庫”,需要排查這個遠程訪問數據庫的服務器(也就是10.xx.xx.xx)上配置的數據庫連接,是否還有其他的連接,指定的數據庫名稱在該SQLServer實例上沒有,或者以前有,后來刪除的數據庫配置;
果然,最后發現是有數據庫遷移走了,但是程序里還在調用這個數據庫名稱,導致一直報這個錯誤;
