使用sql server 2008。
首先,我不是DBA。但是当谈到sp,触发器,表,创建和规范化时,我可以绕过数据库。我是开发人员。
但是通过这项新工作,我继承了一个包含许多工作的大型数据库。
我的前任的帐户被禁用,当然一些工作开始失败。
在搜索并测试并失败之后,我现在需要发布有关此问题的一些输入。
执行存储过程时作业失败,我已经检查过了。它正在更新有问题的数据库。
首先,我更改了工作的所有者:
EXEC MSDB.dbo.sp_update_job
@job_name = 'MyJob',
@owner_login_name = 'NT AUTHORITY\SYSTEM'
GO
我尝试了sa帐户,sqlserveragent和其他人,但发生了同样的错误。我确保这些新所有者拥有该数据库的正确权限。
对于数据库MyDB中请求的用户dbo,EXECUTE AS USER失败。
即使我更改了作业所有者,用户也永远不会更改来自dbo用户的错误消息。
有没有人有任何其他我可能忽略的建议?
谢谢,
更新:
问题已解决。今天学到了新东西!
看一下这篇文章:http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html
我希望将来可以帮助别人,因为我浪费了一些时间来解决这个问题,并且需要一小段sql来修复它。似乎总是那样,不是吗?
答案 0 :(得分:1)
Make the Database Trustworthy on your server:
ALTER DATABASE AdventureWorks2012 SET TRUSTWORTHY ON
Make the Job's owner be the same login that owns the Database:
USE AdventureWorks2012
GO
EXEC sp_changedbowner 'Nathan'
GO
答案 1 :(得分:0)
问题已经解决了。今天学到了新东西!
看一下这篇文章:http://blog.strictly-software.com/2009/09/database-owner-sid-recorded-in-master.html
我希望将来可以帮助别人,因为我浪费了一些时间来解决这个问题,并且需要一小段sql来修复它。似乎总是那样,不是吗?