SQL Azure 對於開發人員和管理員來說應該很容易上手,因為SQL Azure使用相似的關係型資料模型,資料存放區於SQL Azure上就和儲存於SQL Server上一樣。在概念上類似於一個本地SQL Server執行個體, 一個SQL Azure 伺服器就是一組資料庫的邏輯組和,是一個獨立的授權單位。
在每個SQL Azure 伺服器內,您可以建立多個資料庫, 每個資料庫可以擁有多個表,視圖,預存程序,索引和其他熟悉的資料庫物件。該資料模型可以很好的重用您現有的關係型資料庫設計和Transact-SQL編程技能和經驗,簡化了遷移現有本機資料庫應用程式至SQL Azure的過程。關於更多Transact-SQL 以及其與SQL Azure的關係,請瀏覽
Transact-SQL Support (SQL Azure Database).
SQL Azure 伺服器和資料庫都是虛擬對象,並不對應於物理伺服器和資料庫。通過將您與物理實現隔離,SQL Azure 使得您可以將時間專用於資料庫設計和為業務增值上。
特性 |
SQL Server (本地) |
SQL Azure |
變通方法 |
資料存放區Data Storage |
無大小限制 |
具體大小和定價資訊請參考Pricing Overview. 注意:當您的使用到達分配的大小 (1 GB 或 10 GB),只有 SELECT和 DELETE語句會被執行。 UPDATE和 INSERT語句會拋出錯誤。 |
- · 當舊資料可以被移植至另外一個SQL Azure或本地的資料庫內時,一個存檔過程可被建立。
- · 因為上述的大小約束,建議對資料進行跨資料庫分割。建立多個資料庫能夠充分利用多個節點的計算能力。Azure 模式的最大價值在於其靈活性,在您的需求在最高點時可以按需建立任意多的資料庫,在需求降低時刪除資料庫。最大難題在於編寫應用程式能夠跨資料庫的拓展。一旦該功能被實現,便可拓展至跨任意個資料庫。
|
版本Edition |
- · Express
- · Workgroup
- · Standard
- · Enterprise
- · Enterprise 版本
|
|
|
串連性Connectivity |
- · SQL Server Management Studio
- · SQLCMD
- · SQL Server 2008 R2 Management Studio 提供了對SQL Azure完整的串連性。先前版本的支援有限。
- · SQLCMD
|
|
|
資料移植Data Migration |
|
- · SQL Server Integration Services, BCP 和 SqlBulkCopyAPI
|
|
驗證Authentication |
- · SQL 驗證
- · Windows 驗證
- · SQL Server 驗證
|
|
使用 SQL Server 驗證 |
Schema |
沒有限制 |
SQL Azure 並不支援堆表。 所有表必須擁有一個叢集索引才能插入資料。 |
檢查所有指令碼,確保所有的表都有一個叢集索引。 |
TSQL 支援TSQL Supportability |
|
某些 TSQL 命令完全支援。一些部分支援,另一些不支援.
- · 支援的 TSQL: http://msdn.microsoft.com/en-us/library/ee336270.aspx
- · 部分支援的TSQL:
http://msdn.microsoft.com/en-us/library/ee336267.aspx
- · 不支援的 TSQL:
http://msdn.microsoft.com/en-us/library/ee336253.aspx
|
|
“USE” 命令“USE” command |
支援 |
不支援 |
不支援USE 命令。因為每一個使用者建立的資料庫可能並不在同一個物理伺服器上。所以應用程式必須從多個資料庫上取回資料,並在應用程式層面結合這些資料。 |
事務複製Transactional Replication |
支援 |
不支援 |
您可以使用BCP 或 SSIS 來按需獲得流入本地 SQL Server的資料。您也可以使用SQL Data Sync tool 來保持本地 SQL Server 和 SQL Azure 的同步。 |
日誌傳輸 Log Shipping |
支援 |
不支援 |
|
資料鏡像Database Mirroring |
支援 |
不支援 |
|
SQL Agent |
支援 |
SQL Azure上無法運行SQL agent/jobs |
您可以在本地SQL Server上運行 SQL agent 並串連至SQL Azure |
伺服器選擇項Server options |
支援 |
- · 支援一些系統檢視表 (http://msdn.microsoft.com/en-us/library/ee336238.aspx)
|
大多系統層面的中繼資料被禁用了,因為在雲端提供伺服器層的資訊無意義。 |
串連限制Connection Limitations |
無 |
為了給在節點上所有租戶提供公平的使用體驗,有如下情況的串連可能被關閉:
- · 過度資源使用
- · 長時間執行查詢 (超過 5 mi分鐘)
- · 在 BEGIN TRAN 和 END TRAN內長時間啟動並執行單個事務 – (超過 5 分鐘)
- · 空閑串連– (超過 30 分鐘)
|
|
SSIS |
可以在本地運行SSIS |
無法在SQL Azure內運行SSIS |
本地運行 SSIS ,並以ADO.NET provider串連至SQL Azure 。 |
參考資料:http://blogs.msdn.com/b/azchina/archive/2010/05/25/sql-azure-vs-sql-server.aspx