SQL Server 2008 系統登入使用者##MS_PolicyEventProcessingLogin##被誤刪後的恢復

cow977發表於2012-11-09

客戶SQL Server 2008R2資料庫,在清理資料庫使用者時,連同系統登入使用者“##MS_PolicyEventProcessingLogin##”等也一併刪除了,後在系統日誌中發現大量如下提示,每5秒報一次錯誤。

描述:

針對佇列 'msdb.dbo.syspolicy_event_queue' 執行的啟用過程 '[dbo].[sp_syspolicy_events_reader]' 輸出以下資訊: '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.'

SQL Server的日誌中,也有對應的錯誤提示:

訊息

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.'

解決辦法就是恢復系統登入使用者,可以執行如下指令碼。
 
指令碼給個連結:

http://www.itpub.net/thread-1737445-1-1.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-748798/,如需轉載,請註明出處,否則將追究法律責任。

相關文章