相关疑难解决方法(0)

SQL Server EXECUTE AS 问题

我在尝试让我的存储过程使用时遗漏了一些东西EXECUTE AS。存储过程正在从中读取数据source_db、聚合数据并将结果存储在 中target_db

sp 本身在target_db. 我有一个专用的登录名并将它映射到用户source_dbtarget_dbsp 的所有者(所以有一个用户app_agentsource_dbtarget_db登录app_agent)。

如果我以 身份登录app_agent并执行

EXEC target_db.app_agent_schema.import_data
Run Code Online (Sandbox Code Playgroud)

一切正常。但如果我改变

ALTER PROCEDURE app_agent_schema.import_data WITH EXECUTE AS OWNER` (or `AS SELF`) 
Run Code Online (Sandbox Code Playgroud)

并尝试执行它,它抛出

服务器主体“app_agent”无法在当前安全上下文下访问数据库“source_db”。

我正在使用 SQL Server 2008。

有人能指出我的错误吗?

谢谢

更新 经过一些研究,我发现ALTER DATABASE target_db SET TRUSTWORTHY ON解决了问题,但这对我来说似乎不是正确的解决方案......

sql-server-2008 security

13
推荐指数
1
解决办法
2万
查看次数

允许非系统管理员、非 SQL Server 代理作业的所有者执行它

我有一份运行 SSIS 包的工作。

目前所有者是代理帐户。我可以从系统管理员帐户手动运行该作业。

我们的网络服务使用受限帐户登录。它需要执行作业。目前它根本看不到作业(当我尝试按名称执行时,它说它不存在)。

我尝试将工作所有者更改为受限帐户。现在它可以看到作业,但作业执行失败,因为它无法再运行 SSIS 包。

必须有一种方法可以让受限帐户运行另一个帐户拥有的作业,对吗?

sql-server permissions ssis jobs

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

jobs ×1

permissions ×1

security ×1

sql-server ×1

sql-server-2008 ×1

ssis ×1