У файлі журналу помилок SQL Server я знайшов наступні рядки:
2018-02-22 14:10:58.95 spid17s Starting up database 'msdb'.
2018-02-22 14:10:58.95 spid16s Starting up database 'ReportServer'.
2018-02-22 14:10:58.95 spid18s Starting up database 'ReportServerTempDB'.
2018-02-22 14:10:58.95 spid19s Starting up database 'XYZ'.
Якщо я перевіряю стан бази даних XYZ до цього часу, вона ONLINE
використовує таке твердження:
SELECT state_desc FROM sys.databases WHERE name='XYZ'
... але коли я намагаюся підключитися до цієї бази даних за допомогою програми C #, вона не може підключитися до бази даних.
Помилка:
Помилка входу для користувача "asd".
Причина: не вдалося відкрити явно вказану базу даних.
Я спробував трьох різних користувачів (користувач Windows, sa, користувач SQL Server, визначений для програми). Проблема виникає, коли я запускаю програму під час запуску ОС, але якщо запускати її вручну після запуску, помилок не трапляється, тому я вважаю, що всі налаштування SQL Server та параметри брандмауера є правильними.
Також перед цим я перевіряв, чи працює стан служби.
Що ще я повинен перевірити, щоб переконатися, що база даних насправді є в Інтернеті та готова до запитів?
Я шукаю ключ, який підказує мені, що це нормально запитувати базу даних, а не затримуватись на час (навіть не виходячи з чіткої причини).
Я думав сканувати журнал помилок для тексту "Запуск бази даних" XYZ ", але це означає, що я повинен додати налаштування програми для шляху журналу помилок SQL Server. Це також означає прочитати файл багато разів, поки я не знайду цю фразу.