2011-10-05 45 views
1

我有三個SQL Server 2008框,稱它們爲A,B & C.服務器A & B各有一個鏈接服務器到服務器C.鏈接服務器使用完全相同的鏈接服務器在A &上都設置B.兩者都使用完全相同的登錄信息連接到C.登錄名在框C上分配了sysadmin角色。兩者都配置了RPC和RPC OUT設置爲true。兩者都可以執行SELECT,INSERT,UPDATE,DELETE,沒有任何問題。 C已允許遠程連接並要求檢查分佈式事務。SQL Server錯誤:無法執行遠程程序

當我嘗試執行存儲過程時,問題出現了。 A-> C工作正常,但是當我嘗試從B運行時,出現錯誤:

Msg 7201, Level 17, State 4, Line 1 
Could not execute procedure on remote server 'C' because SQL Server is not configured for remote access. Ask your system administrator to reconfigure SQL Server to allow remote access. 

我已經完全無法弄清楚了。我已檢查並重新檢查鏈接的服務器配置。它們在A & B上是完全相同的。我在測試之後運行測試,並且每個人都從A正常工作,但B總是給出錯誤。

回答

0

執行存儲過程時,它將作爲創建存儲過程的用戶的安全上下文運行,而不是執行存儲過程的用戶的安全上下文。它被認爲是一項安全功能。

這可能是因爲該帳戶用於創建服務器B上的存儲過程沒有正確的權利而使用的帳戶在服務器A上做創建存儲過程。

用另一個帳戶在B上重新創建存儲過程可能會解決問題。