У нас недавно произошел сбой сервера; на этом сервере у нас было запланировано выполнение нескольких работ каждую ночь. Мы сделали резервную копию базы данных SQL Server (2005) до того, как сервер умер, и восстановили ее, однако я не вижу никаких заданий в агенте SQL Server. Резервное копирование базы данных не создает резервные копии заданий? Я не в курсе, что рабочие места где-либо сохраняются ... я облажался?
Задания хранятся в системной базе данных MSDB. Вы это подтвердили? Вам нужно восстановить его, чтобы вернуть свои рабочие места.
У вас есть два варианта. Если вы планируете в основном восстановить сервер без повреждений, как указал 20th Century Boy, информация о вакансии хранится в базе данных msdb. В дополнение к пользовательским базам данных вы должны делать резервные копии master и msdb, которые являются системными базами данных.
Если вы просто хотите извлечь задания для запуска на другом существующем сервере в качестве варианта восстановления, вы можете создать сценарий для заданий агента SQL Server.
Строго говоря, это не прямой ответ на вопрос, но я думаю, что он актуален. Практически любое запланированное задание, которое вы обычно создаете в SQL Server, может быть выполнено как пакетный файл с помощью osql или sqlcmd. Вы можете запустить командный файл из Планировщика задач Windows.
Какой подход лучше - дело вкуса. Мне нравится использовать командные файлы из Windows, потому что я могу запускать другие вещи из командного файла, а командный файл легко реплицировать в новых установках, не беспокоясь о восстановлении msdb.
JR
Создание сценариев - это хорошо, потому что вы можете загружать сценарии в систему управления исходным кодом и вести журнал изменений.
Но вы также должны создать резервную копию MSDB. Ремни и подтяжки.
В ситуации, в которой вы находитесь, как указано, если у вас нет ни резервной копии MSDB, ни сохраненных сценариев заданий, а MSDB недоступен, вам придется воссоздать задания из памяти или других источников. ("Я облажался" = Да)
Восстанавливая рабочие места, не только ищите, какие вакансии вы сделал есть на месте, но рабочие места вы должен были на месте.
Теперь, когда прошло несколько недель, и вы (надеюсь) восстановили большую часть своих критических рабочих мест, вам следует вернуться к тому, что у вас есть, и подумать:
В такой ситуации может быть трудно вылечиться, но это намного лучше если вы убедитесь, что вы вернули рабочие места в ситуации, когда у вас не будет проблем с производительностью в будущем, которые снова вызовут проблемы при восстановлении!
(Конечно, это то, что нужно проверять на всех серверах БД, но устранение сбоев - прекрасное время для повторного изучения передовых практик и определения того, что вам может не хватать.)