我正在使用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.
'
实际上,我尝试避免授予“其他用户”对链接服务器的完全访问权限。
答案 0 :(得分:1)
用户必须映射到db_owner组