2012-08-24 30 views
13

爲什麼當我嘗試設置SQL代理作業時,「運行方式」下拉列表始終爲空?我試圖設置一些SQL代理作業使用代理帳戶運行。我是SQLAgentUserRole,SQLAgentReaderRole和SQLAgentOperatorRole的成員。當我嘗試向作業中添加步驟時,我選擇SQL Integration Services包,並且運行方式下拉列表爲空。SQL代理作業 - 「運行方式」下拉列表爲空

任何是系統管理員的人都可以查看代理。我不應該能夠使用代理作爲SQLAgentUserRole,SQLAgentReaderRole和SQLAgentOperatorRole的成員嗎?我在這裏錯過了什麼?

(代理帳戶是活躍的子系統:SQL集成服務包,這是SQL Server 2008 R2中)

編輯 -

MSDN:「這些數據庫角色的成員(SQLAgentUserRole,SQLAgentReaderRole和SQLAgentOperatorRole)可以查看並執行他們擁有的作業,並創建作爲現有代理帳戶運行的作業步驟。「另一篇關於固定服務器角色的文章提到,可以授予代理訪問權限,但沒有提及如何執行該操作:MSDN

回答

11

我找到了答案。誰不管理員用戶必須訪問明確授予他們的角色或用戶名代理帳戶:

要授權給代理帳戶的非系統管理員

  1. 在對象資源管理器中,展開一個服務器。
  2. 展開SQL Server代理。
  3. 展開代理,展開代理的子系統節點,右鍵單擊要修改的代理,然後單擊屬性。

在常規頁面上,您可以更改代理帳戶名稱,憑證或其使用的子系統。在Principals頁面上,您可以添加或刪除登錄或角色以授予或刪除對代理帳戶的訪問權限。

http://msdn.microsoft.com/en-us/library/ms187890(v=sql.100).aspx

1

不,你不應該。你剛剛提到的角色的成員只能創建以自己身份運行的工作,因爲他們是非管理角色。如果您想使用antoher用戶運行作業,則需要訪問代理帳戶。如果我沒有弄錯,唯一可以創建代理帳戶的組是sysadmin,所以你需要一個管理員來爲你做這件事。 sysadmin角色的

成員有權創建工作的步驟, 不指定代理,而是運行作爲SQL Server代理 服務帳戶,該帳戶是用來啓動SQL Server 代理帳戶。

+0

謝謝你回答聖地亞哥!我在我的問題中貼上了MSDN的一句話。報價說我應該能夠使用代理帳戶運行作業,即使我不是系統管理員。你是說這是不是真的? –

+0

我讓我的管理員在代理屬性的主體頁面上顯式授予對代理的訪問權限。我們會看看它是否有效。 –

+0

它的工作原理。您可以添加對代理帳戶的訪問權限。您必須明確授予對主體頁面上的角色或用戶名的訪問權限。 –