2011-03-31 42 views
0

我已經創建了一個SSIS包,將部署到客戶端SQL安裝(2005,2008或2008 R2),以執行爲我們的產品提供支持工具的數據提取。部署過程要求創建Windows AD帳戶(普通用戶,沒有提升的權限),因爲它用作服務帳戶,通過憑證和代理帳戶在SQL代理作業中執行SSIS包。這一切都完美,並意味着我可以限制執行這項工作所需的權限。從SQL代理中運行的SSIS包執行Windows事件日誌訪問作業

但是,我想將SSIS包中的錯誤日誌記錄包含到Windows事件日誌中。當我在BIDS中運行軟件包(當然使用我自己的憑證)並強制執行軟件包的失敗時,它的日誌記錄就很好。當我在SQL Agent作業運行時強制包失敗(通過將duff連接字符串放入配置文件中)時,不會記錄任何內容。該服務帳戶正在使用,它是我的SQL Server主機上的經過身份驗證的用戶,但不會寫入事件日誌。如果我將服務帳戶添加到本地管理員組,它會將日誌寫入日誌中,但我認爲Windows事件日誌的想法是您不需要提升特權來寫入它;

我們的支持團隊熱衷於使用Windows事件日誌,但是如果不向服務帳戶授予較高的權限,我不會這樣做,我不願意這樣做。我錯過了什麼嗎? SSIS作業步驟頁面中的「日誌記錄」選項卡似乎並沒有做太多,但也許這就是我所缺少的內容?

道歉,如果這更適合ServerFault,但我不能完全決定哪一方面,因爲這是一個在開發過程中遇到的問題。如果是的話我會重新定位它。

非常感謝

史蒂夫

+0

服務器操作系統是2003年還是2008年? – 2011-03-31 13:52:04

回答

1

如果操作系統是2003,檢查誰有權訪問的SDDL語法來寫日誌本:http://support.microsoft.com/kb/323076

如果2008年,您可以使用wevtutil代替手動輸入SDDL: http://support.microsoft.com/kb/2028427

可以使用上述服務帳戶給予權限。

+0

就是這樣,謝謝!這些鏈接使我朝着正確的方向發展,並且我發現了一個使用wevtutil完全按照我的意願更改ACL的好例子:http://jpadda.wordpress.com/2010/08/08/event-log-write-permissions/ 關鍵是要添加(A ;; 0x3 ;;; AU)以允許所有通過身份驗證的用戶對有問題的事件日誌(應用程序)進行讀/寫訪問,或者將AU替換爲特定用戶的SID進一步限制。 – 2011-03-31 15:06:34

+0

@Steve Pettifer - 歡迎。樂意效勞 :) – 2011-03-31 15:13:07

相關問題