SQL Server Error: Could not execute remote procedure

谁说我不能喝 提交于 2019-12-24 08:35:06

问题


I have three SQL Server 2008 boxes, call them A, B & C. Servers A & B each have a linked server to server C. The linked servers use the exact same linked server setup on both A & B. Both connect to C using the exact same login information. The login has the sysadmin role assigned to it on box C. Both were configured with RPC and RPC OUT set to true. Both can perform SELECT, INSERT, UPDATE, DELETE with no problems whatsoever. C has Allow remote connections and Require distributed transactions checked.

The problem comes when I try to execute stored procedures. A->C works fine, but when I try to run from B, I get the error:

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.

I have been completely unable to figure this out. I have checked and rechecked the linked server configurations. They are identical on both A & B. I have run test after test and every one works fine from A, but B always gives the error.


回答1:


When a stored procedure is executed, it runs as the security context of the user who created the stored procedure, not the user who is executing it. It is considered a security feature.

It may be that the account used to create the stored procedure on server B does not have the correct rights while the account used to create the stored procedure on server A does.

Recreating the stored procedure on B with another account may solve the problem.



来源:https://stackoverflow.com/questions/7662294/sql-server-error-could-not-execute-remote-procedure

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!