我们最近从我们的系统中删除了一个很少使用过的数据库,并试图在我们的代码库中删除它的所有引用。即使有人意外离开,也不能经常打电话。这对我们来说是一个非常边缘的数据库。 (我们还有其他一些使用得更广泛的人)
从那时起,我们每天都会持续数千次这样的Windows事件(我们的网站几乎每天24小时都会通过数据库连接获得繁重的流量)。
instance of Win32_NTLogEvent
{
Computer = "------.-----.com";
EventCode = 18456;
EventIdentifier = 3221243928;
Logfile = "Application";
RecordNumber = 8799305;
SourceName = "MSSQL$---";
TimeGenerated = "20180110164152.000000-000";
TimeWritten = "20180110164152.000000-000";
Type = "Audit Failure";
EventType = 5;
User = "---\web";
Category = 4;
CategoryString = "Logon";
Message = "Login failed for user '---\web'. Reason: Failed to open the explicitly specified database 'MyDB'. [CLIENT: ---]";
InsertionStrings = {"---\pciweb_srv", " Reason: Failed to open the explicitly specified database 'MyDB'.", " [CLIENT: ---]", "-----"};
};
我检查了用户登录映射,并且没有与此数据库的任何关联。我不确定何时触发此登录事件。
我还能在哪里找到这个丢失数据库的引用?此错误/事件似乎不是来自代码库中的内容,而是更多来自SQL Server的配置设置。但是,我无法访问生产代码(经典ASP),只能访问我们的git仓库中的内容。因此,如果事情不在其中,那么这是唯一有意义的事情,如果它是代码。
但是我无法肯定地说,因为我不是数据库管理员,而只是一个试图帮助我们的Ops团队跟踪此问题的开发人员。
答案 0 :(得分:1)
无法打开明确指定的数据库“ MyDB ”。
将您的代码仓库和配置搜索为“MyDB”的任何引用作为被调用的数据库并将其删除。