下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當前位置:軟件下載吧 > 數據庫 > MS_SQL > 理解SQL SERVER 代理錯誤日志處理方法

          理解SQL SERVER 代理錯誤日志處理方法

          時間:2024-02-04 13:45作者:下載吧人氣:13

          SQL Server代理是所有實時數據庫的核心。代理有很多不明顯的用法,因此系統的知識,對于開發人員還是DBA都是有用的。這系列文章會通俗介紹它的很多用法。

          如我們在這個系列的前幾篇文章所見,SQL Server代理是由一系列的作業步驟組成,每個步驟是不同類型將要進行的工作。如果你在第4篇所見,SQL Server代理也提供使用數據庫郵件發送提醒的能力。如果出現問題,不管怎樣, 你必須去查看下數據庫郵件錯誤日志。在這篇文章里,你會學到如何理解和查看SQL Server錯誤日志的所有相關知識。你會查看最常見的錯誤日志,還有理解如何知道當一條信息需要你采取的行動,什么是對你最直接的信息。一旦你理解了錯誤日志,當你進行SQL Server代理相關故障排除時,你會節約大量的時間。

          SQL Server代理錯誤日志

          SQL Server代理維護它自己的錯誤日志,和SQL Server錯誤日志分開。SQL Server錯誤日志位置SQL Server所在目錄下的MSSQLLog目錄(C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLLog,這篇文章使用SQL Server 2008R2作為默認實例)。SQL Server錯誤日志默認名為ERRORLOG(沒有文件擴展名),SQL Server代理錯誤日志默認名為SQLAGENTOUT。在這篇文章里,我們的大部分時間會花在SQL代理錯誤日志,不管怎樣,你也需要看下SQL Server錯誤日志。

          查看SQL Server代理錯誤日志

          當你首次瀏覽到MSSQL目錄,并嘗試查看日志目錄,很可能你需要請求提升你的權限來獲得訪問這個目錄的權限。默認情況下,SQL Server和SQL Server代理的服務賬號有這個目錄的讀寫權限,但你(使用用戶賬號)不能訪問。如果你是本地管理員,你可以授權自己訪問后,直接查看日志文件。如圖1所示,默認的權限和安全設置是這樣的。不要從目錄里移除你服務賬號的權限,否則SQL Server和SQL Server代理會不能正常工作。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖1:SQL Server的Log目錄權限

          一旦你在MSSQLLOG目錄里,對于SQL Server和SQL Server代理,你都會看到很多日志文件,原先的日志文件(只要正常啟動服務,每次都會創建)也在目錄里。SQLAGENT.OUT文件是SQL Server代理的當前日志文件,因此這是你要打開的文件。默認情況下,當你嘗試打開這個文件時,你需要選擇打開這個后綴為.OUT文件的默認程序。記事本就可以,當你有另一個喜好,你可以選擇這個擴展文件名的文本查看器(如圖2所示,選擇記事本)。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖2:.OUT文件用記事本打開。

          一旦選擇后,SQLAGENT.OUT文件會打開,如插圖3所示。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖3:SQL Server代理錯誤日志(SQLAGENT.OUT)

          你很容易發現,應該有更好的方式查看錯誤日志,沒錯!SSMS有日志文件查看器,這在第4篇數據庫郵件里就已經簡單介紹了。切換到錯誤日志,展開SQL Server代理文件夾,錯誤日志文件夾,你會看到當前SQL Server代理的日志還有最近的日志。雙擊【當前】(或右擊選擇【查看代理日志】)你會看到SQL Server日志查看器,在查看器里當前SQL Server代理的錯誤日志已被勾選(如插圖4所示)。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖4:當前SQL Server代理日志文件的日志文件查看器

          這和在插圖3里顯示的日志文件一樣,但看起來更直觀,更好管理。首先你會注意到的是現在事件分為:信息,警告和錯誤。使用篩選按鈕(如插圖5),你可以增加自己的篩選條件來限制SQL Server代理錯誤日志的項目(或SQL Server的任何錯誤日志,你已經看到,在日志文件查看器里,你可以看到所有的日志)

          理解SQL SERVER 代理錯誤日志處理方法

          插圖5:日志文件查看器的篩選設置

          日志文件內容

          在SQL Server代理日志的開始就有信息消息。我們每步都過一遍,簡單介紹下消息的意思。

          [393] 正在等待 SQL Server 恢復數據庫…

          SQL Server代理服務已經啟動,但還不能配置和運行它,因為msdb數據庫還不可用。SQL Server代理的大部分配置和設置都保存在msdb。部分配置細信息保存在系統注冊表里。SQL Server不能啟動直到msdb數據庫恢復。消息前的數字(393)是SQL Sever代理的內部信息號,本人從沒見過公開文檔記錄SQL Agent的錯誤編號。

          [100] Microsoft SQLServerAgent 版本 10.50.1600.1 (內部版本號 x86 unicode 零售): 進程 ID 3412

          這是一條非常有用的信息。SQL Server代理版本號(即版本、服務包、和修補程序)。在此例中,它是SQL Server 2008 R2,采用sp1更新包。你可以在SQLServerCentral找到版本號。
          接下來的事情是,這是一個SQL Server x86版本(即32位),這是一個標準的零售版本的產品。最后,對SQL Server代理服務的Windows進程ID標識。如果你使用Windows故障排除工具(即使是簡單的任務管理器),你會看到一個進程ID,這將幫助 你把SQL Server代理服務關聯到Windows信息。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖6:有PID列顯示的任務管理器

          [101] SQL Server PC201510181429 版本 10.50.1600 (連接限制: 0)

          這一消息標識SQL服務器的名稱(PC201510181429),以及SQL Server的版本號。注意“0連接限制”–即是沒有特定的配置,因此允許無限的連接(直到耗盡內存)。

          [102] SQL Server ODBC 驅動程序版本 10.50.1600
          [103] 驅動程序使用的 NetLib 是 DBNETLIB.DLL;本地主機服務器是

          這兩則消息表明使用ODBC的版本號(SQL Server代理使用ODBC連接回SQL服務器本地副本,事實上,它是用當地的DBNETLIB.DLL為連接。

          [310] 檢測到 2 個處理器和 3327 MB RAM
          [339] 本地計算機是 PC201510181429,運行的是 Windows NT 6.1 (7601) Service Pack 1

          接下來的兩行顯示的SQL服務器CPU和內存配置,以及Windows版本。

          [432] 子系統緩存中有 12 個子系統

          這是第二篇(SQL Server代理作業步驟和子系統)討論過的SQL Server代理子系統。作業下有各種類型可以運行子系統(如CmdExec、ActiveX 腳本)以及一些支持復制,分析服務的子系統,你可以在msdb.dbo.syssubsystems表中查看子系統清單。

          [364] 尚未啟動 Messenger 服務 – 將不發送 NetSend 通知

          雖然這個歸類為一個錯誤,在大部分系統上你可以安全地忽略。Net send通知,已經從SQL Server的幾個版本中取消,并且相關的Windows服務默認不是開啟的。如果你還在使用Net send消息,看到了這樣的錯誤,你需要更改Windows Messenger服務為自動啟動。

          [129] SQLSERVERAGENT 在 Windows NT 服務控制下啟動

          這個消息表明,SQL Server代理作為服務啟動,而不是在命令提示符窗口。

          [260] 無法啟動郵件會話(原因: Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException: 無法從數據庫中讀取郵件配置信息。…… [355] 郵件系統初始化失敗;請檢查配置設置

          這些消息表明在數據庫郵件配置中出錯。回顧第四篇數據庫郵件,查看是否有類似的問題。

          [396] 尚未定義空閑 CPU 條件 – OnIdle 作業計劃將不起任何作用

          這條警告表明一個SQL Server代理設置沒有配置,可能阻止某些作業運行。你可以設置作業在CPU“空閑”時運行(在第一篇提到過)。然而,在這個系統中空閑的定義還沒有被 設置。在SSMS配置此選項,右擊SQL Server代理,選擇屬性,然后單擊高級選項卡。配置空閑CPU條件如插圖7所示

          理解SQL SERVER 代理錯誤日志處理方法

          插圖7:配置空閑CPU條件

          你可以想象,在你的SQL Server代理錯誤日志還會有許多其他的錯誤,你應該定期檢查日志。請牢記,代理日志不是用來排查作業故障的,你需要查看每個失敗作業步驟的歷史記錄。我們在后續章節會做更多的故障排除。

          配置SQL Server代理錯誤日志

          您可以在SSMS中配置一些SQL Server代理錯誤日志的屬性,另一些屬性需要使用注冊表編輯器(這是不支持的,所以不建議在生產系統)。
          右 擊SSMS中SQL Server代理->錯誤日志,你會看到一組選項。首先是“配置”,選擇該選項,你會看到類似插圖8。你可以更改SQL Server代理錯誤日志文件的存放位置(不推薦),同樣可以更改代理日志級別。這些設置不能憑直觀分辨–如果你勾選“錯誤”,你會看到錯誤和信息性消 息。如果你勾選“警告”,你會看到警告和信息性消息。如果你只勾選信息,在錯誤日志中你看不到任何錯誤或警告消息。
          對話框中另一選項是,寫入OEM錯誤日志,意味著寫一個非Unicode的錯誤日志文件。理論上你可以通過它節省空間,但也不推薦。

          理解SQL SERVER 代理錯誤日志處理方法

          插圖8——配置SQL Server代理

          退出插圖8,右擊錯誤日志,另一個選項是“回收”。此選項會關閉現有的SQL Server代理錯誤日志并開始一個新的日志文件,重命名當前SQLAGENT.OUT文件為SQLAGENT.1(所有舊的文件后綴數字遞增,如 SQLAGENT.1變成SQLAGENT.2)。如果你要將當前的日志文件發送給SQL Server產品支持,這樣操作將非常有用。
          SQL Server代理一些其他配置需在注冊表中設置(事實上,上面所做操作的設置都會更改注冊表中對應的鍵值)。記住不建議直接修改注冊表,所以更改這些設置 要你自己承擔風險。然而,如果你想查看可用的設置(一些SQL Server代理設置只能在注冊表中修改),你可以在注冊表中SQL Server實例下查看可用的注冊表鍵設置。例如,在我的機器上,注冊表鍵位于HKEY_LOCAL_MACHINESOFTWARE MicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERSQLServerAgent,如插圖9所示

          理解SQL SERVER 代理錯誤日志處理方法

          插圖9:SQL Server代理的注冊表項

          如果你的SQL Server代理配置真的有問題時,可能需要描述(或導出)這些設置給產品支持。

          下篇預告

          SQL Server代理錯誤日志包含很多有用信息(SQL Server代理,SQL Server和Windows服務器)。你可以使用錯誤日志解決SQL Server代理服務中的錯誤,并了解日志中常見的信息。本文還介紹了如何解決SQL Server代理中一些最常見的錯誤。
          有了前面的SQL Server代理基礎知識,第六篇將深入挖掘SQL Server代理作業步驟和工作流。

          原文:http://www.sqlservercentral.com/articles/Stairway+Series/72456/

          標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

          相關下載

          查看所有評論+

          網友評論

          網友
          您的評論需要經過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 福利一区二区三区视频午夜观看| 亚洲电影一区二区三区| 国产suv精品一区二区33| 色精品一区二区三区| 国产精品香蕉在线一区| 国产一区二区三区久久| 国产美女精品一区二区三区| 久久精品无码一区二区三区| 日韩一区二区在线免费观看| 国产一区二区精品久久岳√| 国产一区二区三区露脸| 老熟女高潮一区二区三区| 综合无码一区二区三区四区五区| 东京热无码av一区二区| 一区二区三区福利视频免费观看| 蜜桃视频一区二区三区| 最新中文字幕一区| 人妻无码一区二区三区四区| 成人无码一区二区三区| 国产女人乱人伦精品一区二区| 影音先锋中文无码一区| 久久精品无码一区二区三区| 国产综合一区二区在线观看| 国产一区二区福利久久| 韩国资源视频一区二区三区| 偷拍精品视频一区二区三区| 亚洲日韩AV一区二区三区中文 | 日韩人妻一区二区三区蜜桃视频| 精品少妇一区二区三区在线 | 蜜桃视频一区二区三区| 在线成人综合色一区| 精品人妻一区二区三区四区| 国产精品视频免费一区二区三区| 精品一区二区三人妻视频 | 精品国产一区二区三区久久| 成人一区二区免费视频| 亚洲综合国产一区二区三区| 国产一区二区精品| 久久精品午夜一区二区福利| 国产激情无码一区二区| 日本伊人精品一区二区三区|