Имя: Пароль:
IT
 
Ошибка выполнения задания SQL Server Agent'а
0 Gluk
 
04.04.11
13:54
SQL 2005. Добавлено задание по обслуживанию БД. Первым шагом там выполняется vbs скрипт - отправка сообщения по email.

При запуске задания с этого шага выдает ошибку:
Error creating security descriptor for shared objects (reason: Сопоставление между именами пользователей и идентификаторами безопасности не было произведено).  The step failed.

Подскажите, что не так, куда копать?
1 упс
 
04.04.11
14:20
посмотрите в свойствах джоба owner'a и в свойствах этого шага кто стоит в "run as". Возможно для кого-то из них нет логина на sql server, попробуйте их пересоздать, если логины есть и это не sa. Плюс, посмотрите, в журналах ошибок sql server и sql server agent - возможно там будет больше информации (даже скорее всего там будет больше информации).
Еще, возможно, у вас стоит win-аутентификация, а джоб пытается выполниться от sql-логина.
2 Gluk
 
04.04.11
14:51
owner джоба - sa
owner проблемного шага - SQL Agent Service Account, его нет в "SQL Server\Logins" и в учетках компьютера.
Как его можно добавить? Просто создать с этим именем в учетках компьютера и добавить в "SQL Server\Logins"?
3 упс
 
04.04.11
15:24
ПОсмотрите в SQL Server Configuration Manager от кого запускается SQL Server Agent - имеется в виду эта учетка.
4 Gluk
 
04.04.11
15:33
(1), (3) спасибо

(3) "SQL Server Agent" запускается от "Local System", как её можно добавить?
5 упс
 
04.04.11
18:59
(4)  А попробуйте поменять учетную запись, от которой запускается sql server agent на доменную, пусть даже с минимальными правами.
6 Gluk
 
05.04.11
09:45
(5) домен есть, но этот сервер не в домене
7 упс
 
05.04.11
09:58
(6) тогда на пользователя этого сервера + завести для этого пользователя в SQL Server. Попробовал у себя - та же фигня получается с системными службами (если тип шага ActiveX Script). Игры с proxy-аккаунтами не дают результата (что, в общем-то логично), при смене учетки все становится нормально.
Как вариант, можете попробовать запускать этот VBS скрипт через ХП - xp_cmdshell.
И маленький офф: если задача шага именно отправка почты, почему бы не настроить и не использовать DBMail?
8 Gluk
 
06.04.11
13:34
(7) спасибо, буду копать

Как я понял сообщение по почте через DBMail отправляется по завершению задания, а мне нужно при начале
9 упс
 
06.04.11
13:43
(8)http://msdn.microsoft.com/ru-ru/library/ms190307.aspx
sp_send_dbmail можно вызвать в любое время :)
10 Gluk
 
06.04.11
13:57
(9) спасибо, все получилось с "sp_send_dbmail"
Независимо от того, куда вы едете — это в гору и против ветра!