iT邦幫忙

0

請教各位SQL 2005問題

  • 分享至 

  • xImage

今天早上再檢查伺服器發現其中一台SQL計劃維護處多了一個計劃,名字是"abc82",不知道是否有異常?

分類:未分類(本地)
所有者:sa
步驟:
步驟名:Exec my sql
類型:操作系統命令命令:cmd.exe /c dir c:>/c:\T3tmp.log

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

10
賽門
iT邦超人 1 級 ‧ 2011-05-12 13:42:54
最佳解答

就我所知, SQL Server 2005本身沒有任何地方會'自動'產生您說的維護計劃, 而指令又是'dir'...

我猜測可能是:

  1. 您的某位同事測試SQL Server 2005的排程, 寫了這麼段指令來做試驗, 但測完後沒有刪掉....而且, 您PO的指令還是錯誤的, 不能順利執行.

  2. 某個程序自動產生的計劃, 但是因為指令有錯誤沒有順利執行完畢, 把計劃自動刪掉, 就被仔細的您看到了...

總之, 刪掉那個計劃吧! 那道 cmd.exe /c dir c:>/c:\T3tmp.log 指令真的是錯誤的, 不能執行. 但還是...

  1. 確定SQL Server主機沒有被植入木馬, 沒有感染病毒

  2. 向同事詢問是否有人做測試

  3. 檢查Stored Procedure、排程, 是否有執行錯誤的工作, 產生了這個計劃沒刪掉

如果都檢查過, 都沒問題, 還是不知道這個計劃怎麼來的...

  1. 刪掉計劃

  2. 重新檢討登入帳號權限

  3. 定期檢查是否還會有相同的計劃出現

外獅佬 iT邦大師 1 級 ‧ 2011-05-13 09:21:54 檢舉

SQL Server可以執行外部的cmd指令,透過xp_cmdshell....
例如:執行dir c:>/c:\T3tmp.log
可以透過下列指令:
EXEC xp_cmdshell "dir c:>/c:\T3tmp.log"
GO
只是,要執行xp_cmdshell需要設定SQL Agent權限(SQL Agent Proxy),
更何況xp_cmdshell這東西預設是停用的...

外獅佬 iT邦大師 1 級 ‧ 2011-05-13 09:22:36 檢舉

SQL Agent服務的權限可能給得太大了...

我要發表回答

立即登入回答