Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка с ##MS_PolicyEventProcessingLogin##  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
В общем пару дней назад на одном из серверов добавил такой джоб

if Exists(SELECT d.Name as DB_Name,
MAX(b.backup_finish_date) as Last_Full_Backup
FROM sys.databases d
LEFT OUTER JOIN msdb..backupset b
ON b.database_name = d.name
AND b.[type] = 'D'
where d.Name not in ('tempdb')
GROUP BY d.Name
having DATEDIFF(day, max(b.backup_finish_date), (select getdate()))>=9 or max(b.backup_finish_date) is null)
begin
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DB_Mail', -- профиль администратора почтовых рассылок
@recipients = 'mail@mail.ru', -- адрес получателя
@body = N'Список БД у которых последний Full Backup был >= 9 дней назад или у которых он отсутствует совсем (значение Null в столбце даты последнего Full Backup)
', -- текст письма
@subject = N'На сервере имеются БД с последним Full Backup >= 9 дней', -- тема
@query='SET ANSI_WARNINGS OFF
SET NOCOUNT ON
SELECT d.Name as DB_Name,
MAX(b.backup_finish_date) as Last_Full_Backup
FROM sys.databases d
LEFT OUTER JOIN msdb..backupset b
ON b.database_name = d.name
AND b.[type] = "D"
where d.Name not in ("tempdb")
GROUP BY d.Name
having DATEDIFF(day, max(b.backup_finish_date), (select getdate()))>=9 or max(b.backup_finish_date) is null'
end

Поставил этот джоб на 8 утра и на сл. день при запуске джоба (джоб кстати выполнился и письмо пришло) в логе SQL начала каждые 5 секунд появляться ошибка
The activated proc '[dbo].[sp_syspolicy_events_reader]' running on queue 'msdb.dbo.syspolicy_event_queue' output the following: 'Cannot execute as the database principal because the principal "##MS_PolicyEventProcessingLogin##" does not exist, this type of principal cannot be impersonated, or you do not have permission.'
До этого запускал этот скрипт и все было норм, письма также отправлялись без ошибок.
Выполнил
SELECT * FROM master.sys.database_principals WHERE [name] LIKE '%##%'
SELECT * FROM msdb.sys.database_principals WHERE [name] LIKE '%##%'
Этот участник есть, потом выполнил
EXEC sp_change_users_login 'report';
Там он тоже вывелся, т.е. он у нас orphaned, выполнил
EXEC sp_change_users_login 'Auto_Fix', '##MS_PolicyEventProcessingLogin##', NULL,
'Password01!';
Из беспризорных он ушел.
Теперь еще раз отправляю почту, та же ошибка, участник на месте и он не беспризорный.
Может кто нибудь подскажет что делать?
17 сен 15, 07:30    [18158901]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с ##MS_PolicyEventProcessingLogin##  [new]
invm
Member

Откуда: Москва
Сообщений: 9785
https://support.microsoft.com/en-us/kb/913423
17 сен 15, 08:54    [18159036]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с ##MS_PolicyEventProcessingLogin##  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
invm
https://support.microsoft.com/en-us/kb/913423


Из всего что там указано, как причина подобной ошибки, не происходило, сервер никто не трогал и ничего не делал.
Владелец у системных БД SA и я если честно не понимаю как его смена решит проблему.
17 сен 15, 09:07    [18159057]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с ##MS_PolicyEventProcessingLogin##  [new]
dark_DBa_dmin
Member

Откуда:
Сообщений: 105
Версия SQL 2008
17 сен 15, 09:08    [18159061]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить