1

У меня есть служба, которая пытается подключиться к базе данных MSSQL при запуске, но когда я запускаю компьютер, он выдает ошибку, потому что не может подключиться к базе данных. Это происходит потому, что конкретная БД еще не была запущена службой MSSQL, даже если у моей службы установлена зависимость для службы MSSQL.

Что я могу сделать? Какие-либо решения?

Я мог бы добавить задержку в моем сервисе, скажем, на 5 минут, но это было бы последнее решение, которое я бы использовал, поскольку оно не является правильным с моей точки зрения.

Л.Е .: Забыл сказать, что он должен работать на Windows XP SP3, я пробовал с автоматической задержкой, но он не будет работать.

3 ответа3

0

Можно запланировать задачу в Windows XP , которая запустит пакетный файл, который запустит службу, когда вы захотите, относительно запускающего события.

Инициирующее событие может быть простым, например, At Logon , что, безусловно, произойдет только после определенной задержки.

Для получения большего контроля при создании задачи нажмите кнопку «Открыть» в разделе «Дополнительные свойства» для задачи, а затем нажмите кнопку «Готово». В диалоговом окне Свойства для задачи можно указать больше условий:

образ

0

Установите сервис, который вы хотите отложить на ручной.

Теперь перейдите в консоль SQL Server и выполните следующие действия: https://stackoverflow.com/questions/287060/scheduled-run-of-stored-procedure-on-sql-server.

Создайте команду как это:

xp_cmdshell 'net start yourservice'

Я надеюсь, что это помогает, не могу проверить здесь. Я думаю, что для этого нужен агент сервера SQL.

0

Установить свой сервис на автоматический (отложенный запуск)? Это задержит его на 2 минуты, пока не будет запущено последнее автоматическое обслуживание.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .