我们正在使用SQL Server2014。
背景:这是研究跨SQL Server环境(即开发,测试,阶段和生产)的配置管理问题的后续问题-请参阅下面原始问题的链接。
我发现在舞台和生产环境中,负责运行SQL Agent Jobs的服务帐户已被删除(它没有出现在Security-> Logins文件夹中),但是该作业仍在运行,表明它在删除的服务帐户的上下文。
研究:我试图通过删除服务帐户在开发环境中复制此文件;但是,我收到一条错误消息,指出该服务帐户是现有作业的所有者。因此,我无法删除该服务帐户。我已经确认该服务帐户被列为舞台和生产环境中的作业所有者。
当我同时在舞台和生产环境中打开作业并打开各个步骤时,“运行方式”下拉列表为空白(尽管b / c呈灰色,但我无权对其进行更改)。
问题:这怎么可能?
更新:服务帐户被列为作业的所有者。
答案 0 :(得分:1)
要查看登录名,您需要为要查看的每个登录帐户授予VIEW DEFINITION
的登录名。如果要查看所有登录名,则需要授予ALTER ANY LOGIN
。我猜您不会将这些授予自己,但是为了对它们有所了解,下面是这些命令的示例。如上所述,必须从master
数据库运行这些命令。
查看定义:
USE MASTER;
GRANT VIEW DEFINITION ON LOGIN::LoginToView TO YourLogin
更改任何登录名:
USE MASTER;
GRANT ALTER ANY LOGIN to YourLogin