2014年8月16日 星期六

[SQL Server] 在複寫監視器出現"無法以資料庫主體執行,因為主體 "dbo" 不存在、無法模擬這種主體、或者您沒有權限"的錯誤訊息

>>問題:
      在建立發行集以及訂閱都沒有出現任何錯誤,但是到複寫監視器去看就可以看到下圖的錯誤訊息。想要刪除發行及訂閱也會出現無法以資料庫主體執行,因為主體 "dbo" 不存在、無法模擬這種主體、或者您沒有權限。

錯誤訊息文字如下:
錯誤訊息:
該處理無法執行 'sp_replcmds' (在 'TS-8')。 (來源: MSSQL_REPL,錯誤號碼: MSSQL_REPL20011)
取得說明: http://help/MSSQL_REPL20011
無法以資料庫主體執行,因為主體 "dbo" 不存在、無法模擬這種主體、或者您沒有權限。 (來源: MSSQLServer,錯誤號碼: 15517)
取得說明: http://help/15517
該處理無法執行 'sp_replcmds' (在 'TS-8')。 (來源: MSSQL_REPL,錯誤號碼: MSSQL_REPL22037)
取得說明: http://help/MSSQL_REPL22037


>>可能發生的原因
        從A資料庫卸離後到B資料庫附加或是將A資料庫的備份檔案複製到B資料庫還原,在B資料庫上沒有A資料庫的OWNER所以才會發生此錯誤訊息

>>解決方法
方法一:
ALTER AUTHORIZATION ON DATABASE::[輸入出問題的資料庫名稱] TO [資料庫管理員帳號]


方法二:
USE [出問題的資料庫名稱]
GO
EXEC sp_changedbowner '資料庫管理員帳號'

GO

沒有留言:

張貼留言