91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqlserver關于mirror鏡像的知識點有哪些

發布時間:2021-11-09 13:54:04 來源:億速云 閱讀:168 作者:iii 欄目:關系型數據庫

本篇內容介紹了“sqlserver關于mirror鏡像的知識點有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

mirror鏡像的基本原理:主服務器上的主體數據庫執行的增、刪、改、查操作以日志的方法在鏡像服務器的鏡像數據庫中重做。主體數據庫創建鏡像后,會啟動一個單獨的事務日志發送線程,維護一個虛擬的發送隊列,然后讀取事務日志,將其進行壓縮,然后發送給 mirror 節點,mirror 節點接收到以后,會將其寫入本地在磁盤上的一個重做隊列文件中,然后再通過另外的一個線程異步的方式,從重做隊列中獲取事務日志,然后分發給應用線程(process unit)進行回放。

數據鏡像的兩種模式

同步鏡像操作:在事務傳送中,主服務器必須等待鏡像服務器返回成功接收日志的消息后,主服務器才繼續下一事務日志到磁盤的寫入與提交到鏡像服務器。這種鏡像不會造成數據丟失,但是存在鏡像操作的事務延遲。

異步鏡像操作:在事務傳送中,主服務器不等待鏡像服務器返回日志的接收情況,繼續寫下一事務日志到物理磁盤并提交給鏡像服務器,這種鏡像操作性能較高,但是主服務器宕機后可能造成鏡像服務器數據丟失。

1、搭建mirror,必須先對主庫進行全備和日志備份,并且要以norecovery方式把全備和日志恢復到從庫,之后再在主庫右鍵數據庫-->properties-->mirror,參考圖形界面一步步來搭建,如下是主庫搭建mirror的報錯,因為從庫恢復的時候只恢復了數據庫沒有恢復日志導致

The mirror database, "XX", has insufficient transaction log data to preserve the log backup chain of the principal database. This may happen if a log backup from the principal database has not been taken or has not been restored on the mirror database.

2、圖形界面搭建鏡像過程中,跳出的端點名稱會自動創建好,不需要手工先去創建,跳出的端點名稱和端口可以自己定義,默認的是Mirroring和5022

3、搭建好后,監控mirror的工具,右鍵數據庫-->Tasks-->Launch Database Mirroring Monitor,這個工具主庫從庫都有,效果一樣,這點和log shipping的Transaction Log Shipping Status主庫只負責主庫,從庫只負責從庫不一樣。

4、搭建好后,主庫后面狀態顯示(Principal,Synchronized),從庫后面狀態顯示(Mirror,Synchronized/Restoring..)

5、搭建好后,主庫和從庫都有一個job名字是“Database Mirroring Monitor Job”,就算拆掉數據庫的mirror,主從上該job還在,新增一個數據庫的mirror,主備還是該job,沒新增job,該job刪除后,就算還有數據庫的mirror,該job也不會自動重建,但是下次新增數據庫的mirror時,該job會重建

6、因為從庫的鏡像數據庫無法讀,所以可以在從庫創建快照數據庫來讀,來確定mirror是否真正的同步

7、如果想實現主從自動切換,即自動故障轉移功能,必須要有見證服務器

8、如果主庫故障了,從庫狀態變成(Mirror,Disconnected/In Recovery),執行如下語句,恢復從庫的讀寫狀態(必須先執行第二條語句刪除從庫的快照,否則第三條語句無法執行)

ALTER DATABASE testdb SET PARTNER OFF;

drop database testdb_snapshot;

RESTORE DATABASE testdb WITH RECOVERY;

9、如果主庫執行了移除remove鏡像操作后需要刪除從庫再重新搭建主庫從庫的鏡像,但是從庫仍然顯示(Mirror,Disconnected/In Recovery),導致從庫無法刪除,且從庫執行ALTER DATABASE testdb SET PARTNER OFF后狀態仍是(Mirror,Disconnected/In Recovery),則需要先在主庫配置一下鏡像,然后會報錯鏡像搭建不成功,這個時候從庫狀態顯示(In Recovery),從庫這時候可以直接刪除。如果從庫還是無法刪除,就先在主庫配置一下鏡像,然后會報錯鏡像搭建不成功,再重啟從庫實例,從庫狀態一般會顯示為(suspect),這時從庫也可以直接刪除了。

10、手動故障轉移需要將事務安全設置為 FULL,且當伙伴連接在一起并且數據庫已同步時即數據庫處于 SYNCHRONIZED 狀態時,才支持手動故障轉移,登錄主庫執行如下語句,上面8非手動故障轉移,因為數據庫不是同步狀態而是Disconnected/In Recovery

USE master;

ALTER DATABASE testdb SET PARTNER FAILOVER;

11、如果從庫使用主庫的全備和日志備份進行restore norecovery后,開始搭建mirror,但是這個過程中,mirror還沒有搭建好,主庫又備份了日志,mirror無法成功搭建,會有如下報錯,只能把主庫備份的日志再restore norecovery到從庫,才可以正常搭建mirror

The remote copy of database <DatabaseName> has not been rolled forward to a point in time that is encompassed in the local copy of the database log

12、從庫無法直接delete刪除,這點和logshipping不一樣

13、鏡像故障查找,可以從主庫和從庫的日志中找相關信息

14、mirror數據庫升級后,無法修改數據庫版本COMPATIBILITY_LEVEL,因為mirror是只讀的,暫停mirror也無法修改,因為數據庫是restoring狀態

15、mirror相關信息,可以參考視圖sys.database_mirroring

16、mirror的從庫,不能執行backup

17、主庫升級后可以修改level,從庫升級后無法修改level,如果主庫修改了level一旦主庫的日志同步到從庫后,從庫對應的數據庫的level會和主庫一樣

18、主庫新增datafile后,從庫也會新增datafile,并且路徑和主庫的路徑一樣

19、mirror主庫增加了文件,但是從庫沒有相應的目錄,則同步會suspend掛起,就算從庫有默認的datafile和logfile路徑。在從庫的數據庫日志里面可以看到報錯信息:CREATE FILE encountered operating system error 3(The system cannot find the path specified.) while attempting to open or create the physical file 'E:\XX\YY.ndf'.

20、FILETABLE的數據庫無法搭建mirror,會報錯A database cannot be enabled for both Database Mirroring and FILESTREAM or for both Database Mirroring and MEMORY_OPTIMIZED_DATA storage

21、搭建mirror時遇到一個怪異報錯Database 'mirror_1' cannot be opened. It is in the middle of a restore。最后發現是因為數據庫實例的版本是2016,而搭建mirror時使用的SSMS版本是2017,把SSMS換成2016就沒有再報這個錯誤了,這個算是sqlserver的bug了

22、在從庫創建鏡像數據庫mirror1的快照數據庫mirror_snapshot,NAME必須等于等于主庫里面的數據文件相同的邏輯名稱,filename自己隨意定義,指快照數據庫的filename

create database mirror_snapshot on

(NAME=mirror1,filename='G:\DEFAULT.DATA\mirror_snapshot')

as snapshot of mirror1;

23、監控mirror數據庫Db1最近的同步情況,可以參考如下語句(2表示最后4小時的行,如果把2改成1表示最后2小時的行

USE msdb;  
EXEC sp_dbmmonitorresults Db1,2, 0;

24、主庫的狀態一直是(Principal,Suspend),右鍵主庫--屬性--Mirroring--Resume后,主庫的狀態是(Principal,Synchronizing),過一會主庫狀態還是(Principal,Suspend),查看從庫實例的日志有如下內容

The instance of the SQL Server Database Engine cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users. Ask the database administrator to check the lock and memory configuration for this instance, or to check for long-running transactions.

    解決方法:右鍵主庫--屬性--Mirroring--Remove Mirroring,從庫狀態變成(Mirror,Disconnected/In Recovery),再在主庫創建Mirror,這時會報錯,從庫狀態變成(restoring),這個時候,把主庫備份的日志拿到從庫去手工restore,所有日志都restore完了后,再在主庫創建Mirror就正常了。

25、8核CPU,數據庫最大內存16GB環境,發現Database1在15分鐘內產生的日志達到500MB以上時,mirror很容易出現suspend的狀態,查看日志發現信息如下,就算你重啟數據庫,還是解決不了這個問題,只能移除mirror,在從庫上再手工restore這些日志,再搭建mirror

The instance of the SQL Server Database Engine cannot obtain a LOCK resource at this time. Rerun your statement when there are fewer active users. Ask the database administrator to check the lock and memory configuration for this instance, or to check for long-running transactions.

Database mirroring will be suspended. Server instance 'Instance1' encountered error 1204, state 4, severity 19 when it was acting as a mirroring partner for database 'Database1'. The database mirroring partners might try to recover automatically from the error and resume the mirroring session. For more information, view the error log for additional error messages.

26、關于mirror和logshipping的選擇,遇到數據庫在短時間內產生的日志很大,比如15分鐘內產生了500MB,那么mirror不如logshipping,因為mirror需要消耗更多的內存,mirror很容易出現suspend的狀態

27、搭建mirror時遇到錯誤:服務器網絡地址 “TCP://dbalias:5022″ 無法訪問或不存在。請檢查網絡地址名稱,并檢查本地和遠程端點的端口是否正常運行。 (Microsoft SQL Server,錯誤: 1418)。

解決思路

27.1、telnet dbalias:5022 是否通

27.2、檢查主備機器的sqlserver啟動賬號是否有權限訪問對方實例

27.3、以上兩點都正常的情況下,重啟備機

27.4、以上步驟3也做過還是不行的話,重啟主機(自己就遇到一個這樣的問題,直到這第四步做完才能正常搭建mirror)

28、監控mirror同步更新狀態可以結合使用存儲過程msdb.sys.sp_dbmmonitorupdate和系統表msdb.dbo.dbm_monitor_data

“sqlserver關于mirror鏡像的知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万盛区| 灌南县| 广东省| 池州市| 浪卡子县| 米泉市| 沙雅县| 涞源县| 肃南| 资中县| 翁源县| 洛宁县| 沧源| 保山市| 朝阳市| 万全县| 浏阳市| 林西县| 临颍县| 沈阳市| 雷山县| 门头沟区| 慈利县| 岗巴县| 阳泉市| 虞城县| 新竹市| 松原市| 莲花县| 武冈市| 临朐县| 康保县| 镇坪县| 太康县| 项城市| 衢州市| 嘉荫县| 印江| 城口县| 汾西县| 广安市|