標籤:
Windows Azure Platform有Windows Azure、SQL Azure、Azure AppFabric三部分。
SQL Azure是雲關聯式資料庫。您的資料:隨時隨地管理。SQL Azure是雲中的完全關聯式資料庫。
這節我們體驗SQL Azure,必備軟體:
- Microsoft SQL Server 2008 R2
- Windows Azure Platform賬戶
這次體驗有下面幾個步驟,分別是:
- 初始化SQL Azure
- 串連到SQL Azure
- 配置SQL Azure資料庫安全
- 在SQL Azure中建立資料庫物件
初始化SQL Azure
首先我們使用帳號登入SQL Azure門戶,網址為http://sql.azure.com,你可以看到下面頁面。我們點擊項目名稱。
出現使用規定頁面。閱讀後,如果同意接受這些條款,單擊“I accept”(我接受),開始使用實際的SQL Azure資料庫。
出現建立伺服器頁面。我們首先建立一台實際的伺服器。就伺服器種類而言,通常我們熟悉的伺服器可能是物理伺服器或虛擬伺服器,這裡,我們建立一個虛擬伺服器,即SQL Azure伺服器。也就是說它是通過邏輯方式組合到一起的資料庫組合,而不是通過物理方式組合起來的。指定管理使用者名密碼和實際要在哪個SQL Azure資料中心建立這台伺服器的資料庫組。如果在中國大陸,則可以選擇東亞。我選擇“東亞”的資料中心,點擊建立伺服器。
當我完成後,出現伺服器詳細資料頁面,這個頁面顯示了登入到這台伺服器的詳細資料和已有的資料庫以及防火牆配置。頁面的頂部提供了唯一的ID和“.database.windows.net”的組合是伺服器位址。頁面的底部,我們可以看到所有已經建立的資料庫。現在只有用來儲存其他資料庫記錄的預設SQL主要資料庫,我們還沒有建立任何資料庫。接下來我建立的所有資料庫都在這個伺服器賬戶中。
點擊“Create Database”建立一個資料庫,出現下面頁面,這裡我將其命名為“lyjDB”,選擇版本類型和資料庫大小。這些是由你購買的的選擇決定,Web版本有1G和5G兩個容量,Business版本有10G、20G、30G、40G、50G的大容量。由於這個賬戶沒有限制,我選擇最小的配置體驗下。
建立完之後,我們可以點擊“Connection Strings”連接字串。SQL Azure為我們提供了兩種資料庫連接:
我們單擊底部的“Test Connectivity”(測試連接)按鈕,輸入使用者名稱和密碼,點擊串連,提示下面錯誤提示框。因為在預設情況下,SQL Azure安全設定不允許任何電腦、伺服器或者用戶端串連到SQL Azure。
這時我們點擊“Firewall Settings”(防火牆設定)選項卡。
你會發現SQL Azure安全設定預設不允許Microsoft服務都無法串連到這個伺服器或者資料庫,這時我選擇“Allow Microsoft Services access to this service”(允許Microsoft服務訪問這台伺服器)複選框允許串連。這時網站會重新整理,並且為我建立一條新的規則,出現一個特定MicrosoftServices條目,允許Microsoft服務本身進行串連,這樣我們就可以進行串連了。
返回“Databases”(資料庫)選項卡,單擊底部的“Test Connectivity”(測試連接)按鈕,輸入使用者名稱和密碼,然後就可以啟動測試連接,並看到串連成功。
串連到SQL Azure1.防火牆設定
開啟SQL Server Management Studio R2,用指定的使用者名稱和密碼進行登入,串連到這台伺服器。注意必須使用R2版本才能串連到雲中的SQL Azure資料庫。不過登入到SQL Azure與登入內部部署SQL資料庫方式的登入名稱的約定略有不同。除了需要指定使用者名稱還需要加上“@”符號,然後是伺服器名稱的唯一的ID的部分。
單擊“串連”按鈕,我們嘗試進行串連。出現下面對話方塊提示串連失敗,原因是因為在預設情況下,SQL Azure安全設定不允許任何電腦、伺服器或者用戶端串連到SQL Azure。
我們需要配置防火牆,返回門戶,並轉到“Firewall Settings”(防火牆設定)選項卡,配置防火牆規則設定為允許特定串連通過,為我的本地建立一條規則。這樣,我們就可以在本地通過SQL Server Management Studio R2進行實際串連了。輸入規則名稱和IP地址或者IP範圍。系統已經識別了我正在串連的IP地址。
建立完成之後,在防火牆規則中出現新增了一條規則。
2.與SQL Azure互動
切換到SQL Server Management Studio R2嘗試再次串連,這一次一切都設定好了,現在成功實現串連,它串連了實際的SQL Azure執行個體。請注意,這台伺服器的表徵圖略有不同。它顯示的是一個小小的藍色資料庫符號,表示這是一個Azure串連,而不是一個標準的內部部署SQL伺服器串連。進入資料庫組,你會看到我們剛剛建立的lyjDB資料庫。
我現在可以通過SQL Server Management Studio R2和SQL Azure資料庫進行互動,方式與使用內部部署資料庫方式非常像,也就是我在Management Studio R2中的慣用方式。但是,設計體驗略微有些不同,這是因為我們使用的是雲端式的資料庫。因此,它只具備SQL Server 2008的部分功能,例如,我們無法獲得拖放式設計介面。大多數是使用實際的SQL指令碼語言來指定表的架構。
在資料庫上右擊並執行常規的指令碼操作,比如Select命令。執行這個命令,並在底部查看顯示的結果,與我們使用內部部署資料庫非常類似。因此,對於那些標準操作,這與我所習慣的使用和執行方式非常類似。
3.串連到master資料庫
我們執行“SELECT @@version”查詢,查看SQL Azure的版本。可以看到它返回一個資訊:SQL Azure由Microsoft SQL Server 2008派生的。
我們使用master資料庫查詢sys.databases視圖,我們能夠看到我們的伺服器上建立的所有資料庫。
4.建立一個新資料庫
我們使用Management Studio R2在SQL Azure中建立一個新資料庫。這一步非常簡單。在SQL Azure中,我們使用簡單的建立資料庫執行語句,將立即建立一個新的資料庫。
執行“CREATE DATABASE yjingleeDB”
重新查詢伺服器上資料庫,注意我們剛剛建立的yjingleeDB資料庫在這個列表中了。
5.串連到新資料庫
為了串連到新的資料庫,我們必須斷開當前串連並重新開啟新串連。因為在SQL Azure中,我們的資料庫不一定儲存在相同的物理伺服器上面的。
這點與SQL Server有點不同,SQL Server中,我們可以使用USE語句來更改資料庫,在SQL Azure中,我們需要重新串連一次以確保重新串連到SQL Azure的物理伺服器叢集節點用戶端是正確的。我們關閉查詢標籤,單擊更改串連表徵圖。
使用相同賬戶登入,由於我們想要串連到制定資料庫,所以需要點擊選項按鈕,指定“yjingleeDB”資料庫。
串連成功了,我們調用DB_NAME()函數查看當前資料庫名稱。
配置SQL Azure資料庫安全
我們將配置yjingleeDB資料庫的安全。學習一下如何為一個資料庫建立和配置一個新的登入使用者。
我們使用伺服器使用者名稱和密碼登入預設SQL Azure資料庫,建立一個登入使用者。
然後我們使用伺服器使用者名稱和密碼重新登入yjingleeDB資料庫。我們為yjingleeDB資料庫建立一個登入使用者並把這個使用者增加到db_owner角色中,即對這個資料庫擁有操作許可權。即依次執行下面兩行指令碼。
我們就建立好了,使用這個新賬戶登入yjingleeDB資料庫吧。
執行一個查詢,驗證目前使用者。
在SQL Azure中建立資料庫物件1.建立簡單的表
我們建立一個簡單的表,只有一個單一的int類型的列。這裡必須注意,SQL Azure裡面的表必須要有一個叢集索引。如果沒有的話不能插入任何資料。叢集索引的不一定是主鍵列。出於效能的原因,最好在其他列上。
然後插入三筆資料,再執行查詢,檢索出這些資料。
2.建立複雜的表和索引
我這次依次建立一個Customer表,然後增加一個索引,最後插入一筆資料並查詢出來。
3.檢查查詢計劃
我們看看從Customer表中查詢資料來體驗一下SQL Azure的查詢計劃。我們先執行一些T-SQL插入10000行資料比較差異。
1行資料的查詢計劃:
10000行資料的查詢計劃
調用“Ctrl+L”可視化:
著作權聲明:本文為博主http://www.zuiniusn.com原創文章,未經博主允許不得轉載。
Windows Azure Platform體驗(2):SQL Azure