SqlServer 事務日誌傳輸

基本概念 sql

  可使用日誌傳送將事務日誌不間斷地從一個數據庫(主數據庫)發送到另外一個數據庫(輔助數據庫)。不間斷地備份主數據庫中的事務日誌,而後將它們複製並還原到輔助數據庫,這將使輔助數據庫與主數據庫基本保持同步。目標服務器充當備份服務器,並能夠將查詢處理從主服務器從新分配到一個或多個只讀的輔助服務器。日誌傳送可與使用完整或大容量日誌恢復模式的數據庫一塊兒使用。  shell

  日誌傳送由三項操做組成:數據庫

  1. 在主服務器實例中備份事務日誌。服務器

  2. 將事務日誌文件複製到輔助服務器實例。spa

  3. 在輔助服務器實例中還原日誌備份。3d

日誌可傳送到多個輔助服務器實例。在這些狀況下,將針對每一個輔助服務器實例重複執行操做 2 和操做 3。代理

日誌傳送配置不會自動從主服務器故障轉移到輔助服務器。若是主數據庫變爲不可用,可手動使任意輔助數據庫聯機。日誌

您能夠爲了實現報表目的而使用輔助數據庫。code

 

配置過程blog

  一、首先須要在輔助數據庫建立用於備份的共享目錄logbackup,主要用於存放從主數據備份來的日誌文件,放在輔助數據庫服務器方便讀取備份日誌文件,以下圖

  

 

  二、添加目錄信任(這部很重要,由於共享目錄之後在主數據服務器雖然能夠讀寫共享目錄,可是後來在經過SqlServer傳輸日誌的時候老是由於權限的問題失敗)

  首先,是啓用SqlServer的xp_cmdshell功能,能夠經過命令啓用,經過Management Studio執行如下腳本:

1 sp_configure 'show advanced options',1
2 reconfigure
3 go
4 sp_configure 'xp_cmdshell',1
5 reconfigure
6 go

  可是腳本執行僅本次起做用,下次重啓數據庫會失效,因此能夠經過界面設置來永久啓用xp_cmdshell:

  右擊"SqlServer數據庫"--方面--點擊常規--選擇外圍應用配置器--而後將cmdshell的屬性改成True,以下圖

  

  

  操做完以上步驟之後,開始經過Management Studio執行目錄信任命令:

  

exec master..xp_cmdshell 'net use \\172.16.3.79\logbackup Envisi0n@#1 /user:172.16.3.79\ENADMIN';

     \\172.16.3.79\logbackup--是共享目錄

          172.16.3.79\ENADMIN--輔助數據庫服務器共享目錄的用戶

     Envisi0n@#1--用戶的密碼

 

  三、在輔助數據庫服務添加防火牆程序和端口例外(SqlServer Studio和端口1433):

  轉到 防火牆--點擊高級配置--新建規則--分步添加程序和端口的例外,這裏很簡單就不作說明,程序選擇的目錄(C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe)。

 

  四、開始執行日誌傳輸配置:

  首先,打開主數據庫的屬性界面,選擇「事務日誌傳輸」,點擊選擇啓用日誌傳輸功能的複選框。

  

  而後彈出主數據庫日誌備份相關的配置,備份文件夾的網路路徑選擇以前建立的共享目錄,備份做業能夠自行根據實際狀況編輯選擇。

  

  而後,則是添加輔助數據,輔助數據庫能夠添加多個,在「初始化輔助數據庫」界面,咱們選擇在主數據庫生成徹底備份,還原到輔助數據庫中(輔助數據不存在,則建立它)。

在還原選項中須要選擇文件夾存放數據庫文件和日誌文件,這些目錄都是輔助數據庫服務器上的目錄。

  

  在「複製文件」界面進行配置複製的一些任務,這裏的任務主要是負責將主數據庫的日誌備份文件複製到輔助數據庫服務的共享目錄下,以下圖

  

  在「還原事務日誌」界面配置還原備份日誌的相關配置和任務計劃,其中還原備份時數據庫有2種狀態,無恢復模式和備用模式,主要區別是無恢復模式不容許用戶鏈接數據庫查詢,而備用模式容許用戶查詢數據(可是在數據庫還原期間是不容許查詢的)。通常選擇備用模式,而且選擇「在還原備份時斷開數據庫中的用戶鏈接」。 

     

  使輔助數據庫處於備用模式時,有兩種配置方式:
  還原事務日誌備份時,能夠選擇使數據庫用戶斷開鏈接。若是選中此選項,則日誌傳送還原做業每次嘗試將事務日誌還原到輔助數據庫時,用戶都將與數據庫斷開鏈接。斷開鏈接將按爲還原做業設置的計劃發生。
  能夠選擇不與用戶斷開鏈接。在這種狀況下,若是用戶鏈接到輔助數據庫,則還原做業沒法將事務日誌備份還原到輔助數據庫。事務日誌備份將一直累積到沒有用戶鏈接到該數據庫爲止。

  五、最後點擊」肯定」按鈕,會將主數據庫備份而且還原到輔助數據庫服務器,此步驟可能會執行一段較長時間,只要不報錯就OK,最後能夠查看輔助數據庫服務器多出一個處於「備用/只讀」的數據庫,以下圖:

  

  

  六、注意,由於全部日誌的備份、複製和還原都是計劃任務,因此在主數據和輔助數據庫服務器都要啓用SQL Server代理。

相關文章
相關標籤/搜索