三、 大數據量操作的時候發生的切換
1、對表進行大量插入,執行1千萬遍,如下語句
insert into aa
select * from sys.sysprocesses
go 10000000
2、在執行以上大量插入過程中,進行故障轉移
ALTER AVAILABILITY GROUP alwayson01 FAILOVER
3、轉移時間30秒,下圖為轉移過程恢復alwayson01數據庫的日志記錄;在恢復過程中發現有大量redo操作,需要等待日志寫入到新副本,才能切換。由此可見如果大數據量操作時候發生切換,由于要實現同步,切換將會很緩慢。
切換過程會先停止原主副本的操作,新主副本實現同步;若存在大事務則需要大量io和cpu重做事務,因此切換會存在延遲或者失敗。
四、 手動切換后如何實現用戶權限同步
1、 在CLUSTEST03\CLUSTEST03新建用戶uws_test,具有alwaysOn01的讀寫權限。
2、 切換后,客戶端需要繼續使用uws_test連接
數據庫,必須要求SERVER03也存在uws_test用戶,并同時存在讀寫權限。需要新建與CLUSTEST03\CLUSTEST03相同sid的uws_test用戶,由于當前SERVER03的副本不可使用,因此不能賦予其他權限。
-- Login: uws_test
CREATE LOGIN [uws_test]
WITH PASSWORD = 0x0200C660EBCDC35F583546868ADFF2DC0D7213C30E373825E4E6781C024122E646A86355D040FDB12AAC523499FCEE799BB4F78DA47131E40DB33180434EA80C9873F0B19A9E HASHED,
SID = 0xE4382508B889704E8291DBF759B5BDA8, DEFAULT_DATABASE = [master], CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF
3、 執行切換語句后,查看SERVER03上uws_test用戶權限是否已經同步。
ALTER AVAILABILITY GROUP alwayson01 FAILOVER
測試總結
1、 只有在備機新建相同sid的用戶才能實現權限同步。
2、 若只是新建相同名字的用戶,則會導致切換后,數據庫存在孤立用戶,相同名字的用戶也不會有權限。
五、 主\輔助副本自動備份切換實現測試
1、 利用一下語句,確認首選備份
if ( sys.fn_hadr_backup_is_preferred_replica('alwayson01'))=1
begin
print '開始備份'
print '結束備份'
end
else
print '不備份'
2、 當前實例在SERVER03上,目前是以首選輔助副本未備份。
因此會有以下三種情況
情況一:在SERVER03不能執行備份,應該在CLUSTEST03\CLUSTEST03上執行
2.1 在SERVER03上不能執行備份,如下圖所示
2.2 在CLUSTEST03\CLUSTEST03上能執行備份,如下圖所示
情況二:CLUSTEST03\CLUSTEST03掛機,可在主副本SERVER03上備份
2.3 將CLUSTEST03\CLUSTEST03脫機,如下所示界面
2.4 可在SERVER03上執行備份
English » | | | | | | | | |
Text-to-speech function is limited to 100 characters