若把用戶在數據庫選擇時所需要考慮的因素進行一一排列,那麼數據庫的高可用性肯定是名列前茅的。所以,軟件公司一直把如何提高數據庫的可用性作為他們研究的主要課題之一。在微軟的SQL Server數據庫中,提供了很多高可用性的工具。而日志傳送,是這些工具中的一個主角。若數據庫管理員能夠合理配置日志傳送,則可以達到一個很高的可用性。或者說,可以把數據庫的停機時間減少為零。
那麼該如何來配置日志傳送來達到這個目的呢?筆者就結合自己公司的案例,談談在日志傳送管理中該注意的問題與技巧。
一、日志傳送的三個角色與四個步驟。
如上圖,日志傳送簡單地說,就是通過上面的三個服務器角色與四個步驟來完成的。
第一步:備份日志。
主服務器會根據數據庫管理員設置的備份計劃,對事務日志按照計劃進行備份。這是日志傳送中的一個重要的內容。因為若主服務器的日志備份失敗的話,則後續的工作都將無法進行。故我們往往需要對這個日志的備份進行監視,看看其是否按照數據庫管理員所設想的方式在處理。為了達到這個目的,我們可以利用“監視服務器”來幫助我們監視這個作業。
第二步:日志文件傳送。
當主服務器把日志備份好之後,主服務器就會根據數據庫管理員的設置,把相關的日志文件自動傳送給輔助服務器。在日志文件傳送的過程中,主要需要考慮兩個問題。
一是多久傳送一次。一般情況下,對於數據庫高可用性要求比較高的話,則可以在主服務器每次備份完事務日志後,就發送一次備份日志文件。不過,這要犧牲一定的網絡帶寬。這主要是根據企業的實際情況來處理。像筆者的企業,由於是SAAS模式的數據庫租賃公司,所以,對於數據庫可用性的要求非常的高。主服務器每次備份完成後,都會及時向輔助服務器傳送備份日志。以達到輔助服務器與主服務器之間數據的同步。
二是做好日志文件傳送的監督工作。准確、准時的把主服務器上的備份日志文件傳送到輔助服務器上,這是輔助服務器正常運行的前提。為了讓日志傳送功能能夠正常的運轉,往往需要對日志文件的傳送工作進行監督。需要通過監視服務器,來監視主服務器有沒有把備份日志准時的發送出去;而輔助服務器有沒有及時的接收備份日志。若出現異常的話,監視服務器需要利用消息或者郵件的方式通知數據庫管理員。