在SQL Server agent的日志中發現有大量錯誤的信息,都是關于作業執行失敗的日志
從日志的內容來看,是作業執行過程中無法連接到存儲引擎,
可奇怪的是,存儲引擎就是本機,而且已經正常啟動了,截圖中隱去的內容就是服務器的名字,為何SQL Agent連接不到本機呢?
首先想的一個疑問是:會不會這個機器名對應的不是本機ip而且其他機器,所以連接不上呢?
于是我修改了hosts文件,將機器名映射給了127.0.0.1,且在ping 機器名后得到的結果也是127.0.0.1,然后重新運行作業,還是報錯,悲劇,
那會不會是本機的SQL Agent無法識別機器名,而要用IP呢?
這個問題我不知道怎么驗證,但我想了一個變通的方法,我在本機新建了一個UDL文件,發現了在連接標簽的中用服務器主機名取連接數據庫時,報同樣的錯誤,也是找不到實例,但改成127.0.0.1或者”.”就好了,(備注:在SSMS中沒有這個問題,不管是主機名還是IP,都可以訪問數據庫)
所以,可能是操作系統的環境出現異常,導致SQL Servr Agent和UDL都無法通過主機名去訪問到存儲引擎,
找到原因(不過不是根本原因)了,就開始著手解決問題,右擊SQL Server代理服務,在屬性中選擇“連接”,然后將本地主機服務器別名(默認為空)修改為IP,點擊確定后,重新運行作業,問題解決。
這個問題雖然得到解決了,但還是有兩個疑問沒有解決,敬請讀者解答吧:
1.為什么SQL代理服務突然不能通過主機名訪問存儲引擎了
2.SSMS為什么又可以通過主機名和IP訪問存儲引擎呢,難道它跟代理服務訪問數據庫的方式不一樣?
新聞熱點
疑難解答