對(duì)于縮短SQL Server 2008的停機(jī)時(shí)間的分析和使用方法如下:
- 快速數(shù)據(jù)庫(kù)恢復(fù)
SQL Server 2008 Enterprise Edition Database Engine 能夠在崩潰恢復(fù)和數(shù)據(jù)庫(kù)鏡像故障轉(zhuǎn)移期間提供快速恢復(fù)。快速恢復(fù)功能使數(shù)據(jù)庫(kù)在恢復(fù)流程的還原階段即可使用,它在還原操作期間、數(shù)據(jù)庫(kù)頁(yè)校驗(yàn)以及備份媒體鏡像期間均可提供部分可用性。通過(guò)支持快速恢復(fù),SQL Server 2008 將在最短的時(shí)間內(nèi)使數(shù)據(jù)庫(kù)處于在線狀態(tài),因此用戶很快就能使用數(shù)據(jù)庫(kù),這要快于如下方法:等整個(gè)恢復(fù)流程全部完成后,用戶和應(yīng)用程序才可以執(zhí)行連接。
備份和還原
在高可用性解決方案中,備份至關(guān)重要,它要定期提供數(shù)據(jù)快照,并在出現(xiàn)大范圍故障或缺少其他高可用性解決方案時(shí),作為數(shù)據(jù)源用以還原數(shù)據(jù)。
SQL Server 的備份媒體鏡像功能使用戶能夠?qū)?shù)據(jù)庫(kù)通過(guò)鏡像備份復(fù)制到多個(gè)備份設(shè)備上,當(dāng)媒體出現(xiàn)故障或備份設(shè)備丟失時(shí),這將極大提高備份的可靠性。SQL Server 2008 支持在磁盤(pán)和磁帶上執(zhí)行鏡像備份,但所用的設(shè)備必須類似,以避免產(chǎn)生設(shè)備不匹配錯(cuò)誤的風(fēng)險(xiǎn)。備份鏡像集中的所有設(shè)備在備份過(guò)程中都必須可用,但數(shù)據(jù)庫(kù)可從鏡像集中的任何單獨(dú)備份中還原。要利用 Transact-SQL 執(zhí)行鏡像備份,必須使用 BACKUP 命令的 MIRROR TO 子句,如下例所示。
SQL Server 的另一個(gè)備份可靠性特性是,在備份操作期間可以生成校驗(yàn)和,然后校驗(yàn)和可用于驗(yàn)證還原后的數(shù)據(jù)庫(kù)。
SQL Server 2008 支持備份壓縮,最多可使備份大小減小50%。容量的減小使用戶能夠更頻繁地備份數(shù)據(jù),同時(shí)也會(huì)縮短還原時(shí)間。在 BACKUP 命令中,備份壓縮可設(shè)為 ON 或 OFF,并且可以利用 sp_configure 定義默認(rèn)的壓縮值(on 或 off),以確定在執(zhí)行 BACKUP 命令時(shí),是否需要制定壓縮選項(xiàng)。
- 數(shù)據(jù)頁(yè)上的校驗(yàn)和
“校驗(yàn)和”可比較寫(xiě)入磁盤(pán)的值與后續(xù)讀取的值。如果這些值不一致,則該頁(yè)將被標(biāo)記為 suspect(可疑),然后要么手動(dòng)還原,要么利用 SQL Server 2008 自動(dòng)從伙伴服務(wù)器中還原。
- 在線索引操作
可用性會(huì)受到標(biāo)準(zhǔn)維護(hù)操作以及故障的影響。在早期 SQL Server 版本中,索引維護(hù)會(huì)使受影響的數(shù)據(jù)變?yōu)椴豢捎?,但從SQL Server 2005 開(kāi)始,數(shù)據(jù)在“在線索引操作”期間均可保持可用性,這些可用的操作包括創(chuàng)建、放置或重建索引。
在執(zhí)行索引維護(hù)時(shí),“在線索引操作”可提高所有系統(tǒng)的可用性,因此也能提高職員的工作效率,并改善客戶使用系統(tǒng)時(shí)的體驗(yàn)。
- 在線、段落和頁(yè)級(jí)還原
SQL Server 2008 Enterprise Edition 支持“在線還原”,使用戶能夠訪問(wèn)數(shù)據(jù)庫(kù)被還原的部分,即使數(shù)據(jù)庫(kù)的其他部分還不可用,因此這會(huì)提高恢復(fù)速度、縮短停機(jī)時(shí)間和提高可用性。此外,可以利用“段落還原”策略還原各階段的數(shù)據(jù)庫(kù)。例如,可以還原包含當(dāng)前活動(dòng)數(shù)據(jù)的文件組,并且可先使數(shù)據(jù)庫(kù)處于在線狀態(tài),然后還原包含較舊的歸檔數(shù)據(jù)的文件組。在災(zāi)難恢復(fù)應(yīng)用場(chǎng)景下,段落還原策略可縮短任務(wù)關(guān)鍵型應(yīng)用程序處于離線狀態(tài)的時(shí)間。
由于少量數(shù)據(jù)頁(yè)發(fā)生損壞而需要恢復(fù)數(shù)據(jù)庫(kù)時(shí),SQL Server 2008 支持頁(yè)級(jí)還原操作。用戶可從許多源數(shù)據(jù)庫(kù)的可疑頁(yè)中識(shí)別頁(yè) ID,包括 msdb 數(shù)據(jù)庫(kù)中的 suspect_pages 表、SQL Server 錯(cuò)誤日志以及 DBCC CHECKDB 命令。識(shí)別出任何有可能損壞的數(shù)據(jù)頁(yè)之后,就可以在 RESTORE 語(yǔ)句的 PAGE 從句中指定頁(yè) ID,從而還原數(shù)據(jù)頁(yè)。從備份中還原單張頁(yè)的能力極大地縮短由于數(shù)據(jù)庫(kù)損壞導(dǎo)致的停機(jī)時(shí)間。
- 部分?jǐn)?shù)據(jù)可用性
有了“部分?jǐn)?shù)據(jù)可用性”功能,即使數(shù)據(jù)庫(kù)的一部分由于隔離硬件或磁盤(pán)故障而遭破壞,數(shù)據(jù)庫(kù)也能維持在線狀態(tài)和可用性。如果輔助的非主要數(shù)據(jù)文件損壞,則數(shù)據(jù)庫(kù)未損壞的部分仍將保持在線狀態(tài)和可用性。因此,即使整個(gè)系統(tǒng)不可用,但有些客戶和職員仍可訪問(wèn)數(shù)據(jù),這會(huì)減輕由問(wèn)題導(dǎo)致的后果,同時(shí)另一個(gè)可用性解決方案將進(jìn)入在線狀態(tài)。
- 快照隔離
在SQL Server的早期版本中修改數(shù)據(jù)時(shí),被修改的數(shù)據(jù)將處于鎖定狀態(tài),因此其他應(yīng)用程序和用戶就無(wú)法使用這些數(shù)據(jù)。替代方法是讀取數(shù)據(jù)的當(dāng)前狀態(tài)(即使這些值尚未被提交)或者當(dāng)交易未成功完成時(shí)回滾數(shù)據(jù)。
“快照隔離”功能擴(kuò)展了 SQL Server 2008 中的鎖定框架,它使應(yīng)用程序能夠在發(fā)生任何數(shù)據(jù)修改之前查看值。這可防止應(yīng)用程序被鎖定,同時(shí)仍將提供真正已提交的數(shù)據(jù)。例如,在本文開(kāi)頭介紹的玩具制造商案例中,“快照隔離”功能使報(bào)告能夠運(yùn)行,并提供精確的交易結(jié)果?!翱煺崭綦x”使報(bào)告更及時(shí)、更精確。
- 動(dòng)態(tài)配置
“動(dòng)態(tài)配置”是 SQL Server Always On 技術(shù)之一,利用該技術(shù)可以更好地訪問(wèn)硬件特性,如執(zhí)行熱升級(jí),同時(shí)系統(tǒng)仍可運(yùn)行。如果硬件支持“熱添加內(nèi)存”,則在增加系統(tǒng)內(nèi)存時(shí)就不會(huì)產(chǎn)生中斷,而且 SQL Server 將通過(guò)動(dòng)態(tài)內(nèi)存或者故障移動(dòng)群集的動(dòng)態(tài)“地址窗口化擴(kuò)展插件(AWE)”自動(dòng)使用這些內(nèi)存。
SQL Server 2008 還支持“熱添加CPU”,因此可為受支持的硬件添加處理器,而且不會(huì)使操作中斷。
對(duì)于任何需要增加處理器或內(nèi)存資源的系統(tǒng)而言,“動(dòng)態(tài)配置”功能可縮短停機(jī)時(shí)間,并提高職員工作效率和客戶滿意度。
- 快速數(shù)據(jù)庫(kù)恢復(fù)
SQL Server 2008 Enterprise Edition Database Engine 能夠在崩潰恢復(fù)和數(shù)據(jù)庫(kù)鏡像故障轉(zhuǎn)移期間提供快速恢復(fù)。快速恢復(fù)功能使數(shù)據(jù)庫(kù)在恢復(fù)流程的還原階段即可使用,它在還原操作期間、數(shù)據(jù)庫(kù)頁(yè)校驗(yàn)以及備份媒體鏡像期間均可提供部分可用性。通過(guò)支持快速恢復(fù),SQL Server 2008 將在最短的時(shí)間內(nèi)使數(shù)據(jù)庫(kù)處于在線狀態(tài),因此用戶很快就能使用數(shù)據(jù)庫(kù),這要快于如下方法:等整個(gè)恢復(fù)流程全部完成后,用戶和應(yīng)用程序才可以執(zhí)行連接。
備份和還原
在高可用性解決方案中,備份至關(guān)重要,它要定期提供數(shù)據(jù)快照,并在出現(xiàn)大范圍故障或缺少其他高可用性解決方案時(shí),作為數(shù)據(jù)源用以還原數(shù)據(jù)。
SQL Server 的備份媒體鏡像功能使用戶能夠?qū)?shù)據(jù)庫(kù)通過(guò)鏡像備份復(fù)制到多個(gè)備份設(shè)備上,當(dāng)媒體出現(xiàn)故障或備份設(shè)備丟失時(shí),這將極大提高備份的可靠性。SQL Server 2008 支持在磁盤(pán)和磁帶上執(zhí)行鏡像備份,但所用的設(shè)備必須類似,以避免產(chǎn)生設(shè)備不匹配錯(cuò)誤的風(fēng)險(xiǎn)。備份鏡像集中的所有設(shè)備在備份過(guò)程中都必須可用,但數(shù)據(jù)庫(kù)可從鏡像集中的任何單獨(dú)備份中還原。要利用 Transact-SQL 執(zhí)行鏡像備份,必須使用 BACKUP 命令的 MIRROR TO 子句,如下例所示。
|
SQL Server 的另一個(gè)備份可靠性特性是,在備份操作期間可以生成校驗(yàn)和,然后校驗(yàn)和可用于驗(yàn)證還原后的數(shù)據(jù)庫(kù)。
SQL Server 2008 支持備份壓縮,最多可使備份大小減小50%。容量的減小使用戶能夠更頻繁地備份數(shù)據(jù),同時(shí)也會(huì)縮短還原時(shí)間。在 BACKUP 命令中,備份壓縮可設(shè)為 ON 或 OFF,并且可以利用 sp_configure 定義默認(rèn)的壓縮值(on 或 off),以確定在執(zhí)行 BACKUP 命令時(shí),是否需要制定壓縮選項(xiàng)。
- 數(shù)據(jù)頁(yè)上的校驗(yàn)和
“校驗(yàn)和”可比較寫(xiě)入磁盤(pán)的值與后續(xù)讀取的值。如果這些值不一致,則該頁(yè)將被標(biāo)記為 suspect(可疑),然后要么手動(dòng)還原,要么利用 SQL Server 2008 自動(dòng)從伙伴服務(wù)器中還原。
- 在線索引操作
可用性會(huì)受到標(biāo)準(zhǔn)維護(hù)操作以及故障的影響。在早期 SQL Server 版本中,索引維護(hù)會(huì)使受影響的數(shù)據(jù)變?yōu)椴豢捎?,但從SQL Server 2005 開(kāi)始,數(shù)據(jù)在“在線索引操作”期間均可保持可用性,這些可用的操作包括創(chuàng)建、放置或重建索引。
在執(zhí)行索引維護(hù)時(shí),“在線索引操作”可提高所有系統(tǒng)的可用性,因此也能提高職員的工作效率,并改善客戶使用系統(tǒng)時(shí)的體驗(yàn)。
- 在線、段落和頁(yè)級(jí)還原
SQL Server 2008 Enterprise Edition 支持“在線還原”,使用戶能夠訪問(wèn)數(shù)據(jù)庫(kù)被還原的部分,即使數(shù)據(jù)庫(kù)的其他部分還不可用,因此這會(huì)提高恢復(fù)速度、縮短停機(jī)時(shí)間和提高可用性。此外,可以利用“段落還原”策略還原各階段的數(shù)據(jù)庫(kù)。例如,可以還原包含當(dāng)前活動(dòng)數(shù)據(jù)的文件組,并且可先使數(shù)據(jù)庫(kù)處于在線狀態(tài),然后還原包含較舊的歸檔數(shù)據(jù)的文件組。在災(zāi)難恢復(fù)應(yīng)用場(chǎng)景下,段落還原策略可縮短任務(wù)關(guān)鍵型應(yīng)用程序處于離線狀態(tài)的時(shí)間。
由于少量數(shù)據(jù)頁(yè)發(fā)生損壞而需要恢復(fù)數(shù)據(jù)庫(kù)時(shí),SQL Server 2008 支持頁(yè)級(jí)還原操作。用戶可從許多源數(shù)據(jù)庫(kù)的可疑頁(yè)中識(shí)別頁(yè) ID,包括 msdb 數(shù)據(jù)庫(kù)中的 suspect_pages 表、SQL Server 錯(cuò)誤日志以及 DBCC CHECKDB 命令。識(shí)別出任何有可能損壞的數(shù)據(jù)頁(yè)之后,就可以在 RESTORE 語(yǔ)句的 PAGE 從句中指定頁(yè) ID,從而還原數(shù)據(jù)頁(yè)。從備份中還原單張頁(yè)的能力極大地縮短由于數(shù)據(jù)庫(kù)損壞導(dǎo)致的停機(jī)時(shí)間。
- 部分?jǐn)?shù)據(jù)可用性
有了“部分?jǐn)?shù)據(jù)可用性”功能,即使數(shù)據(jù)庫(kù)的一部分由于隔離硬件或磁盤(pán)故障而遭破壞,數(shù)據(jù)庫(kù)也能維持在線狀態(tài)和可用性。如果輔助的非主要數(shù)據(jù)文件損壞,則數(shù)據(jù)庫(kù)未損壞的部分仍將保持在線狀態(tài)和可用性。因此,即使整個(gè)系統(tǒng)不可用,但有些客戶和職員仍可訪問(wèn)數(shù)據(jù),這會(huì)減輕由問(wèn)題導(dǎo)致的后果,同時(shí)另一個(gè)可用性解決方案將進(jìn)入在線狀態(tài)。
- 快照隔離
在SQL Server的早期版本中修改數(shù)據(jù)時(shí),被修改的數(shù)據(jù)將處于鎖定狀態(tài),因此其他應(yīng)用程序和用戶就無(wú)法使用這些數(shù)據(jù)。替代方法是讀取數(shù)據(jù)的當(dāng)前狀態(tài)(即使這些值尚未被提交)或者當(dāng)交易未成功完成時(shí)回滾數(shù)據(jù)。
“快照隔離”功能擴(kuò)展了 SQL Server 2008 中的鎖定框架,它使應(yīng)用程序能夠在發(fā)生任何數(shù)據(jù)修改之前查看值。這可防止應(yīng)用程序被鎖定,同時(shí)仍將提供真正已提交的數(shù)據(jù)。例如,在本文開(kāi)頭介紹的玩具制造商案例中,“快照隔離”功能使報(bào)告能夠運(yùn)行,并提供精確的交易結(jié)果?!翱煺崭綦x”使報(bào)告更及時(shí)、更精確。
- 動(dòng)態(tài)配置
“動(dòng)態(tài)配置”是 SQL Server Always On 技術(shù)之一,利用該技術(shù)可以更好地訪問(wèn)硬件特性,如執(zhí)行熱升級(jí),同時(shí)系統(tǒng)仍可運(yùn)行。如果硬件支持“熱添加內(nèi)存”,則在增加系統(tǒng)內(nèi)存時(shí)就不會(huì)產(chǎn)生中斷,而且 SQL Server 將通過(guò)動(dòng)態(tài)內(nèi)存或者故障移動(dòng)群集的動(dòng)態(tài)“地址窗口化擴(kuò)展插件(AWE)”自動(dòng)使用這些內(nèi)存。
SQL Server 2008 還支持“熱添加CPU”,因此可為受支持的硬件添加處理器,而且不會(huì)使操作中斷。
對(duì)于任何需要增加處理器或內(nèi)存資源的系統(tǒng)而言,“動(dòng)態(tài)配置”功能可縮短停機(jī)時(shí)間,并提高職員工作效率和客戶滿意度。