SQL Azure是云中的關(guān)系數(shù)據(jù)庫,和本地的SQL Server數(shù)據(jù)庫有很多相似的地方。比如SQLAzure提供了一個表格數(shù)據(jù)流(Tabular Data Stream,TDS)接口供基于Transact-SQL的數(shù)據(jù)庫進(jìn)行訪問,這和SQL Server中的實例訪問數(shù)據(jù)庫情況是相似的。SQL Azure和SQL Server之間也有一些不同之處。在SQL Azure中,由于物理管理工作是由微軟進(jìn)行的,所以在管理、服務(wù)提供、Transact-SQL支持和編程方式等方面,與SQL Server有所不同。
1.物理管理和邏輯管理
SQL Azure在管理上突出強(qiáng)調(diào)了物理管理,DBA (Database Administrator,數(shù)據(jù)庫管理員)在管理SQL Azure數(shù)據(jù)應(yīng)用方面仍然發(fā)揮著很積極的作用。DBAs管理模式創(chuàng)建、統(tǒng)計、索引優(yōu)化、査詢優(yōu)化,同時還進(jìn)行安全管理(包括登陸安全、用戶安全和創(chuàng)建角色的安全等)。
SQL Azure DBA和SQL Server DBA在物理管理方面存在很大的差異。SQL Azure能夠自動復(fù)制所有存儲的數(shù)據(jù)以提供髙可用性,同時SQL Azure還可以管理負(fù)載均衡、故障轉(zhuǎn)移等功能。
用戶不能管理SQL Azure的物理資源。比如用戶不能指定數(shù)據(jù)庫索引所在的物理硬盤或者文件組,物理資源是由微軟自行管理。同樣,由于無法訪問計算機(jī)文件系統(tǒng),SQL Azure不能使用SQL Server備份機(jī)制,所有的數(shù)據(jù)都是自動復(fù)制備份的。
2.服務(wù)提供
在部署本地Server時,需要準(zhǔn)備和配置所需要的硬件和軟件,這些工作一般由DBA或IT部門完成。而使用SQL Azure時,這些任務(wù)均由SQL Azure服務(wù)程序來執(zhí)行。
當(dāng)用戶在Wkidows Azure平臺上創(chuàng)建了一個賬戶后,用戶便可以使用SQL數(shù)據(jù)庫,同時還可以訪問所有提供的服務(wù),比如Windows Azure、.NET服務(wù)和SQL Azure等服務(wù)。通過這些服務(wù)可以創(chuàng)建和管理用戶的訂閱。^
每個SQL Azure訂閱都會綁定到微軟數(shù)據(jù)中心的某個SQL服務(wù)器上。在SQL Azure服務(wù)器上通常定義了一組數(shù)據(jù)庫。為了提供負(fù)載均衡和高可用性,SQL Azure服務(wù)器上的數(shù)據(jù)庫通常會在數(shù)據(jù)中心其他物理機(jī)上進(jìn)行備份。
3.Transact-SQL支持
大多數(shù)SQL Server Transact-SQL語句都有一些參數(shù),用戶通過這些參數(shù)可以指定文件組或物理文件的路徑。由于這些參數(shù)依賴于物理配置,在SQL Azure中由微軟進(jìn)行物理資源的管理,因而這些類型的參數(shù)并不適用于SQL Azure。
4.特征和類型
SQL Azure不支持SQL Server的所有特征和數(shù)據(jù)類型。在現(xiàn)今版本的SQL Azure中,不支持分析、復(fù)制、報表和服務(wù)代理等服務(wù)。
SQL Azure提供物理管理,會鎖住任何試圖操作物理資源的命令語句,比如ResourceGovernor、文件組管理和一些物理服務(wù)器DDL 語句等。另外還有一些操作是不允許的,比如設(shè)置服務(wù)器租用選項和SQL追蹤標(biāo)簽、使用SQL Server分析器或使用“數(shù)據(jù)庫引擎優(yōu)化顧問”。