Что вызвало бы осиротевшего ## MS_PolicyEventProcessingLogin ##?


9

Сегодня утром я заметил, что мой журнал SQL заполняется следующим сообщением:

Активированный процесс '[dbo]. [Sp_syspolicy_events_reader]', работающий в очереди 'msdb.dbo.syspolicy_event_queue', выводит следующее:
'Невозможно выполнить роль участника базы данных, поскольку принципал "## MS_PolicyEventProcessingLogin ##" не существует, этот тип Принципал не может быть выдан за другого, или у вас нет разрешения.

Запуск следующего EXEC sp_change_users_login 'report'показал, что логин был фактически осиротевшим.

Я смог исправить это, выполнив следующее, как рекомендовано в этом сообщении MSDN .

EXEC sp_change_users_login 
    'Auto_Fix', '##MS_PolicyEventProcessingLogin##', 
    NULL, 'fakepassword'

Но остается вопрос: что в мире могло привести к тому, что этот директор был осиротевшим? Поиск в Google и исследования показывают, что у других была эта проблема, но я еще не нашел описание причины. Ничего особенного, что мне известно, не произошло в тот момент, когда появилась ошибка.

Прошлым летом мы перенесли весь сервер в модель хранилища SAN, во время этого перемещения мы восстановили все (включая msdb), но это было несколько месяцев назад. Только недавно появилось проявление симптома, так как он не появился в журнале ранее, чем пару недель назад.

Ответы:


3

Мы обновили два сервера (с SQL 2000) до SQL 2008R2, используя обновление на месте. Мы начали получать эти сообщения в журналах SQL после обновления. Мы не меняли этот или любые другие логины или пользователей в процессе обновления.

Я предполагаю, что процесс обновления оставил две учетные записи ( ##MS_PolicyEventProcessingLogin##и ##MS_PolicyTsqlExecutionLogin##) осиротевшими.

EXEC sp_change_users_login 'Auto_Fix', '<User Name>' исправил эту проблему.


2

Типичные причины: кто-то сбрасывает логин (думая, что он удаляет неправильные логины) или восстанавливает одну из системных баз данных.

Хотя трудно догадаться, что это было после факта. В пользовательских базах данных вы можете просматривать журналы транзакций для обратного инжиниринга, но вы не можете делать резервные копии журналов для master, так что вам не повезло.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.