在数据库中,以所请求的用户dbo身份执行失败。

13 浏览
0 Comments

在数据库中,以所请求的用户dbo身份执行失败。

使用sql server 2008。

首先,我不是一个DBA。但是在处理存储过程、触发器、表格、创建和规范化方面我还是能应付自如的。我是一个开发者。

但是在这个新的工作中,我继承了一个有很多运行作业的大型数据库。

我的前任账户被禁用,当然有几个作业开始失败了。

在搜索、测试和失败之后,我现在需要在这个问题上寻求一些输入。

该作业执行一个存储过程时失败,我已经检查过了。它正在更新相关的数据库。

首先,我已经更改了作业的所有者:

 EXEC MSDB.dbo.sp_update_job 
 @job_name = 'MyJob', 
 @owner_login_name = 'NT AUTHORITY\SYSTEM' 
 GO 

我尝试了sa账户、sqlserveragent和其他账户,但是仍然发生相同的错误。而且我确保这些新的所有者对该数据库具有正确的权限。

在数据库MyDB中,对于请求的用户dbo,以用户身份执行失败。

即使在我改变作业所有者之后,错误消息中的用户也没有改变。

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

谢谢,

更新:

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

请看这个帖子:http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html

希望这对将来的某个人有所帮助,因为我在这个问题上浪费了一些时间,而它只需要一行小小的sql代码就可以解决。似乎总是这样,不是吗?

0