错误:18456,严重性:14,状态:38原因:无法打开显式指定的数据库'ReportServer'。 [客户:<本地计算机=“”>]

时间:2018-07-24 23:21:04

标签: sql sql-server

我正面临着这样一种情况,即每10秒就会用以下msg记录一次错误日志:

2018-07-25 09:07:09.59 Logon       Error: 18456, Severity: 14, State: 38.
2018-07-25 09:07:09.59 Logon       Login failed for user 'svc_sql'. Reason: Failed to open the explicitly specified database 'ReportServer'. [CLIENT: <local machine>]

在我的实例中,我没有“ ReportServer”数据库。我知道过去将服务器迁移到新计算机,并且我认为在新服务器中使用新名称创建了“ ReportServer”数据库。我真的不知道迁移是如何完成的。

我已经使用所有审核选项激活了SQL_Profiler,我可以看到该用户有时还会执行一个过程。

我已经检查了此用户及其主数据库的默认数据库。

任何想法如何解决此问题?我的错误日志中充满了此消息。

非常感谢。

2 个答案:

答案 0 :(得分:2)

  

我已经检查了此用户及其主数据库的默认数据库。

该错误不会告诉您有关default数据库的信息,而是有关明确指定的数据库的信息,这是不同的,它是在Initial Catalog下的连接字符串中提到的数据库,或者Database

您看到什么应用程序试图打开该数据库吗?问题出在该应用程序中,它使用旧的连接字符串。如果是SSMS,就很简单,它在连接对话框的Options中,但是如果是另一个应用程序,则可以将连接字符串写在ini文件中或进行硬编码。

  

我不知道是否尝试运行DBCC CHECKDB master可以解决此问题。

当然,它不能解决这个问题。这与数据库完整性无关。是您的客户端使用了错误的连接字符串。

  

任何想法如何解决此问题?我的错误日志与此有关   消息。

如果您只想从这些消息中保存错误日志,请关闭failed logins audit

enter image description here

或者您应该通过应用程序的名称,主机或客户地址找到该应用程序。

或者您可以暂时禁用此登录,然后看到谁打给您,说他无法登录,或者,如果这是您的本地计算机,则您的某些应用程序将失败,这样您就可以找到它。

答案 1 :(得分:-1)

我遇到了同样的错误,执行以下操作解决了我的错误: 从 SQL Server Management Studio 中

  1. 安全
  2. 登录
  3. 右键单击登录失败的用户 ID
  4. 服务器角色
  5. 确保选中所有复选框。右键单击“安全”并刷新。