2011-09-22 27 views
2

我在日誌讀取器代理得到一個錯誤信息「sp_replcmds」:進程無法執行上的「數據庫名稱」

進程無法執行「數據庫名稱」「sp_replcmds」。

我創建了另一個代理配置文件,其中包含大量查詢超時值和批量最小值,但仍不起作用。

有人可以幫助我嗎?

我正在使用SQL Server 2008,並試圖在不同服務器上的數據庫之間進行復制。

+0

可能的重複[SQL Server 2008複製失敗:進程無法執行'sp_replcmds'](http://stackoverflow.com/questions/2723061/sql-server-2008-replication-failing-with-process-could -not-execute-sp-replcmds) –

+0

看看這個http://stackoverflow.com/questions/2723061/sql-server-2008-replication-failing-with-process-could-not-execute-sp-replcmds ?rq = 1 –

回答

1

有很多原因可能導致這個錯誤(包括但不限於):

  • 數據庫已經發布禁用
  • 帳戶試圖運行日誌讀取器代理不具備的能力連接到發佈服務器
  • 帳戶試圖運行日誌讀取器代理沒有運行sp_replcmds

在我的經驗許可,有多一點複製監視器中的錯誤。這是你的情況嗎?

+1

錯誤消息: 進程無法在'database_name'上執行'sp_replcmds'。 (來源:MSSQL_REPL,錯誤號:MSSQL_REPL20011) 獲取幫助:http:// help/MSSQL_REPL20011 由於主體「dbo」不存在,無法作爲數據庫主體執行,因此無法模擬此類主體,或者您不有權限。 (來源:MSSQLServer,錯誤號:15517) 獲取幫助:http:// help/15517 進程無法在'database_name'上執行'sp_replcmds'。 (來源:MSSQL_REPL,錯誤號:MSSQL_REPL22037) 獲取幫助:http:// help/MSSQL_REPL22037 –

+0

誰是數據庫的數據庫所有者?檢查sys.databases中的owner_sid和sys.database_principals中的suser_sname(sid),其中name ='dbo'。如果其中任何一個「看起來有趣」(對不起,很難更具體),那可能是你的問題。 –

0

可能數據庫的所有者可能是您擁有權限的人以外的人。下面有一個簡單的命令來更改所有權......如果您有權這樣做。 1 USE PublishedDatabase 2 GO 3 sp_changedbowner的EXEC 'SA' 4 GO

0

這可能是由於用戶沒有爲數據庫中設置。

您可以通過右鍵單擊數據庫進行檢查,然後選擇屬性並轉到文件表,並且所有者選擇應該在那裏。

相關問題