问题描述
我正在使用sql Server 2008。
有一个程序...
CREATE PROCEDURE xxx WITH EXECUTE AS OWNER
AS
BEGIN
SET NOCOUNT ON;
TruncATE TABLE ttt;
INSERT INTO ttt
(
field
)
SELECT
order_number
FROM
OPENQUERY([sss],'SELECT ...')
END
...所有者用户可以执行该过程而没有任何问题。
我的期望是,如果我授予其他用户执行权限,则其他用户也应该能够执行此过程。
但是使用其他帐户会收到错误:'Access to the Remote Server is denied because no login-mapping exists.
'
实际上,我尝试避免授予“其他用户”对链接服务器的完全访问权限。
解决方法
用户必须映射到db_owner组