1. 程式人生 > >SQL Server Alwayson建立代理作業注意事項

SQL Server Alwayson建立代理作業注意事項

介紹

Always On 可用性組活動輔助功能包括支援在輔助副本上執行備份操作。 備份操作可能會給 I/O 和 CPU 帶來很大的壓力(使用備份壓縮)。 將備份負荷轉移到已同步或正在同步的輔助副本後,您可以使用承載第一層工作負荷的主副本的伺服器例項上的資源,您可以建立主資料庫的任何型別的備份。 也可以建立輔助資料庫的日誌備份和僅複製完整備份。

一、概念

1.輔助副本上支援的備份型別

  • BACKUP DATABASE :在輔助副僅支援資料庫、檔案或檔案組的僅複製完整備份。 請注意,僅複製備份不影響日誌鏈,也不清除差異點陣圖。
  • 輔助副本不支援差異備份。
  • BACKUP LOG 僅支援常規日誌備份(輔助副本上的日誌備份不支援 COPY_ONLY 選項)。
  • 若要備份輔助資料庫,輔助副本必須能夠與主副本進行通訊,並且狀態必須為 SYNCHRONIZED 或 SYNCHRONIZING。

2.配置執行備份作業的位置

在輔助副本上執行備份以減輕主生產伺服器的備份工作負荷非常有好處。 但是,對輔助副本執行備份會顯著增加用於確定應在何處執行備份作業的過程的複雜性。 要解決這個問題,請按如下所示配置備份作業執行的位置:

  • 配置可用性組以便指定要對其執行備份的可用性副本。
  • 為承載作為執行備份候選的可用性副本的每個伺服器例項上的每個可用性資料庫都建立編寫了指令碼的備份作業。

3.備份首選項

優先輔助副本
指定備份應在輔助副本上發生,但在主副本是唯一聯機的副本時除外。 在該情況下,備份應在主副本上發生。 這是預設選項。

僅輔助副本
指定備份應該永遠不會在主副本上執行。 如果主副本是唯一的聯機副本,則備份應不會發生。

主副本
指定備份應該始終在主副本上發生。 如果您需要在對輔助副本執行備份時存在不支援的備份功能,例如建立差異備份,此選項將很有用。

任意副本
指定您希望在選擇要執行備份的副本時備份作業將忽略可用性副本的角色。請注意,備份作業可能評估其他因素,例如每個可用性副本的備份優先順序及其操作狀態和已連線狀態。

注意:如果您計劃使用日誌傳送為可用性組準備任何輔助資料庫,請將自動備份首選項設定為Primary,直到準備好所有輔助資料庫並將其加入可用性組。沒有強制的自動備份首選項設定。 對此首選項的解釋取決於您為給定可用性組中的資料庫撰寫備份作業指令碼的邏輯(如果有)。 自動備份首選項設定對即席備份沒有影響。

 

二、判斷語句

若要為某一給定可用性組考慮使用自動備份首選項,則對於承載備份優先順序大於零 (>0) 的可用性副本的每個伺服器例項,您需要為該可用性組中的資料庫的備份作業編寫指令碼。若要確定當前副本是否為首選備份副本,請在備份指令碼中使用 sys.fn_hadr_backup_is_preferred_replica 函式。如果當前例項上的資料庫位於首選副本上,則返回 1否則返回 0。 通過對查詢此函式的每個可用性副本執行判斷指令碼,可以確定哪個副本應執行給定的備份作業。

If sys.fn_hadr_backup_is_preferred_replica(@dbname)=1
BEGIN
BACKUP DATABASE @DBNAME TO DISK=<disk> 
END 
ELSE 
PRINT('當前副本不是備份首選副本')

在所有可能執行的備份的副本上面建立相同的備份語句,在發生故障轉移時,無需修改任何指令碼或作業

三、建立代理作業 

 

注意:

1.這裡的資料庫要選擇“master”,如果當前的alwayson配置了只讀路由而你這裡選擇的是可用性資料庫的話那麼在輔助副本上面建立的作業會執行失敗,因為只讀路由連線輔助副本可用性資料庫需要readonly連線屬性。建立非備份的其它作業也是一樣。

2.當前我的備份指令碼放在master資料庫中,如果是執行其它資料庫下的指令碼也是一樣,這裡需要將資料庫名帶上。

3. 如果if判斷這裡指定的是一個非可用性組的資料庫返回的結果同樣是1,因為對於例項來說非可用性的資料庫也是備份的首先副本。

4.如果begin end中執行的是儲存過程,不能在執行儲存過程語句之前做可能涉及修改的其它相關操作比如:

       1.選擇資料庫(use database);

       2.定義變數(declare @id);

       3.set賦值

       4.其它的相關操作。

判斷是否是主副本命令

If sys.fn_hadr_is_primary_replica (@dbname) =1  
BEGIN  
    PRINT('1')
END 
ELSE
    PRINT('當前副本不是主副本')

備註:判斷是否是主副本命令和判斷是否是備份主副本命令不一樣,如果指定的資料庫是非可用性組資料庫判斷是否是主副本返回的結果是NULL,而判斷是否是備份主副本返回的是1。

總結

1.在可用性組的主資料庫或輔助資料庫上不允許 RESTORE 語句。

2.備份首選項只是給出一個備份的判斷選項,無論你手動在哪個副本上備份都可以,唯一的限制就是輔助副本的完整備份只支援“複製”備份。由於輔助副本只支援僅複製備份,所以輔助副本無法進行差異備份。要進行差異備份那麼首先備份副本應該選擇主副本。

3.無論是在主副本上備份日誌還是在輔助副本上備份日誌最終都會截斷所有副本上的日誌鏈。

備註:

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結。

《歡迎交流討論》

相關推薦

SQL Server Alwayson建立代理作業注意事項

介紹 Always On 可用性組活動輔助功能包括支援在輔助副本上執行備份操作。 備份操作可能會給 I/O 和 CPU 帶來很大的壓力(使用備份壓縮)。 將備份負荷轉移到已同步或正在同步的輔助副本後,您可以使用承載第一層工作負荷的主副本的伺服器例項上的資源,您可以建立主資料庫的任何型別的備份。 也可以建立輔

SQL Server Alwayson創建代理作業註意事項

配置 好處 連接 當前 是否 優先級 span 生產 數據庫 介紹 Always On 可用性組活動輔助功能包括支持在輔助副本上執行備份操作。 備份操作可能會給 I/O 和 CPU 帶來很大的壓力(使用備份壓縮)。 將備份負荷轉移到已同步或正在同步的輔助副本後,您可以使用

SQL Server 2016 AlwaysOn 安裝及配置注意事項

參考部落格: 此部落格寫已經很詳細了,我只是為了記錄一下在實際操作過程中遇到的問題。 1.叢集管理配置 仲裁見證注意:這個路徑的許可權必須everyone角色具有讀寫許可權,否則叢集會出現以下錯誤提示,如果AlwasyOn的網路共享路徑也配置在域伺服器應該避免檔案見

SQL Server Alwayson讀寫分離配置

priority list 存在 -c font mar 宋體 data str 標簽:MSSQL/只讀路由 概述 Alwayson相對於數據庫鏡像最大的優勢就是可讀副本,帶來可讀副本的同時還添加了一個新的功能就是配置只讀路由實現讀寫分離;當然這裏的讀寫分離

SQL Server Alwayson讀寫分離配置

sql概述 Alwayson相對於數據庫鏡像最大的優勢就是可讀副本,帶來可讀副本的同時還添加了一個新的功能就是配置只讀路由實現讀寫分離;當然這裏的讀寫分離稍微誇張了一點,只能稱之為半讀寫分離吧!看接下來的文章就知道為什麽稱之為半讀寫分離。 db01:192.168.1.22db02:192.168.1.23

SQL server建立數據庫和表

使用 char 分享 ase asp 找到 cpn cred 管理工具 2.建立數據庫 2.1 通過SSMS建立數據庫 2.2 通過SQL語句建立數據庫 3.建立表 3.1 通過SSMS建立表 3.2 通過SQL語句建立表 1.前言 配置是win10+SQL Ser

SQL Server Alwayson概念總結

定期 副本 數據 即使 iter 檢測 存在 保護 target 一、alwayson概念 “可用性組” 針對一組離散的用戶數據庫(稱為“可用性數據庫” ,它們共同實現故障轉移)支持故障轉移環境。 一個可用性組支持一組主數據

從0開始搭建SQL Server AlwaysOn 第一篇(配置域控)

說明 div rep 工具 標識符 軟件定義 而不是 this 必須 AlwaysOn是SQL Server2012推出的最新的高可用技術,用以取代原有的SQL Serve鏡像 網上的 AlwaysOn可以說是非常的多,也可以說是非常的千篇一律,而且很多都是搭建非常順利

永遠的階梯1級:什麽是“SQL Server AlwaysOn”?

設計 nag dom 網絡連接 clu ttl com clas fig By Perry Whittle,2016/02/24(首次發布:2014/09/24)該系列本文是“階梯系列:AlwaysOn的階梯”的一部分 AlwaysOn是一套復雜的技術,往往被誤解。在這個階

SQL Server AlwaysOn中445端口使用的調查報告

數據庫 SQL Server SQL Server AlwaysOn中445端口使用的調查報告第一部分:來自微軟官方的文檔說明Microsoft Knowledge Base article 832017: Service overview and network port requirements

SQL Server Alwayson搭建一:規劃

數據庫 SQL Server 規劃:3臺虛擬機:1臺作為域控(DC),另外2臺安裝SQL Server 序號 名稱 TCP/IPv4 備註 1 sqldc 192.168.0.100255.255.255.0192.168.0.254DNS:127.0.0.1 DC 2 sql01 192

SQL Server Alwayson搭建二:域控配置

數據庫 SQL Server IP及配置 安裝AD及DNS 將服務器升級為域控服務器點擊 Promote this server to a domain controller,如下選擇 Add a new forest,Root domain name填寫sql.com(可自己定義:如abc

SQL Server Alwayson搭建三:SQL服務器配置

數據庫 SQL Server 安裝.NET Framework 3.5/4.0 IP配置sql01sql02 安裝SQL Server 2014,選擇混合認證模式,設置sa密碼 服務器加域,成功後選擇重啟服務器 使用dcadmin登錄服務器,修改sqlserver服務帳號 關閉服務器防火墻至此,SQL

SQL Server Alwayson搭建四:故障轉移集群配置

數據庫 SQL Server 確定仲裁模式配置故障轉移集群的時候,如果集群節點是奇數,那麽使用多數節點;如果集群節點是偶數,那麽使用多數節點和文件共享 (配置一個共享文件夾,各個節點都能訪問這個共享文件夾)因為是偶數節點(sql01和sql02),因此選擇多數節點和文件共享模式2.安裝故障轉移集群,s

SQL Server Alwayson搭建五:Alwayson配置

數據庫 SQL Server 啟用Alwayson在SQL01和SQL02服務器上的Sql Server Configuration Manager中右鍵點擊SQL Server服務選擇Properties在AlwaysOn High Availability選項卡中可以看到Windows failo

mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則和注意事項

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

重灌系統後,重新安裝ORACLE加環境變數配置、客戶端PL/SQL的安裝過程,及注意事項(避免再次踩坑)

(1)首先了解什麼是OERACLE及Oracle與PL/SQL是什麼關係: ORACLE是資料庫,有客戶端和伺服器; PLSQL Developer只是第三方工具,服務於ORACLE,類似的工具還有Toad,sqlplus,sql developer等等; 安裝PLSQL Developer

SQL Server語句建立資料庫和表——並設定主外來鍵關係

簡單的建立資料庫的 SQL 語句: 1 use master 2 go 3 4 if exists(select * from sysdatabases where name='Test') 5 begin 6 select '該資料庫已存在' 7

sql server遊標建立與使用

建立一個遊標,然後遍歷userinfo表的所有資料,列印使用者id和使用者名稱--定義遊標,讓遊標指向sql查詢結果declare demoCursor Cursor for select userName,userId,userAge from userInfo --開啟遊標open demoCursor

SQL SERVER 語句建立資料庫和表以及設定主外來鍵關係

簡單的建立資料庫的 SQL 語句: use master go if exists(select * from sysdatabases where name='Test') begin     select '該資料庫已存在'