測試點/測試目的 | 測試方法 | 檢驗方法 | 注意事項 |
實時備份 測試數據是否零丟失。 |
在生產機上新建一個test表,id字段(字段類型int,長度10)插入不少于10000條數據,插入完成后查看備份設備內的數據記錄數。 可以執行以下語句完成: declare @a int set @a = 1 while @a<10001 begin INSERT INTO test VALUES (@a) set @a = @a + 1 end |
如果兩者一致就是滿足數據不丟失,通過測試;反之則存在數據丟失的可能,測試失敗。 | |
自動接管 測試備份機能否頂替生產機繼續對外服務。 |
將生產機宕機,在不需要任何人工干預的情況下,各客戶端能否在3分鐘內正常訪問備份機,恢復業務。 | 在規定時間內可以正常訪問則通過測試;在規定時間內無法正常訪問則測試失敗。 | 接管必須是無人干預的狀態。 |
任意時間點回退 測試是否能夠任意時間點回退。 任意回退所解決的就是可以解決數據庫的邏輯錯誤,找回任意需要找回的數據,以保證數據庫的完整和可用。 |
在生產機上執行以下語句: declare @numint declare @datecountint set @datecount=(select count(id) from test) set @num=0 while @num<@datecount begin delete test where id=(select top 1 id from test order by id desc ) set @num=@num+1 End 以上語句是將表內之前輸入的10000條數據逐條刪除,此時應該產生至少10000個回退點,且每個回退點都是數據庫可用并且完整的。由用戶隨機選取5個連續的點(如2781、2782、2783、2784、2785)進行恢復,恢復后的結果分別對應著連續的5個記錄數如:2781、2782、2783、2784、2785條記錄(只要回退后的記錄數也連續即可,不一定和回退步數對應)。 |
如果可以恢復連續5條記錄并與原始數據對應無誤,則測試成功;如果缺少任意一條或多條記錄,則測試失敗。 | 回退時必須是連續的點,不能跳點。 |