版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
AzureSQLDatabase
用戶手冊(cè)
版本變更:
日期版本號(hào)變更內(nèi)容作者
2016-05-101.00文檔創(chuàng)建,設(shè)置文檔目錄結(jié)構(gòu)leizha
目錄
1.前言.............................................................5
2.讀者...........................................................5
3.總體介紹.......................................................5
3.1什么是AzureSQLDatabase..........................................................................5
3.2AzureSQLDatabase與傳統(tǒng)SQLServer虛擬機(jī)的區(qū)別(非常重要)....5
3.2.1應(yīng)用遷移..............................................6
遷移現(xiàn)有應(yīng)用....................................6
遷移新的應(yīng)用....................................7
3.2.2管理成本..............................................7
管理操作系統(tǒng)....................................7
虛擬機(jī)高可用....................................7
數(shù)據(jù)庫(kù)高可用....................................7
3.224使用成本.......................................7
3.2.3擴(kuò)展..................................................8
向上擴(kuò)展........................................8
橫向擴(kuò)展........................................8
3.2.4管理平臺(tái)..............................................8
操作系統(tǒng)和虛擬機(jī)................................8
SQLServer組件兼容性.............................9
3.2.5其他內(nèi)容(非常重要).....................................9
服務(wù)級(jí)別........................................9
兼容性..........................................9
3.3AzureSQLDatabase優(yōu)勢(shì)......................................10
3.3.1降低管理成本.........................................10
3.3.2數(shù)據(jù)冗余.............................................10
3.3.3SLA服務(wù)保障..........................................10
3.3.4自動(dòng)日志備份(非常重要)................................10
3.3.5跨數(shù)據(jù)中心只讀副本...................................10
3.3.6跨數(shù)據(jù)中心故障轉(zhuǎn)移...................................11
3.3.7數(shù)據(jù)庫(kù)無(wú)縫升級(jí).......................................11
3.4AzureSQLDatabase服務(wù)層....................................11
3.4.1基本(Basic)服務(wù)層....................................12
3.4.2標(biāo)準(zhǔn)(Standard)服務(wù)層.................................12
3.4.3高級(jí)(Premium)服務(wù)層.................................12
3.5AzureSQLDatabase相關(guān)矢口識(shí)介紹..............................13
3.5.1DTU....................................................................................................13
3.5.2V12....................................................................................................13
提高了兼容性...................................14
提高了性能級(jí)別.................................14
更好的支持云SaaS供應(yīng)商.........................14
增加安全性.....................................15
建議用戶升級(jí)AzureSQLDatabaseV12...............................15
如何查看當(dāng)前的AzureSQLDatabase版本.............15
3.6使用AzureSQLDatabase注意事項(xiàng)(非常重要)...................16
3.6.1數(shù)據(jù)庫(kù)最大容量.......................................16
3.6.2減少并發(fā)請(qǐng)求.........................................16
3.6.3數(shù)據(jù)庫(kù)切片...........................................17
3.6.4單個(gè)DatabaseServer限制了最大DTU..........................................19
3.6.5單個(gè)DatabaseServer最多5000個(gè)Database.................................19
3.6.6數(shù)據(jù)庫(kù)備份...........................................20
3.7AzureSQLDatabase的限制....................................20
3.7.1默認(rèn)時(shí)區(qū)為UTC時(shí)區(qū)...................................20
3.7.2暫時(shí)不支持SQLAgent.....................................................................20
3.7.3其他限制.............................................20
3.8價(jià)格......................................................21
4.開(kāi)始使用AzureSQLDatabase.............................................................................21
4.1倉(cāng)1J建AzureSQLDatabaseServer.................................................................21
4.2創(chuàng)建AzureSQLDatabase............................................................................23
4.3連接AzureSQLDatabase(非常重要).............................25
4.4加密連接..................................................28
4.5開(kāi)始使用..................................................30
4.5.1查看數(shù)據(jù)庫(kù)版本.......................................30
4.5.2查看數(shù)據(jù)庫(kù)時(shí)間.......................................31
4.5.3Unicode.............................................................................................31
4.6將SQLServerVM遷移到AzureSQLDatabase..........................................32
4.6.1注意事項(xiàng).............................................32
4.6.2SSDT..................................................................................................33
4.6.3ExportDataTierApplication.............................................................44
注意事項(xiàng).......................................44
463.2前提要求.......................................45
4.6.3.3詳細(xì)內(nèi)容.....................................45
4.6.4SQLAzureMigrationWizard............................................................49
4.6.5其他遷移工具.........................................49
4.7使用外部表進(jìn)行跨庫(kù)查詢....................................50
4.8監(jiān)控......................................................50
4.9切換數(shù)據(jù)庫(kù)服務(wù)層和性能級(jí)別................................53
4.9.1注意事項(xiàng).............................................53
4.9.2切換前的評(píng)估.........................................54
4.9.3開(kāi)始切換.............................................54
4.10跨數(shù)據(jù)中心標(biāo)準(zhǔn)地域復(fù)制(StandardGeo-Replication)............................56
4.10.1說(shuō)明................................................56
4.10.2演示................................................57
L前言
個(gè)人分享,僅作為參考資料,非官方解答。
Dem。不給力?請(qǐng)?jiān)L問(wèn)我的個(gè)人博客
http:〃blogs.eom/threestone/archive/2012/01/06/2382322.html
2.讀者
WindowsAzure是平臺(tái)產(chǎn)品,本文只詳細(xì)介紹如何創(chuàng)建和管理AzureSQL
Databaseo本文適合開(kāi)發(fā)人員閱讀。
另外本文會(huì)牽涉到部分Azure訂閱相關(guān)內(nèi)容,請(qǐng)讀者先閱讀《Azure管理手
冊(cè)》。http:〃blogs.eom/threestone/p/4627388.html
3.總體介紹
3.1什么是AzureSQLDatabase
在傳統(tǒng)IDC環(huán)境里,我們?nèi)绻褂肧QLServer數(shù)據(jù)庫(kù)服務(wù),需要首先安裝
操作系統(tǒng),然后再安裝和配置SQLServer服務(wù)。這樣需要管理的組件有:
1.WindowsServer操作系統(tǒng)
2.SQLServer數(shù)據(jù)庫(kù)服務(wù)
這樣管理的時(shí)候,不僅需要維護(hù)數(shù)據(jù)庫(kù),還要維護(hù)數(shù)據(jù)庫(kù)底層的操作系統(tǒng),
運(yùn)行時(shí)等。管理復(fù)雜,管理成本比較高。
微軟提供數(shù)據(jù)庫(kù)及服務(wù)(Database-as-a-Service),包括AzureSQLDatabase和
MySQLDatabaseonAzure0提供給用戶的是一個(gè)數(shù)據(jù)庫(kù)連接字符串。注意:這個(gè)
數(shù)據(jù)庫(kù)連接字符串后面的操作系統(tǒng)等,無(wú)需用戶自己管理。
而且這個(gè)數(shù)據(jù)庫(kù)連接字符串背后的數(shù)據(jù)庫(kù)服務(wù),本身就提供了99.99%SLA,
提供了數(shù)據(jù)庫(kù)備份功能,降低了用戶管理數(shù)據(jù)庫(kù)的成本。
注意:AzureSQLDatabase之前命名為SQLAzure,為了描述方便,筆者可能
會(huì)用SQLAzure字眼,其實(shí)是和AzureSQLDatabase是一個(gè)產(chǎn)品,請(qǐng)讀者注意。
3.2AzureSQLDatabase與傳統(tǒng)SQLServer虛擬機(jī)的區(qū)別
(非常重要)
AzureSQLDatabase與傳統(tǒng)的SQLServer2008,2012,2014虛擬機(jī)還是有一點(diǎn)
的區(qū)別,主要有以下幾方面區(qū)別:
內(nèi)容SQLServer虛擬機(jī)AzureSQLDatabase
應(yīng)用遷移
遷移現(xiàn)有應(yīng)用快速中等
遷移新的應(yīng)用中等快速
管理成本
管理操作系統(tǒng)是否
虛擬機(jī)高可用需要手工設(shè)置N/A
數(shù)據(jù)庫(kù)高可用需要手工設(shè)置(比如SQL99.99%SLA
ServerAlways-On,SQL
Serverreplication等)
使用成本中等低
擴(kuò)展(Scale)
向上擴(kuò)展(Scale-Up)D14(16Core/112G)P11
橫向擴(kuò)展(Scale-Out)需要手工設(shè)置(比如SQL需要用戶自己設(shè)計(jì)
ServerAlways-On,SQLScale-Out
Serverreplication等)
數(shù)據(jù)庫(kù)最大容量32TB(D1416Core/1TB
112G)
管理平臺(tái)
操作系統(tǒng)和虛擬機(jī)用戶完全控制N/A
SQLServer組件兼容性對(duì)SQLServer產(chǎn)品全部只提供數(shù)據(jù)庫(kù)引擎
支持,包括SSIS,SSAS,
SSRS
其他
服務(wù)級(jí)別服務(wù)器,實(shí)例,數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)
兼容性完全兼容部分兼容
參考資料:
https:〃/cn-us/blog/dKti-series-sql-server-in-windows-azur
e-virtual-machine-vs-sql-database/
/cn-us/documentntion/articles/data-management-
azure-sql-database-and-sql-server-iaas/
3.2.1應(yīng)用遷移
遷移現(xiàn)有應(yīng)用
因?yàn)镾QLServer虛擬機(jī)完全兼容SQLServer2008,2012和2014,所以從遷移
現(xiàn)有應(yīng)用來(lái)說(shuō),使用SQLServer虛擬機(jī)是最快速的。
遷移新的應(yīng)用
如果我們要遷移一個(gè)新的應(yīng)用程序,使用SQLServer虛擬機(jī)需要安裝操作系
統(tǒng),配置數(shù)據(jù)庫(kù)用戶名密碼,配置防火墻規(guī)則等,操作起來(lái)非常復(fù)雜。
而使用AzureSQLDatabase以后,我們?cè)趧?chuàng)建數(shù)據(jù)庫(kù)的時(shí)候只需要做若干配
置,就可以直接使用這個(gè)數(shù)據(jù)庫(kù)服務(wù)了。底層的數(shù)據(jù)庫(kù)備份、高可用設(shè)計(jì),Azure
SQLDatabase都已經(jīng)幫我們配置好了,用戶不需要再進(jìn)行其他配置。
3.2.2管理成本
管理操作系統(tǒng)
在Azure環(huán)境下,采用SQLServer虛擬機(jī),需要同時(shí)管理操作系統(tǒng)和SQL
Server數(shù)據(jù)庫(kù)服務(wù)。
而采用AzureSQLDatabase,提供給用戶的只是一個(gè)數(shù)據(jù)庫(kù)連接字符串,用
戶無(wú)需管理該數(shù)據(jù)連接字符串背后的操作系統(tǒng)、數(shù)據(jù)庫(kù)服務(wù)等。
虛擬機(jī)高可用
在Azure環(huán)境下,采用SQLServer虛擬機(jī),用戶需要手動(dòng)設(shè)置虛擬機(jī)的高可
用,即將2臺(tái)或者2臺(tái)以上的虛擬機(jī),部署到同一個(gè)可用性集中。
而采用AzureSQLDatabase,用戶無(wú)需關(guān)心虛擬機(jī)的高可用。
數(shù)據(jù)庫(kù)高可用
在Agre環(huán)境下,采用SQLServer虛擬機(jī),用戶需要手動(dòng)設(shè)置數(shù)據(jù)庫(kù)的高可
用。比如采用SQLServerAlways-On,或者SQLServerreplication。即讓SQLServer
事務(wù)在兩個(gè)SQLServer虛擬機(jī)之間保持同步。
采用AzureSQLDatabase,數(shù)據(jù)庫(kù)本身就提供高可用的能力。AzureSQL
Database提供99.99%SLA服務(wù)承諾。
使用成本
在Azure環(huán)境下,采用SQLServer虛擬機(jī),考慮的成本主要有:
1.至少2臺(tái)SQLServer虛擬機(jī),并設(shè)置在同一個(gè)高可用性集下
2.虛擬機(jī)開(kāi)機(jī)時(shí)的計(jì)算成本
3.SQLServerLicense費(fèi)用
4.虛擬機(jī)磁盤(pán)的存儲(chǔ)費(fèi)用
我們?cè)谑褂肧QLServer虛擬機(jī)成本,需要綜合考慮上述四個(gè)成本因素。
采用AzureSQLDatabase,我們不需要考慮上述的四個(gè)成本因素。只需要為
AzureSQLDatabase的實(shí)際使用量來(lái)付費(fèi)就可以了。從成本上來(lái)說(shuō),使用AzureSQL
Database相比SQLServer虛擬機(jī),價(jià)格要便宜。
3.2.3擴(kuò)展
3.2.3.1向上擴(kuò)展
所謂向上擴(kuò)展,就是一臺(tái)虛擬機(jī),從1個(gè)核心(Core),升級(jí)到2core,4Core,
或者是
8Core16Coreo
單個(gè)節(jié)點(diǎn)向上擴(kuò)展是有限的,這是因?yàn)槭芟抻诂F(xiàn)有的CPU制造技術(shù),我們
無(wú)法將大量的計(jì)算資源都堆積到1臺(tái)300Core甚至400Core的計(jì)算節(jié)點(diǎn)上。
在Azure環(huán)境下,采用SQLServer虛擬機(jī),單個(gè)節(jié)點(diǎn)的最大計(jì)算單元為
D14(16Core/112GB)(或者是DS14,也是16Core/112GB,區(qū)別是DS14支持SSD
固態(tài)磁盤(pán))。
采用AzureSQLDatabase,因?yàn)椴淮嬖谔摂M機(jī)的概念,所以無(wú)法把虛擬機(jī)配
置進(jìn)行升級(jí)。但是AzureSQLDatabase有一個(gè)DTU的概念(筆者在下面幾章會(huì)進(jìn)
行詳細(xì)說(shuō)明)。如果我們要提高AzureSQLDatabase的性能,可以對(duì)DTU進(jìn)行升
級(jí)。
323.2橫向擴(kuò)展
所謂橫向擴(kuò)展,就是由1個(gè)計(jì)算節(jié)點(diǎn),橫向擴(kuò)展到多個(gè)計(jì)算節(jié)點(diǎn)上并行計(jì)算,
比如50個(gè)、100個(gè)計(jì)算節(jié)點(diǎn)。比如一個(gè)互聯(lián)網(wǎng)業(yè)務(wù)需要大量的計(jì)算資源,那可
以將這些計(jì)算需求由100臺(tái)4Core的計(jì)算節(jié)點(diǎn)進(jìn)行并行計(jì)算。
在Azure環(huán)境下,采用SQLServer虛擬機(jī),我們可以使用SQLServerAlways-On
或SQLServerReplication等技術(shù),實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)的讀寫(xiě)分離和橫向擴(kuò)展能力。
采用AzureSQLDatabase,需要用戶自己設(shè)計(jì)Scale-Outo比如我們可以把數(shù)
據(jù)庫(kù)進(jìn)行切片,分散到若干個(gè)AzureSQLDatabase里。筆者在下面幾章會(huì)進(jìn)行詳
細(xì)說(shuō)明。
3.2.4管理平臺(tái)
操作系統(tǒng)和虛擬機(jī)
在Azure環(huán)境下,采用SQLServer虛擬機(jī),用戶可以通過(guò)遠(yuǎn)程桌面連接,管
理虛擬機(jī)和操作系統(tǒng)。
采用AzureSQLDatabase,用戶不需要管理后臺(tái)的虛擬機(jī)和操作系統(tǒng)。
SQLServer組件兼容性
在Azure環(huán)境下,采用SQLServer虛擬機(jī),用戶可以安裝和配置SQLServer
全線產(chǎn)品,包括SQLServerDataEngine,SQLServerIntegrationService(SSIS),SQL
ServerAnalysisService(SSAS),SQLServerReportingService(SSRS)O
采用AzureSQLDatabase,用戶只能使用數(shù)據(jù)庫(kù)引擎服務(wù),不包含SSIS,SSAS,
SSRS等服務(wù)。
3.2.5其他內(nèi)容(非常重要)
服務(wù)級(jí)別
在Azure環(huán)境下,采用SQLServer虛擬機(jī),我們有三個(gè)非常重要的概念
1.服務(wù)器(Server),定義了SQLServer主機(jī)
2.實(shí)例(Instance),一個(gè)SQLServer主機(jī)下可以有多個(gè)實(shí)例(instance)
3.數(shù)據(jù)庫(kù)(Database),一個(gè)SQLServerInstance下可以有多個(gè)SQLServer數(shù)
據(jù)庫(kù).
以上三點(diǎn),都是我們?cè)谑褂肧QLServer虛擬機(jī)需要注意的內(nèi)容。
采用AzureSQLDatabase,用戶只需要關(guān)心數(shù)據(jù)庫(kù)(Database),不需要關(guān)心服
務(wù)器(Server)和實(shí)例(Instance)。請(qǐng)注意:
(1)AzureSQLDatabase中的服務(wù)器,是虛擬的。我們可以在同一個(gè)服務(wù)器
下,創(chuàng)建若干個(gè)數(shù)據(jù)庫(kù)。這若干個(gè)數(shù)據(jù)庫(kù)之間是資源隔離的,并不會(huì)產(chǎn)
生資源競(jìng)爭(zhēng)。
(2)AzureSQLDatabase,不存在實(shí)例(Instance)這個(gè)概念
(3)用戶只需要關(guān)心數(shù)據(jù)庫(kù)(Database)
兼容性
在Azure環(huán)境下,采用SQLServer虛擬機(jī),數(shù)據(jù)庫(kù)引擎是與傳統(tǒng)的SQLServer
2008,2012,2014是完全兼容的。所以我們?cè)谶w移傳統(tǒng)的SQLServer應(yīng)用,使用
SQLServer虛擬機(jī)是最快速、最便捷的。
AzureSQLDatabase是SQLServer2014的子集,兼容大部分的SQLServer引
擎服務(wù),但是有部分功能不支持。所以我們?cè)趯鹘y(tǒng)SQLServer應(yīng)用遷移到Azure
SQLDatabase的時(shí)候,需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化。
3.3AzureSQLDatabase優(yōu)勢(shì)
3.3.1降低管理成本
因?yàn)椴淮嬖赟QLServer虛擬機(jī),所以虛擬機(jī)的操作系統(tǒng)升級(jí)、補(bǔ)丁,數(shù)據(jù)庫(kù)
備份等管理都不需要用戶進(jìn)行操作。降低了管理成本。
3.3.2數(shù)據(jù)冗余
采用AzureSQLDatabase,數(shù)據(jù)文件在底層是做了三重冗余的。事務(wù)在這三
重冗余是保持同步的。
3.3.3SLA服務(wù)保障
采用AzureSQLDatabase,數(shù)據(jù)庫(kù)本身就提供高可用的能力。AzureSQL
Database提供99.99%SLA服務(wù)承諾。
3.3.4自動(dòng)日志備份(非常重要)
采用AzureSQLDatabase,數(shù)據(jù)庫(kù)本身都提供自動(dòng)日志備份的功能。
AzureSQLDatabase提供自動(dòng)備份,每周一次全備份,每天一次差異備份,
每5分鐘—次日志備份(Fullbackupsaretakeneveryweek,differentialbackups
everyday,andlogbackupsevery5minutes)
1,對(duì)于基本(Basic)服務(wù)層的AzureSQLDatabase,備份自動(dòng)保留7天。Basic
服務(wù)層的AzureSQLDatabase可以回滾到當(dāng)前時(shí)間之前的任意7天內(nèi)的
時(shí)間點(diǎn)。
2.對(duì)于標(biāo)準(zhǔn)(Standard)服務(wù)層的AzureSQLDatabase,備份自動(dòng)保留14天。
Standard服務(wù)層的AzureSQLDatabase可以回滾到當(dāng)前時(shí)間之前的任意
14天內(nèi)的時(shí)間點(diǎn)。
3.對(duì)于高級(jí)(Premium)服務(wù)層的AzureSQLDatabase,備份自動(dòng)保留35天。
Premium服務(wù)層的AzureSQLDatabase可以回滾到當(dāng)前時(shí)間之前的任意
14天內(nèi)的時(shí)間點(diǎn)。
AzureSQLDatabase在第一次創(chuàng)建完成后,系統(tǒng)自動(dòng)會(huì)進(jìn)行一次全備份。
參考資料:
/en-us/blog/azure-sql-database-point-in-time-restore/
3.3.5跨數(shù)據(jù)中心只讀副本
微軟在國(guó)內(nèi)的數(shù)據(jù)中心建設(shè)是成對(duì)的,比如Azure北京數(shù)據(jù)中心和Azure上
海數(shù)據(jù)中心。這是因?yàn)槲④洺浞挚紤]了異地容災(zāi)的能力。在北京和上海數(shù)據(jù)中心
之間會(huì)有專(zhuān)線連接,這個(gè)專(zhuān)線是數(shù)據(jù)中心之間數(shù)據(jù)同步專(zhuān)用的。
最新的AzureSQLDatabase,同時(shí)支持Basic,Standard和Premium級(jí)別,都
可以創(chuàng)建跨數(shù)據(jù)中心標(biāo)準(zhǔn)地域復(fù)制(StandardGeo-Replication),最多支持4個(gè)只讀
副本。
這樣,可以在Azure北京數(shù)據(jù)中心作為主站點(diǎn),Azure上海數(shù)據(jù)中心作為只
讀站點(diǎn)。實(shí)現(xiàn)跨數(shù)據(jù)中心的讀寫(xiě)分離。
3.3.6跨數(shù)據(jù)中心故障轉(zhuǎn)移
當(dāng)我們AzureSQLDatabase主站點(diǎn)在Azure上海數(shù)據(jù)中心,只讀站點(diǎn)在Azure
北京數(shù)據(jù)中心。當(dāng)上海數(shù)據(jù)中心發(fā)生故障的時(shí)候,我們可以手動(dòng)Failover,將原
來(lái)的主站點(diǎn)(上海)和只讀站點(diǎn)(北京)做切換。即Azure北京數(shù)據(jù)中心作為主站點(diǎn),
Azure上海數(shù)據(jù)中心作為只讀站點(diǎn)。這樣保證我們的業(yè)務(wù)不會(huì)因?yàn)樯虾?shù)據(jù)中心
發(fā)生故障,造成業(yè)務(wù)宕機(jī)。
3.3.7數(shù)據(jù)庫(kù)無(wú)縫升級(jí)
AzureSQLDatabase支持無(wú)縫升級(jí)。
AzureSQLDatabase有一個(gè)性能指標(biāo),叫做DTU。有關(guān)DTU的詳細(xì)信息,請(qǐng)
參考DTU章節(jié)。
我們?cè)谏暇€一個(gè)新項(xiàng)目,在開(kāi)發(fā)測(cè)試的時(shí)候,可以設(shè)置比較小的DTU,比如
Basic服務(wù)層。因?yàn)殚_(kāi)發(fā)測(cè)試用戶訪問(wèn)量不大,使用Basic服務(wù)層的也比較節(jié)省成
本。
在項(xiàng)目上線之前,我們可以通過(guò)Azure管理界面,將AzureSQLDatabase升
級(jí)到Standard或者是Premium。因?yàn)樯a(chǎn)環(huán)境,對(duì)于DTU的要求會(huì)比較高。
請(qǐng)注意,我們通過(guò)Azure管理界面對(duì)AzureSQLDatabase進(jìn)行升級(jí)的時(shí)候,
服務(wù)不會(huì)宕機(jī)或者重啟,整個(gè)升級(jí)過(guò)程對(duì)客戶端是透明的。
3.4AzureSQLDatabase月艮務(wù)層
AzureSQLDatabase服務(wù)層分為三種Basic,Standard和Premium。具體請(qǐng)參考
下面的表格:
Standarc1Premium
Basic
soS2S3PlP2P4|P6/P3Pll
DTUs51020501001252505001,0001,750
Maxstorage(GB)22505001,000
MaxIn-memoryOLTPstorage(GB)N/AN/AN/AN/AN/A124814
Maxconcurrentworkers3060901202002004008001,6002z400
Maxconcurrentlogins3060901202002004008001,6002,400
Maxconcurrentsessions3006009001,2002,4002,4004,8009,60019,20032,000
Point-in-timerestoreAnypointlast7daysAnypointlast14daysAnypointlast35days
DisasterrecoveryActiveGeo-Replication,upto4readablesecondarybackups
1.Basic只有一種性能級(jí)別
2.Standard分為三種性能級(jí)別:SO,SI,S2,S3
3.Premium分為五種性能級(jí)別:Pl,P2,P4,P6,P11
參考資料:
/zh-cn/documentation/articles/sql-database-service-tier
s/?rnd=l
3.4.1基本(Basic)服務(wù)層
1.Basic服務(wù)層,DTU為5
2.數(shù)據(jù)庫(kù)最大容量為2GB,只包含數(shù)據(jù)庫(kù)文件,不包含日志文件
3.Maxconcurrentworkers為30
4.Maxconcurrentlogins為30
5.Maxcurrentsessions為300
6.備份自動(dòng)保留7天。Basic服務(wù)層的AzureSQLDatabase可以回滾到當(dāng)前
時(shí)間之前的任意7天內(nèi)的時(shí)間點(diǎn)。
7.AzureSQLDatabase提供自動(dòng)備份,每周一次全備份,每天一次差異備
份,每5分鐘一次日志備份
3.4.2標(biāo)準(zhǔn)(Standard)服務(wù)層
1.Standard服務(wù)層,分為四個(gè)不同的性能級(jí)別,SO,SI,S2,S3
2.數(shù)據(jù)庫(kù)最大容量為250GB,只包含數(shù)據(jù)庫(kù)文件,不包含日志文件
3.Maxconcurrentworkers根據(jù)不同的性能級(jí)別,為60,90,120,200
4.Maxconcurrentlogins根據(jù)不同的性能級(jí)別,為60,90,120,200
5.Maxcurrentsessions根據(jù)不同的性能級(jí)別,為600,900,1200,2400
6.備份自動(dòng)保留14天。Standard服務(wù)層的AzureSQLDatabase可以回滾到
當(dāng)前時(shí)間之前的任意14天內(nèi)的時(shí)間點(diǎn)。
7.AzureSQLDatabase提供自動(dòng)備份,每周一次全備份,每天一次差異備
份,每5分鐘一次日志備份
3.4.3高級(jí)(Premium)服務(wù)層
1.Premium服務(wù)層,分為五個(gè)不同的性能級(jí)別,Pl,P2,P4,P6,P11
2.P1-P6數(shù)據(jù)庫(kù)最大容量為500G,只包含數(shù)據(jù)庫(kù)文件,不包含日志文件
3.P11數(shù)據(jù)庫(kù)最大容量為1TB
4.Maxconcurrentworkers根據(jù)不同的性能級(jí)別,提供不同的性能指標(biāo)
5.Maxconcurrentlogins根據(jù)不同的性能級(jí)別,提供不同的性能指標(biāo)
6.Maxconcurrentsessions根據(jù)不同的性能級(jí)別,提供不同的性能指標(biāo)
7.備份自動(dòng)保留35天。Premium服務(wù)層的AzureSQLDatabase可以回滾到
當(dāng)前時(shí)間之前的任意35天內(nèi)的時(shí)間點(diǎn)。
8.AzureSQLDatabase提供自動(dòng)備份,每周一次全備份,每天一次差異備
份,每5分鐘一次日志備份
3.5AzureSQLDatabase相關(guān)知識(shí)介紹
3.5.1DTU
14AzureSQLDatabaseM,有一個(gè)非常重要的性能指標(biāo),叫做DTU。
TheDatabaseTransactionUnit(DTU)istheunitofmeasureinSQLDatabase
thatrepresentstherelativepowerofdatabasesbasedonareal-worldmeasure:the
databasetransaction.Wetookasetofoperationsthataretypicalforanonline
transactionprocessing(OLTP)request,andthenmeasuredhowmanytransactions
couldbecompletedpersecondunderfullyloadedconditions(that'stheshort
version,youcanreadthegorydetailsintheBenchmarkoverview).
參考資料:
/zh-cn/documentation/articles/sql-database-service
-tiers/?rnd=l#understanding-dtus
簡(jiǎn)單理解DTU,就是DTU數(shù)值越大,則該SQLAzureDatabase性能越好。所
以Premium級(jí)別的SQLAzureDatabase性能最好,Standard其次,最后才是Basic。
舉個(gè)例子,我們?cè)?.4節(jié)中可以觀察到,Basic的DTU為5,而StandardS3
的DTU為100o則StandardS3的數(shù)據(jù)庫(kù)性能比Basic的性能高20倍。
以筆者個(gè)人經(jīng)驗(yàn)來(lái)說(shuō),Basic服務(wù)層比較適合于開(kāi)發(fā)測(cè)試,或者并發(fā)性能比
較小的情況。
Standard服務(wù)層,比較適合于一般的業(yè)務(wù)場(chǎng)景。
Premium服務(wù)層,比較適合并發(fā)請(qǐng)求比較大的情況。
以筆者之前的項(xiàng)目經(jīng)驗(yàn)來(lái)看,PremiumP2級(jí)別的SQLAzureDatabase,性能
要略好于2臺(tái)A7(8Core/56GB)SQLVM設(shè)置Always-On0
IfyouaremigratinganexistingSQLServerdatabase,youcanuseathird-party
tool,theAzureSQLDatabaseDTUCalculator,togetanestimateoftheperformance
levelandservicetieryourdatabasemightrequireinAzureSQLDatabase.
如果我們是把現(xiàn)有的SQLServerVM數(shù)據(jù)庫(kù)遷移到SQLAzure平臺(tái),我們可
以采用AzureSQLDatabaseDTUCalculator,運(yùn)行AzurePowerShell收集性能計(jì)數(shù)
器,然后上傳到AzureSQLDatabaseDTUCalculator,進(jìn)行計(jì)算和評(píng)估。
3.5.2V12
參考資料:
/zh-cn/documentation/articles/sql-database-vl2-w
hats-new/
在里,有一個(gè)非常重要的特性叫做
AzureSQLDatabaseSQLDatabaseV12o
我們?cè)趧?chuàng)建新的AzureSQLDatabase數(shù)據(jù)庫(kù)的時(shí)候,會(huì)提示用戶是否需要?jiǎng)?chuàng)
建AzureSQLDatabaseV12版本,相比之前的VII版本,V12版本的優(yōu)勢(shì)有以下
幾點(diǎn):
352.1提高了兼容性
我們?cè)诠?jié)中介紹過(guò)了,AzureSQLDatabase是SQLServer2014的子
集,兼容大部分的SQLServer引擎服務(wù)。使用AzureSQLDatabaseV12版本,兼
容以下SQLServer特性:
1.Built-inJSONsupport
2.Windowfunctions,withOVER
3.XMLindexesandselectiveXMLindexes
4.Changetracking
5.SELECT…INTO
6.Full-textsearch
7.ALTERDATABASESCOPEDCONFIGURATION(Transact-SQL)
有關(guān)AzureSQLDatabase不兼容的內(nèi)容,請(qǐng)參考以下鏈接:
/zh-cn/documentntion/articles/sql-database-transa
ct-sql-information/
3.522提高了性能級(jí)別
在V12版本里,AzureSQLDatabase所有級(jí)別(基本Basic,標(biāo)準(zhǔn)Standard,高
級(jí)Premium)的DTU性能都提高了25%,且不會(huì)增加任何成本。除此以外,V12
還有其他新的特性,包括:
1.支持列存儲(chǔ)索引
2.支持對(duì)已經(jīng)進(jìn)行表分區(qū)的數(shù)據(jù),進(jìn)行truncate操作
TablepartitioningbyrowswithrelatedenhancementstoTRUNCATETABLE.
3.支持動(dòng)態(tài)管理視圖(DynamicManagementViews,DMVs),監(jiān)控和調(diào)試數(shù)據(jù)
庫(kù)性能
更好的支持云SaaS供應(yīng)商
在V12版本里,新增了標(biāo)準(zhǔn)(Standard)級(jí)別的S3,并且提供了動(dòng)態(tài)數(shù)據(jù)庫(kù)池
(ElasticDatabasePools),使用ElasticDatabasePool,你可以
1.若干多個(gè)AzureSQLDatabase,共享DTU,以降低使用成本
2.使用ElasticDatabaseJobs,管理數(shù)據(jù)庫(kù)
增加安全性
在V12版本里,支持以下安全特性:
1.Row-levelsecurit、(RLS)
2.DynamicDat〉Masking
3.Containeddatabases
4.ApplicationrolesmanagedwithGRANT;DENYREVOKE
5.TransparentDataEncryption(TDE)
6.ConnectingtoSQLDatabaseByUsingAzureActiveDirectoryAuthentication
SQLDatabasenowsupportsAzureActiveDirectoryauthentication,a
mechanismofconnectingtoSQLDatabasebyusingidentitiesinAzure
ActiveDirectory(AzureAD).WithAzureActiveDirectoryauthenticationyou
cancentrallymanagetheidentitiesofdatabaseusersandotherMicrosoft
servicesinonecentrallocation.
7.AlwaysEncrypted(inpreview)makesencryptiontransparenttoapplications
andallowsclientstoencryptsensitivedatainsideclientapplications
withoutsharingtheencryptionkeyswithSQLDatabase.
建議用戶升級(jí)AzureSQLDatabaseV12
1.AzureSQLDatabaseV12支持的特性比Vil更多
2.對(duì)于V12,微軟會(huì)持續(xù)增加新的特性
3.很多其他新的特性,會(huì)先增力口至UAzureSQLDatabaseV12,然后再增加到
MicrosoftSQLServer
如何查看當(dāng)前的AzureSQLDatabase版本
1.登陸Azure管理界面
2.查看AzureSQLDatabase的圖標(biāo)
3.如果顯示的是,則當(dāng)前的數(shù)據(jù)庫(kù)版本是V12
SQL
4.如果顯示的是,則當(dāng)前的數(shù)據(jù)庫(kù)版本是老的版本
5.另外一種方法是,我們連接到AzureSQLDatabase以后,可以執(zhí)行SELECT
@@version,來(lái)查看當(dāng)前的數(shù)據(jù)庫(kù)版本
6.如果顯示的是12.0.2000.10,則當(dāng)前版本是V12
7.如果顯示的是11.0.9228.18,則當(dāng)前版本是VII
請(qǐng)注意,V12數(shù)據(jù)庫(kù),只能托管在V12服務(wù)器(注意,AzureSQLDatabase中
的服務(wù)器,是虛擬的)上。并且V12服務(wù)器,只能托管V12數(shù)據(jù)庫(kù)。
如果你的AzureSQLDatabase不是V12版本,我們還需要把當(dāng)前數(shù)據(jù)庫(kù)所在
的服務(wù)器(注意,AzureSQLDatabase中的服務(wù)器,是虛擬的),升級(jí)到V12版本。
有關(guān)升級(jí)的步驟,請(qǐng)參考這里。
3.6使用AzureSQLDatabase注意事項(xiàng)(非常重要)
3.6.1數(shù)據(jù)庫(kù)最大容量
我們?cè)?.4節(jié)中可以觀察到,AzureSQLDatabase限制了數(shù)據(jù)庫(kù)最大容量:
1.Basic服務(wù)層,最大容量為2GB
2.Standard服務(wù)層,最大容量為250G
3.Premium服務(wù)層,Pl-P6數(shù)據(jù)庫(kù)最大容量為500G
4.Premium服務(wù)層,P11數(shù)據(jù)庫(kù)最大容量為1TB
3.6.2減少并發(fā)請(qǐng)求
我們?cè)?.4節(jié)中可以觀察到,AzureSQLDatabase不僅僅限制了數(shù)據(jù)庫(kù)的最
大容量,而且限制了Maxconcurrentworkers,Maxconcurrentlogins,Max
concurrentsessionso如下表所示:
Standarc1Premium
■籌URoe3ilrJ
soS2S3PlP2P4P6/P3Pll
DTUs51020501001252505001,0001,750
Maxstorage(GB)22505001,000
MaxIn-memoryOLTPstorage(GB)N/AN/AN/AN/AN/A124814
Maxconcurrentworkers3060901202002004008001,6002,400
Maxconcurrentlogins3060901202002004008001,6002,400
Maxconcurrentsessions3006009001,2002,4002,4004,8009,60019,20032,000
Point-in-timerestoreAnypointlast7daysAnypointlast14daysAnypointlast35days
DisasterrecoveryActiveGeo-Replication,upto4readablesecondarybackups
上圖中,我們可以以StandardS3為例。
1.MaxconcurrentWorkers為200
2.MaxconcurrentLogins為200
3.Maxconcurrentsessions為2400
當(dāng)我們使用VisualStudioTestAgent或者LoadRunner等壓力測(cè)試軟件,對(duì)
AzureSQLDatabase進(jìn)行壓力測(cè)試的時(shí)候,如果并發(fā)數(shù)小于等于200的時(shí)候,Azure
SQLDatabase是正常提供服務(wù)的。
但是如果我們把并發(fā)用戶數(shù)大于200,在進(jìn)行壓力測(cè)試的時(shí)候]就會(huì)產(chǎn)生
ServerError500錯(cuò)誤。因?yàn)锳zureSQLDatabase對(duì)Maxconcurrent進(jìn)行了限制。
結(jié)合到業(yè)務(wù)場(chǎng)景中,我們要減少業(yè)務(wù)系統(tǒng)對(duì)AzureSQLDatabase的并發(fā)。舉
個(gè)例子,某個(gè)企業(yè)在線培訓(xùn)系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)采用AzureSQLDatabase,在選擇
AzureSQLDatabase服務(wù)層的時(shí)候,我們需要考慮以下幾點(diǎn):
1.MaxStorage,只包含數(shù)據(jù)庫(kù)文件,不包含日志文件
2.DTU
3.MaxconcurrentWorkers
4.MaxconcurrentLogins
5.Maxconcurrentsessions
當(dāng)業(yè)務(wù)高峰的時(shí)候,最大并發(fā)請(qǐng)求為400。從上表中我們發(fā)現(xiàn),至少需要選
擇Premium級(jí)別的P2(MaxconcurrentWorker和MaxconcurrentLogins都是400),
這樣才能滿足數(shù)據(jù)庫(kù)的最大并發(fā)請(qǐng)求。
或者我們換一種思路,可以把經(jīng)常需要查詢的內(nèi)容,保存到緩存中(比如保
存到AzureRedisCache緩存中),以降低對(duì)于AzureSQLDatabase的并發(fā)請(qǐng)求。
參考資料:
/cn-us/documentntion/articles/sql-database-resour
ce-limits/
3.6.3數(shù)據(jù)庫(kù)切片
筆者在平時(shí)的項(xiàng)目經(jīng)驗(yàn)中,看過(guò)很多大型的業(yè)務(wù)系統(tǒng),采用單一AzureSQL
Database數(shù)據(jù)庫(kù),遇到各種各樣的問(wèn)題。我們舉一個(gè)設(shè)計(jì)差的案例:
1.A用戶的業(yè)務(wù)系統(tǒng),數(shù)據(jù)庫(kù)采用AzureSQLDatabase,保存全國(guó)用戶的信
息數(shù)據(jù)。
2.該業(yè)務(wù)系統(tǒng),每個(gè)月的數(shù)據(jù)庫(kù)容量增長(zhǎng)40G
3.該業(yè)務(wù)系統(tǒng),最大的并發(fā)請(qǐng)求為1000
4.對(duì)DTU的需求也非常大
針對(duì)上述的現(xiàn)狀,客戶在選擇單一的AzureSQLDatabase數(shù)據(jù)庫(kù),只能選擇
Premium級(jí)別的P6(Maxconcurrent為1600),價(jià)格會(huì)比較貴。
而且考慮到業(yè)務(wù)是逐漸增長(zhǎng)的,在后期還可能將數(shù)據(jù)庫(kù)升級(jí)到最高級(jí)別的
Pllo如果業(yè)務(wù)需求再增加的話,可能P11級(jí)別的數(shù)據(jù)庫(kù)也無(wú)法滿足業(yè)務(wù)壓力。
請(qǐng)大家牢記,單個(gè)節(jié)點(diǎn)向上擴(kuò)展是有限的。
所以我們可以發(fā)現(xiàn),當(dāng)我們把所有的業(yè)務(wù)數(shù)據(jù),都保存到一個(gè)數(shù)據(jù)庫(kù)中,這
個(gè)數(shù)據(jù)庫(kù)就會(huì)產(chǎn)生性能瓶頸。如下圖:
數(shù)據(jù)庫(kù)切片
IDepartmentFirstNameLastNameRegion
ITJackZhangBeijing
MarketingM汰eWangBeijing
ITJaneLiShanghai
SalesPeterZhaoShanghai
Other
■問(wèn)題:?jiǎn)蝹€(gè)數(shù)據(jù)庫(kù)會(huì)產(chǎn)生性能瓶頸
所以我們可以把數(shù)據(jù)表進(jìn)行切片,下面介紹的是橫向切片(Horizontal
partitioning)o有關(guān)數(shù)據(jù)表切片,請(qǐng)參考:
/cn-us/documentntion/articles/best-practices-dcts-
partitioning/
數(shù)據(jù)表切片
|Department|FirstNameLastName|TenantID
ITJackZhangBeijing
MarketingMikeWangBeijing
|Department1FirstNameLastName|TenantID|
ITJaneLiShanghai
SalesPeterZhaoShanghai
|Department|FirstName1LastName|TenantID'
ITJaneLiGuangzhou
DepartmentFirstNameLastNameTenantID|
ITCity_N
上圖中,我們把原本保存在同一個(gè)數(shù)據(jù)表中的數(shù)據(jù),按照所在城市,拆分到
不同數(shù)據(jù)庫(kù)的數(shù)據(jù)表中。這樣做的目的,有以下幾點(diǎn):
⑴減少數(shù)據(jù)庫(kù)的最大容量
⑵減少對(duì)同一張表頻繁讀寫(xiě)而產(chǎn)生的性能瓶頸,即降低DTU
(3)減少數(shù)據(jù)庫(kù)并發(fā),即降低Maxconcurrent
另外我們?cè)谶M(jìn)行數(shù)據(jù)庫(kù)切片的時(shí)候,需要注意,上圖中DB_A,DB_B,DB_C,
DB_D這四個(gè)數(shù)據(jù)庫(kù)是分離的。如果我們要引用其他相對(duì)靜態(tài)的數(shù)據(jù),比如后每
市良縣編碼,全國(guó)省份編碼,產(chǎn)品編碼等表,需要考慮將上述三個(gè)表的內(nèi)容,在
四個(gè)AzureSQLDatabase數(shù)據(jù)庫(kù)(DB_A,DB_B,DB_C,DB_D)中進(jìn)行冗余,避免出現(xiàn)
跨數(shù)據(jù)庫(kù)的表查詢。
數(shù)據(jù)庫(kù)表切片后,我們還要考慮,對(duì)于不同的數(shù)據(jù)庫(kù),還要設(shè)置不同的連接
字符串。如下圖:
數(shù)據(jù)庫(kù)切片
TenantID|Data_Connetion
Tenant_A"Provider=ServerA,1433,Database=xxx..."
H
Tenant_BProvicler=ServerB,1433zDatabase二xxx...”
Tenant_C"Provider=ServerC,1433,Database=xxx..."
Tenant_N"Provider=ServerD,1433,Database二xxx...〃
3.6.4單個(gè)DatabaseServer限制了最大DTU
在之前的內(nèi)容中,我們介紹了AzureSQLDatabase中的服務(wù)器,是虛擬的。
我們可以在同一個(gè)AzureSQLDatabase服務(wù)器下,創(chuàng)建若干多個(gè)Database,這若
干個(gè)數(shù)據(jù)庫(kù)之間是資源隔離的,并不會(huì)產(chǎn)生資源競(jìng)爭(zhēng)。但是請(qǐng)注意:微軟限制了
單個(gè)AzureSQLDatabaseServer的最大DTU,為45000。
也就是說(shuō),我們可以在同一個(gè)AzureSQLDatabaseServer里,創(chuàng)建若干多個(gè)
Database,但是所有Database的DTU總和,不能超過(guò)45000。
舉個(gè)例子,AzureSQLDatabasePremiumP4,DTU是500。
而單個(gè)AzureSQLDatabaseServer的最大DTU,為45000。
那我們可以在一個(gè)AzureSQLDatabaseServer下,最多創(chuàng)建9
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄭州軌道工程職業(yè)學(xué)院《軟裝面料再造》2023-2024學(xué)年第一學(xué)期期末試卷
- 肇慶醫(yī)學(xué)高等專(zhuān)科學(xué)校《建筑工程計(jì)量與計(jì)價(jià)》2023-2024學(xué)年第一學(xué)期期末試卷
- 運(yùn)城幼兒師范高等專(zhuān)科學(xué)?!秳?dòng)畫(huà)技法》2023-2024學(xué)年第一學(xué)期期末試卷
- 區(qū)塊鏈確保食品追溯透明
- DB2201T 67-2024 架子牛引進(jìn)質(zhì)量控制規(guī)范
- 數(shù)學(xué)啟蒙游戲課
- 房地產(chǎn)經(jīng)紀(jì)綜合能力-《房地產(chǎn)經(jīng)紀(jì)綜合能力》點(diǎn)睛提分卷2
- 七夕節(jié)的傳統(tǒng)與現(xiàn)代模板
- 農(nóng)學(xué)研究答辯模板
- 二零二五年房地產(chǎn)廣告策劃合同1200字模板2篇
- 2025年度宏泰集團(tuán)應(yīng)屆高校畢業(yè)生夏季招聘【6080人】高頻重點(diǎn)提升(共500題)附帶答案詳解
- 課題申報(bào)書(shū):大中小學(xué)鑄牢中華民族共同體意識(shí)教育一體化研究
- 巖土工程勘察課件0巖土工程勘察
- 《腎上腺腫瘤》課件
- 2024-2030年中國(guó)典當(dāng)行業(yè)發(fā)展前景預(yù)測(cè)及融資策略分析報(bào)告
- 《乘用車(chē)越野性能主觀評(píng)價(jià)方法》
- 幼師個(gè)人成長(zhǎng)發(fā)展規(guī)劃
- 2024-2025學(xué)年北師大版高二上學(xué)期期末英語(yǔ)試題及解答參考
- 批發(fā)面包采購(gòu)合同范本
- 乘風(fēng)化麟 蛇我其誰(shuí) 2025XX集團(tuán)年終總結(jié)暨頒獎(jiǎng)盛典
- 2024年大數(shù)據(jù)分析公司與中國(guó)政府合作協(xié)議
評(píng)論
0/150
提交評(píng)論