SQL Server 2012 Logon исключение

У меня есть 2 приложения, подключающиеся к одной базе данных, при запуске каждого по отдельности оба в порядке. Когда я запускаю их одновременно, один из них получит исключения при входе в систему, как вы можете видеть ниже, это происходит в 99% моих попыток (так что очень редко они в порядке вместе).

И это всегда одно и то же приложение, которое получает исключения (1):

  1. приложение, которое делает запросы по базе данных
  2. приложение, которое подключается к сервисному брокеру (это работает во всех случаях)

Первое приложение будет зависать, если я задержу начало второго. Вот некоторые журналы sql сервера:

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 - 64-разрядная версия, Windows 7 (7601), работающая на виртуальной машине.

2 ответа

Решение

Наконец, я нашел причину этого, это был приведенный ниже оператор базы данных alter, для которого я пока не вижу его использования (при использовании брокера служб он должен быть включен администратором БД, а не каждый раз при перезапуске приложения), После удаления этого кода все выглядит нормально.

ALTER DATABASE [dbname] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE; 

Наследственный код веселья:-) (нет)

Потому что ваша база данных находится в однопользовательском режиме. В однопользовательском режиме только один клиент может подключиться к базе данных.

Измените его на многопользовательский режим

GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;

Подробнее об однопользовательском режиме вы можете прочитать здесь: https://msdn.microsoft.com/en-us/library/ms345598.aspx?

Другие вопросы по тегам