SQLServer 2012異常問題(一)--容錯移轉叢集+鏡像環境導致作業執行失敗

來源:互聯網
上載者:User

標籤:

原文:SQLServer 2012異常問題(一)--容錯移轉叢集+鏡像環境導致作業執行失敗

先感謝一下我的同事們最先發現此問題,鳴謝:向飛、志剛、海雲

最近在生產環境發現一個詭異的問題;

環境:WINDOWS 2012+SQLSERVER 2012 SP1,雙節點的容錯移轉叢集+單節點的SQLSERVER 2012 SP1執行個體(鏡像)

生產資料庫是從SQLSERVER 2008R2遷移到2012的,遷移過程很順利,按照一般經驗,可能導致資料庫擁有者丟失,因此在遷移後手動修改資料庫擁有者為sa,與此同時還有個job在做這個庫的歸檔(定期清理曆史資料到本地的曆史庫中,delete、insert操作);

遷移後嘗試運行job均可正常執行;第二天以鏡像方式做災備,搭建完鏡像環境後,歸檔的job報錯:無法登入到伺服器“(local)”。

後測試嘗試重建作業也無效,再建立一個新作業,只在這個做了鏡像的庫上執行“select 1”,同樣報錯(按理說select 1是不會記錄日誌的,因此也就不會影響到鏡像)

最後通過查詢代理錯誤記錄檔,發現如下錯誤:

確實,MultiSubnetFailover參數必須要開啟AlwaysOn屬性後才能使用。但為何在只建立鏡像的環境下,SQL Agent仍會通過這個串連選項串連到鏡像執行個體?

 

此外,我又做了兩個測試:

測試A:在開啟過AlwaysOn選項的單一實例(非群集環境)上,先關閉AlwaysOn選項,刪除並重建端點,搭建鏡像環境;

測試B:在從未開啟過AlwaysOn選項的單一實例(非群集環境)上(新裝的虛機),搭建鏡像環境;

上述兩次測試,JOB均可順利執行,並未出現此前在群集環境下的問題;

由此,基本可以排除此問題受AlwaysOn選項的影響的可能,反而是對群集環境才有此類的現象;

 

目前的群集環境不便開啟AlwaysOn選項,因此無法做進一步測試來驗證上面的觀點,有興趣的童鞋可以繼續測試一下;

 

PS:經過陳桑的提點,這個問題可以曲線解決;

建立job步驟的時候,串連資料庫選為非鏡像庫(如master),同時修改要執行的SQL,將對象名改為database.schema.object的格式即可;

SQLServer 2012異常問題(一)--容錯移轉叢集+鏡像環境導致作業執行失敗

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.