对于数据库中请求的用户 dbo,EXECUTE AS USER 失败

Zat*_*h . 8 sql-server sql-server-2008

使用 SQL Server 2008。

首先,我不是DBA。但当涉及到 sp、触发器、表、创建和规范化时,我可以绕过数据库。我是一名开发人员。

但通过这项新工作,我继承了一个大型数据库,其中有许多正在运行的作业。

我前任的帐户被禁用,当然一些工作开始失败。

在搜索、测试并失败之后,我现在需要发布有关此问题的一些意见。

执行存储过程时作业失败,我已经检查过。它正在更新有问题的数据库。

首先,我改变了工作的所有者:

 EXEC MSDB.dbo.sp_update_job 
 @job_name = 'MyJob', 
 @owner_login_name = 'NT AUTHORITY\SYSTEM' 
 GO 
Run Code Online (Sandbox Code Playgroud)

我尝试过sa帐户、sqlserveragent等,但出现同样的错误。我确保这些新所有者拥有该数据库的正确权限。

对于数据库 MyDB 中请求的用户 dbo,EXECUTE AS USER 失败。

即使我更改了作业所有者,用户也不会更改 dbo 用户的错误消息。

还有人有我可能忽略的其他建议吗?

谢谢,

更新:

问题已经解决了。今天学到了新东西!

看看这篇文章:http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html

我希望这对将来的其他人有帮助,因为我在这个问题上浪费了一些时间,并且只用了一小行 sql 来修复它。似乎总是如此,不是吗?

Zat*_*h . 3

问题已经解决了。今天学到了新东西!

看看这篇文章:http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html

我希望这对将来的其他人有帮助,因为我在这个问题上浪费了一些时间,并且只用了一小行 sql 来修复它。似乎总是如此,不是吗?