SQL Server 2012登录异常

时间:2015-09-18 06:52:00

标签: sql-server service-broker

我有2个应用程序连接到同一个数据库,当单独启动每个应用程序都很好。当我在同一时间启动它们时,其中一个将获得登录异常,如下所示,这种情况发生在99%的尝试中(所以很少它们一起很好)。

它始终是获得异常(1)的相同应用程序:

  1. 通过数据库进行查询的应用程序
  2. 连接到服务代理的应用程序(在所有情况下都适用)
  3. 如果我延迟第二个开始,第一个应用程序将崩溃。 以下是一些sql server日志:

    2015-09-18 07:27:20.43 Logon       Error: 18456, Severity: 14, State: 38.
    2015-09-18 07:27:20.43 Logon       Login failed for user 'domain\user'. Reason: Failed to open the explicitly specified database 'dbname'. [CLIENT: <local machine>]
    2015-09-18 07:27:21.32 spid55      Setting database option ENABLE_BROKER to ON for database 'dbname'.
    

    在SQL Server日志中,它总是那样,2行登录错误,然后是ENABLE_BROKER行。我认为服务经纪人与之前的2有关。

    有关envirenmont的详细信息:SQL Server 11.0.3153.0 - 在VM上运行的64位,Windows 7(7601)。

2 个答案:

答案 0 :(得分:0)

因为您的数据库处于单用户模式。对于单用户模式,只有一个客户端可以连接到数据库。

将其更改为多用户模式

document.getElementById("txtArea").innerHTML += this.value + ', ';

您可以在此处阅读有关单用户模式的更多信息:https://msdn.microsoft.com/en-us/library/ms345598.aspx

答案 1 :(得分:0)

最后我找到了导致这种情况的原因,下面的alter database语句我现在还没有看到它的用法(使用服务代理时,它应该由db admin启用,而不是每次应用时都启用重启)。删除该代码后,一切似乎都很好。

ALTER DATABASE [dbname] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE; 

继承代码乐趣:-)(不是)