匯出 (0) 列印
全部展開

Azure SQL Database 開發考量

更新日期: 2013年12月

開發 Microsoft Microsoft Azure SQL Database 的應用程式與開發 虛擬機器建立 的應用程式相當類似。本主題描述開發 Microsoft Azure SQL Database 應用程式時的幾項差異和一些考量。此外,本主題提供您身為開發人員所需採取的基本步驟,並且列出建議的編碼方式。

若要使用 Microsoft Azure SQL Database,您必須先建立 Azure 平台帳戶。Azure 帳戶用於設定和管理您的訂用,以及針對 Azure、Azure AppFabric 和 Microsoft Azure SQL Database 的使用進行收費。建立 Azure 帳戶之後,您就可以使用 Azure 平台管理入口網站加入或卸除 Azure SQL 資料庫 伺服器和資料庫。您也可以使用 Azure SQL Database 管理 API,透過程式設計的方式加入或卸除 Azure SQL 資料庫 伺服器,並且管理與伺服器相關聯的防火牆規則。

Azure SQL 資料庫 伺服器是資料庫的邏輯群組,做為多個資料庫的中央管理點。當您建立 Azure SQL 資料庫 伺服器時,唯讀的 master 資料庫會自動建立。master 資料庫會追蹤哪些登入具有可建立資料庫或其他登入的權限。只要您 CREATEALTERDROP 登入或資料庫,就必須連線到 master 資料庫。如需 Microsoft Azure SQL Database 中安全性管理的詳細資訊,請參閱管理 Azure SQL Database 中的資料庫和登入

根據預設,Azure SQL 資料庫 防火牆會封鎖您 Azure SQL 資料庫 伺服器的所有存取。若要開始使用 Azure SQL 資料庫 伺服器,您必須指定啟用 Azure SQL 資料庫 伺服器存取的一項或多項伺服器層級防火牆規則。伺服器層級防火牆規則可以使用管理入口網站使用者介面或是透過程式設計方式使用資料庫管理 API 進行管理。您必須先加入驗證所需的憑證 (如Authenticating Azure SQL Database Management API Requests中所述),才能使用資料庫管理 API。

建立伺服器層級防火牆設定之後,您可以使用伺服器層級主體登入和 master 資料庫來檢視和編輯您的防火牆設定。在 master 資料庫中,防火牆設定稱為「規則」(Rule)。sys.firewall_rules 檢視表會顯示目前的伺服器層級防火牆設定,而 sp_set_firewall_rulesp_delete_firewall_rule 預存程序可讓您變更伺服器層級防火牆規則。

此外,如果您想要控制 Azure SQL 資料庫 伺服器中某些資料庫的存取,可為這些資料庫建立資料庫層級防火牆規則。您可為 master 和使用者資料庫建立資料庫層級防火牆規則。您可以在 sys.database_firewall_rules 檢視表中連接至資料庫,並檢視資料庫層級防火牆規則。master 和使用者資料庫中的 sp_set_database_firewall_rulesp_delete_database_firewall_rule 預存程序可讓您針對各自資料庫變更資料庫層級防火牆規則。如需有關伺服器層級和資料庫層級防火牆規則的詳細資訊,請參閱Azure SQL Database 防火牆

您可以使用 sys.database_usagesys.bandwidth_usage 系統檢視表,存取您在 Azure SQL 資料庫 伺服器上之 Azure SQL 資料庫 帳戶的計費詳細資料。如需詳細資訊,請參閱Azure SQL Database 帳戶和計費

建立 Azure SQL 資料庫 的方式有兩種:

如需如何從內部部署 虛擬機器建立 執行個體將資料庫移轉至 Azure SQL 資料庫 的詳細資訊,請參閱將資料庫移轉至 Azure SQL Database (先前稱為 SQL Azure)

此外,作法:使用 ADO.NET 連接到 Azure SQL Database 中提供的程式碼範例會示範如何在用戶端應用程式程式碼中使用 CREATE DATABASE 陳述式。

note附註
若要在建立資料庫之後變更版本和名稱,可以使用 ALTER DATABASE 陳述式。

建立和裝載 Microsoft Azure SQL Database 應用程式的方式有兩種:

  • 在您的公司資料中心裝載內部部署的應用程式碼,但是在 Azure SQL 資料庫 中裝載您的資料庫。您的應用程式程式碼會使用用戶端程式庫存取 Azure SQL 資料庫 中的資料庫。如需有關可用之用戶端程式庫的詳細資訊,請參閱Azure SQL Database 方針和限制。如需範例程式碼,請參閱作法:使用 ADO.NET 連接到 Azure SQL Database主題。

  • 在 Azure 中裝載您的應用程式程式碼,並且在 Azure SQL 資料庫 中裝載您的資料庫。您的應用程式程式碼可以使用相同的用戶端程式庫存取 Azure SQL 資料庫 中的資料庫。在此案例中,您的用戶端應用程式可以是運用實體資料模型和 WCF Data Services 用戶端的優勢存取裝載於 Azure SQL 資料庫 之資料的桌面或 Silverlight 應用程式。如需範例程式碼,請參閱作法:透過 WCF Data Services 連線到 Azure SQL Database

您可以將應用程式裝載於 Azure 平台中,藉此將要求 Azure SQL 資料庫 的網路延遲降至最低。與裝載於 Azure 外部的應用程式相較之下,將應用程式部署至 Azure 可在應用程式和 Azure SQL 資料庫 之間提供更有效率的交易。如需將應用程式和資料裝載於雲端的詳細資訊,請參閱Azure SQL Database Data Access

在同一個地區或資料中心內,Azure SQL 資料庫 和 Azure 或 Azure AppFabric 之間使用的頻寬是免費的。部署 Azure 應用程式時,將應用程式和 Azure SQL 資料庫 放在同一個地區內即可避免頻寬費用。如需詳細資訊,請參閱Azure SQL Database 帳戶和計費

開發 Microsoft Azure SQL Database 的應用程式與開發 虛擬機器建立 的應用程式相當類似。開發存取 Microsoft Azure SQL Database 的應用程式時,可以選擇許多種應用程式類型和技術。Microsoft Azure SQL Database 可搭配協力廠商應用程式、PHP 和許多 Microsoft 應用程式使用,例如 ADO.NET、Entity Framework、WCF Data Services 和 ODBC。

Microsoft Azure SQL Database 可在共用資源上提供大規模的多租戶資料庫服務。為了對所有 Microsoft Azure SQL Database 客戶提供良好的體驗,您的服務連線可能會在下列情況下關閉:

  • 過度的資源使用量

  • 長時間執行的查詢

  • BEGIN TRAN 和 END TRAN 陳述式之間長時間執行的單一交易

  • 閒置的連接

這與內部部署的 虛擬機器建立 執行個體運作的方式不同。

若要在連線關閉時提供完整的使用者經驗,請在應用程式中併入偵測關閉連線的重試邏輯,然後嘗試完成中斷的動作。如需 Microsoft Azure SQL Database 中連線限制的詳細資訊,請參閱Azure SQL Database 一般方針和限制

當用戶端應用程式連線至 Microsoft Azure SQL Database 時,CONTEXT_INFO (Transact-SQL) 會自動設定為唯一工作階段專用的 GUID 值。請擷取這個 GUID 值,並且在應用程式中用這個值來追蹤連接性問題。

下列 C# 程式碼陳述式示範如何修改您的應用程式以追蹤連接性。

另請參閱

Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft