適用于:Azure SQL數(shù)據(jù)庫Azure SQL托管實例
備注
基于vCore的購買模型中的“常規(guī)用途”服務層級在基于DTU的購買模型中稱為“標準”服務層級。有關(guān)基于vCore的購買模型與基于DTU的購買模型的比較,請參閱購買模型和資源。
Azure SQL數(shù)據(jù)庫和Azure SQL托管實例基于SQL Server數(shù)據(jù)庫引擎體系結(jié)構(gòu),該體系結(jié)構(gòu)已根據(jù)云環(huán)境做出調(diào)整,以確保即使在發(fā)生基礎(chǔ)結(jié)構(gòu)故障時,也仍能提供99.99%的可用性。
Azure SQL數(shù)據(jù)庫和SQL托管實例使用兩個服務層級:
常規(guī)用途
業(yè)務關(guān)鍵
Azure SQL數(shù)據(jù)庫還具有第三個服務層級,此服務層級當前不適用于Azure SQL托管實例:
超大規(guī)模
“常規(guī)用途”服務層級的體系結(jié)構(gòu)模型基于計算和存儲的分離。此體系結(jié)構(gòu)模型依賴于Azure Blob存儲的高可用性和可靠性,旨在以透明的方式復制數(shù)據(jù)庫文件,并確保在發(fā)生基礎(chǔ)結(jié)構(gòu)故障時不會丟失數(shù)據(jù)。
下圖顯示了計算層和存儲層已隔離的標準體系結(jié)構(gòu)模型中的四個節(jié)點。
計算和存儲隔離
“常規(guī)用途”服務層級的體系結(jié)構(gòu)模型中有兩個層:
無狀態(tài)計算層:運行sqlservr.exe進程,僅包含暫時性的緩存數(shù)據(jù)(例如-計劃緩存、緩沖池和列存儲池)。此無狀態(tài)節(jié)點由Azure Service Fabric操作。Service Fabric初始化進程、控制節(jié)點運行狀況,并根據(jù)需要執(zhí)行到另一位置的故障轉(zhuǎn)移。
有狀態(tài)數(shù)據(jù)層:包含存儲在Azure Blob存儲中的數(shù)據(jù)庫文件(.mdf/.ldf)。Azure Blob存儲保證任何數(shù)據(jù)庫文件中的任何記錄不會發(fā)生數(shù)據(jù)丟失。Azure存儲具有內(nèi)置的數(shù)據(jù)可用性/冗余,確保即使進程崩潰,也能保留日志文件中的每條記錄或者數(shù)據(jù)文件中的頁面。
每當升級數(shù)據(jù)庫引擎或操作系統(tǒng)、底層基礎(chǔ)結(jié)構(gòu)的某個部件發(fā)生故障,或者在sqlservr.exe進程中檢測到某個嚴重問題時,Azure Service Fabric會將無狀態(tài)進程移到另一個無狀態(tài)計算節(jié)點。發(fā)生主節(jié)點故障轉(zhuǎn)移時,將有一組備用節(jié)點等待運行新的計算服務,以盡量減少故障轉(zhuǎn)移時間。Azure存儲層中的數(shù)據(jù)不受影響,數(shù)據(jù)/日志文件將附加到新初始化的進程。此進程保證99.99%的可用性,但可能會對正在運行的重型工作負荷造成一定的性能影響,原因是轉(zhuǎn)換時間較長,并且新節(jié)點從冷緩存啟動。
何時選擇此服務層級
“常規(guī)用途”服務層級是Azure SQL數(shù)據(jù)庫和Azure SQL托管實例中的默認服務層級,專為大多數(shù)常規(guī)工作負載而設(shè)計。若需要SLA達99.99%且存儲延遲在5到10毫秒之間的完全托管數(shù)據(jù)庫引擎,且在大多數(shù)情況下與Azure虛擬機上的SQL Server匹配,可以選擇“常規(guī)用途”層級。
后續(xù)步驟
在SQL托管實例中查找“常規(guī)用途/標準”層級的資源特征(核心數(shù)、I/O數(shù)、內(nèi)存數(shù)),在vCore模型或DTU模型中查找單一數(shù)據(jù)庫,在vCore模型和DTU模型中查找彈性池。
了解業(yè)務關(guān)鍵和超大規(guī)模層。
了解Service Fabric。
有關(guān)高可用性和災難恢復的更多選項,請參閱業(yè)務連續(xù)性。