SQLServer日志傳送的三個角色與四個步驟

字號:

日志傳送簡單地說,就是通過上面的三個服務(wù)器角色與四個步驟來完成的。
    第一步:備份日志。
    主服務(wù)器會根據(jù)數(shù)據(jù)庫管理員設(shè)置的備份計劃,對事務(wù)日志按照計劃進(jìn)行備份。這是日志傳送中的一個重要的內(nèi)容。因為若主服務(wù)器的日志備份失敗的話,則后續(xù)的工作都將無法進(jìn)行。故我們往往需要對這個日志的備份進(jìn)行監(jiān)視,看看其是否按照數(shù)據(jù)庫管理員所設(shè)想的方式在處理。為了達(dá)到這個目的,我們可以利用“監(jiān)視服務(wù)器”來幫助我們監(jiān)視這個作業(yè)。
    第二步:日志文件傳送。
    當(dāng)主服務(wù)器把日志備份好之后,主服務(wù)器就會根據(jù)數(shù)據(jù)庫管理員的設(shè)置,把相關(guān)的日志文件自動傳送給輔助服務(wù)器。在日志文件傳送的過程中,主要需要考慮兩個問題。
    一是多久傳送一次。一般情況下,對于數(shù)據(jù)庫高可用性要求比較高的話,則可以在主服務(wù)器每次備份完事務(wù)日志后,就發(fā)送一次備份日志文件。不過,這要犧牲一定的網(wǎng)絡(luò)帶寬。這主要是根據(jù)企業(yè)的實際情況來處理。像筆者的企業(yè),由于是SAAS模式的數(shù)據(jù)庫租賃公司,所以,對于數(shù)據(jù)庫可用性的要求非常的高。主服務(wù)器每次備份完成后,都會及時向輔助服務(wù)器傳送備份日志。以達(dá)到輔助服務(wù)器與主服務(wù)器之間數(shù)據(jù)的同步。
    二是做好日志文件傳送的監(jiān)督工作。準(zhǔn)確、準(zhǔn)時的把主服務(wù)器上的備份日志文件傳送到輔助服務(wù)器上,這是輔助服務(wù)器正常運行的前提。為了讓日志傳送功能能夠正常的運轉(zhuǎn),往往需要對日志文件的傳送工作進(jìn)行監(jiān)督。需要通過監(jiān)視服務(wù)器,來監(jiān)視主服務(wù)器有沒有把備份日志準(zhǔn)時的發(fā)送出去;而輔助服務(wù)器有沒有及時的接收備份日志。若出現(xiàn)異常的話,監(jiān)視服務(wù)器需要利用消息或者郵件的方式通知數(shù)據(jù)庫管理員。
    第三步:輔助服務(wù)器還原事務(wù)日志。
    當(dāng)輔助服務(wù)器收到主服務(wù)器發(fā)送過來的備份日志后,就需要根據(jù)這個備份日志還原數(shù)據(jù)庫。如此的話,當(dāng)主服務(wù)器出現(xiàn)故障后,輔助服務(wù)器能夠馬上代替主服務(wù)器進(jìn)行工作。所以,即使主服務(wù)器出現(xiàn)問題,用戶也很難察覺到。
    由于以上這三個作業(yè)都是通過計劃來調(diào)度的,所以,這個還原作業(yè)也可以通過操作系統(tǒng)的任務(wù)計劃來進(jìn)行管理。對于輔助服務(wù)器的還原頻率來說,需要數(shù)據(jù)庫管理員進(jìn)行合理的設(shè)置??荚嚧筇崾驹诠芾磉^程中,主要的問題就是數(shù)據(jù)同步與數(shù)據(jù)庫設(shè)計管理方面的一個均衡問題。
    這是因為日志傳送是按照時間表進(jìn)行的,故在主服務(wù)器與輔助服務(wù)器之間有個時間差。主服務(wù)器上的數(shù)據(jù)更改反映到輔助服務(wù)器上會有時間延遲。這個延遲有好處也有壞處。好處就是這些延遲可以用作還原用戶錯誤的一種方法,因為可以延遲日志文件在輔助服務(wù)器上的應(yīng)用,從而數(shù)據(jù)庫管理員可以選擇不采用錯誤的配置。但是,壞處也是很明顯的。因為要通過日志服務(wù)器幫助數(shù)據(jù)庫的高可用性的一個前提,就是要提高輔助服務(wù)器與主服務(wù)器之間的數(shù)據(jù)同步性能。而數(shù)據(jù)延遲會降低這個同步性。
    所以,數(shù)據(jù)庫管理員需要綜合各種情形,來設(shè)置這個還原的頻率。筆者是把這個數(shù)據(jù)同步看得更重。故數(shù)據(jù)庫服務(wù)器與輔助服務(wù)器備份與還原的頻率設(shè)置為三分鐘。
    第四步:警報。
    警報雖然在日志傳送中不是必須的,但其往往是日志傳送正常運行的一個保障。他就好像是公路上的探頭,當(dāng)以上三個作業(yè)出現(xiàn)什么問題的時候,讓數(shù)據(jù)庫管理員可以馬上知道,從而及時的采取措施,挽回?fù)p失。
    具體的來說,需要對如下的作業(yè)進(jìn)行監(jiān)視。當(dāng)出現(xiàn)不正常的情況時,及時通過信息或者郵件的形式向數(shù)據(jù)庫管理員匯報。
    1、主服務(wù)器日志備份出現(xiàn)問題。如當(dāng)主服務(wù)器延遲備份時,監(jiān)視服務(wù)器就需要向數(shù)據(jù)庫管理員報告相關(guān)的情況。
    2、備份日志傳送出現(xiàn)異常情況。如輔助服務(wù)器沒有及時收到備份的日志文件,監(jiān)視服務(wù)器就會告知數(shù)據(jù)庫管理員。此時,數(shù)據(jù)庫管理員就需要去檢查,看看是網(wǎng)絡(luò)的問題,還是主服務(wù)器的問題。
    3、還原情況的監(jiān)視。輔助服務(wù)器有沒有按時對數(shù)據(jù)庫進(jìn)行還原;在還原的過程中有沒有出現(xiàn)意外情況,都要及時的告知數(shù)據(jù)庫管理員。如最常見的警報就是,當(dāng)服務(wù)器沒有按規(guī)定進(jìn)行還原的時候,要觸發(fā)警報作業(yè)。