匯出 (0) 列印
全部展開
3 人當中有 3 人評分為有幫助- 為這個主題評分

一般方針和限制 (Windows Azure SQL Database)

更新日期: 2013年10月

本主題描述 Microsoft Windows Azure SQL Database 的一般方針和限制。下列標題涵蓋了一般方針和限制的詳細資料:

如需與安全性相關之方針和限制的詳細資訊,請參閱<安全性方針和限制 (Windows Azure SQL Database)>。

驅動程式、程式庫和通訊協定支援

撰寫 Windows Azure SQL Database 的應用程式時,您可以使用下列驅動程式和程式庫:

  • 來自 .NET Framework 3.5 Service Pack 1 或更新版本的 .NET Framework Data Provider for SQL Server (System.Data.SqlClient)。

  • 來自 .NET Framework 3.5 Service Pack 1 或更新版本的 Entity Framework。

  • SQL Server 2008 R2 Native Client ODBC 驅動程式。另外也支援 SQL Server 2008 Native Client ODBC 驅動程式,不過功能較少。

  • 適用 PHP 1.1 版或更新版本的 SQL Server 2008 驅動程式。

  • 支援 SQL Database 的 SQL Server JDBC Driver 3.0 更新版本。

Windows Azure SQL Database 支援表格式資料流 (TDS) 通訊協定用戶端版本 7.3 或更新版本。不支援舊版的 TDS 通訊協定。

不支援使用 OLE DB 或 ADO 連接至 Windows Azure SQL Database。

Visual Studio 支援

當您撰寫 Windows Azure SQL Database 的應用程式時,可以使用其中一種 .NET Framework 程式語言,這些語言隨附於 Visual Studio:Microsoft Visual Basic、Microsoft Visual C# 或 Microsoft Visual C++。Visual Studio 提供了伺服器管理主控台 [伺服器總管],可用來開啟資料連接以及登入伺服器和瀏覽資料庫。從 Visual Studio 2010 開始,您可以使用 [伺服器總管] 在 SQL Database 中連接和瀏覽您的資料庫。不支援舊版的 [伺服器總管]。如需詳細資訊,請參閱 MSDN 上的<Visual Studio>文件。

工具和技術支援

使用工具連接至 Windows Azure SQL Database 時,請考慮下列幾點:

  • 僅允許 TCP/IP 連接。

  • 支援 Multiple Active Result Sets (MARS)。

  • 由於部分工具會以不同的方式實作表格式資料流 (TDS),因此您必須使用 <login>@<server> 表示法將 SQL Database 伺服器名稱附加至連接字串的登入部分。如需詳細資訊,請參閱<管理 Windows Azure SQL Database 中的資料庫和登入>。

  • 不支援 SQL Server 2008 SQL Server 瀏覽器,因為 Windows Azure SQL Database 沒有動態通訊埠,只有通訊埠 1433。

如需有關工具支援的詳細資訊,請參閱<工具和公用程式支援 (Windows Azure SQL Database)>。

ODBC 支援

您可以使用設定 ODBC 資料來源定義 Windows Azure SQL Database 的使用者和系統資料來源。如需使用者和系統資料來源的清單,請查看 [ODBC 資料來源管理員] 對話方塊的 User DSNSystem DSN 索引標籤。

使用資料來源名稱 (DSN) 精靈定義 Windows Azure SQL Database 的資料來源時,按一下 [由使用者所輸入的登入識別碼及密碼進行 SQL Server 帳戶驗證] 選項並選取 [連線到 SQL Server 以獲得其他設定選項的預設設定]。輸入您的使用者名稱和密碼做為 Login IDPassword,以連線至 SQL Database 伺服器。使用 SQL Server 2008 Native Client 時,清除 [連線到 SQL Server 以獲得其他設定選項的預設設定] 核取方塊。從 SQL Server 2008 R2 Native Client ODBC 驅動程式開始,不必再清除 [連線到 SQL Server 以獲得其他設定選項的預設設定] 核取方塊。按一下 [變更預設資料庫為:] 並輸入您 SQL Database 的名稱 (即使該資料庫並未顯示在清單中)。請注意,精靈會在 [變更 SQL Server 系統訊息的語言為] 清單中列出數種語言。

在這個版本中,Windows Azure SQL Database 僅支援英文,因此選取 [英文] 做為語言。Windows Azure SQL Database 不支援 [鏡像伺服器][附加資料庫],因此將這些項目保留空白。按一下 [測試連接]

  • 使用 SQL Server 2008 Native Client ODBC 驅動程式時,[測試連接] 按鈕可能會造成不支援 master.dbo.syscharsets 的錯誤。請忽略此錯誤,儲存 DSN 並使用它。另外,如果您在設定 DSN 的同時選擇連接到 master 以外的資料庫,則即使沒有任何錯誤,[成功的完成測試] 訊息仍可能不會顯示。

  • 使用 SQL Server 2008 R2 Native Client ODBC 驅動程式時,您將不會收到錯誤,指出即使連接到不同的資料庫,也不支援 master.dbo.syscharsets

資料移轉支援

您可以使用下列方式將資料傳送至 Windows Azure SQL Database:

  • SQL Server 2008 Integration Services (SSIS)

  • 大量複製公用程式 (BCP.exe)

  • System.Data.SqlClient.SqlBulkCopy 類別

  • 使用 INSERT 陳述式將資料載入至資料庫的指令碼

Windows Azure SQL Database 支援:

  • RESTORE 陳述式。

  • 將資料庫附加至 SQL Database 伺服器。

如需有關 SSIS 的詳細資訊,請參閱 SQL Server Integration Services

SQL Server Agent/作業

Windows Azure SQL Database 不支援 SQL Server Agent 或作業。不過,您可以在內部部署的 SQL Server 上執行 SQL Server Agent,並且連接至 Windows Azure SQL Database。

交易支援

Windows Azure SQL Database 不支援分散式交易,這些交易會影響數個資源。如需詳細資訊,請參閱<分散式交易 (ADO.NET)>。

從 .NET Framework 2.0 版開始,應用程式交易可以自動升級為分散式交易。這適用於使用 System.Data.SqlClient 類別在 System.Transactions 交易內容中執行資料庫作業的應用程式。

當您在 TransactionScope 內開啟多個與不同伺服器或資料庫的連接,或是使用 EnlistTransaction 方法將多個連接列入 System.Transactions 物件中時,交易升級就會發生。另外,當您在相同的 TransactionScope 內或使用 EnlistTransaction 方法開啟多個與相同伺服器和資料庫的並行連接時,交易升級也會發生。

從 .NET Framework 3.5 版開始,如果並行連接的連接字串完全相同,則交易將不會升級。如需有關交易與避免交易升級的詳細資訊,請參閱 System.Transactions 與 SQL Server 整合 (ADO.NET)

note附註
Windows Azure SQL Database 可能不會跨容錯移轉保留目前資料庫 (DBTS) 的未認可時間戳記值。

以資料列版本設定為基礎的隔離等級

READ_COMMITTED_SNAPSHOT 及 ALLOW_SNAPSHOT_ISOLATION 資料庫選項在 Windows Azure SQL Database 中都會設定為 ON。由於不支援 ALTER DATABASE Transact-SQL 陳述式中的 SET <snapshot_option>,因此無法變更這些資料庫選項。如需以資料列版本設定為基礎之隔離等級的詳細資訊,請參閱了解以資料列版本設定為基礎的隔離等級

SQL Server 定序支援

Windows Azure SQL Database 所使用的預設資料庫定序為 SQL_LATIN1_GENERAL_CP1_CI_AS,其中 LATIN1_GENERAL 為英文 (美國),CP1 為字碼頁 1252,CI 為不區分大小寫,且 AS 為區分腔調字。

使用內部部署 SQL Server 時,您可以在伺服器、資料庫、資料行和運算式層級設定定序。Windows Azure SQL Database 不允許在伺服器層級設定定序。若要對 Windows Azure SQL Database 使用非預設的定序,請使用 Create Database Collate 選項來設定定序,或在資料行層級或運算式層級設定定序。SQL Database 不支援含有 Alter Database 命令的 Collate 選項。根據預設,在 SQL Database 中,暫存資料與資料庫會具有相同的定序。如需如何設定定序的詳細資訊,請參閱《SQL Server 線上叢書》中的<COLLATE (Transact-SQL)>。

叢集索引需求

Windows Azure SQL Database 不支援沒有叢集索引的資料表。資料表必須有叢集索引。如果建立的資料表沒有叢集條件約束,則必須先建立叢集索引,才能在資料表上執行插入作業。

例如,下列 Transact-SQL 會建立新的資料表,在資料表上建立叢集索引,然後將資料插入資料表中。在未建立叢集索引的情況下執行插入將會造成錯誤。

CREATE TABLE Table1 (Col1 int, Col2 char(20))
CREATE CLUSTERED INDEX Table1_Index ON Table1 (Col1)
INSERT INTO Table1 VALUES (1, 'string1')

資料庫計數和大小限制

根據預設,Windows Azure SQL Database 最多可在每一部 SQL Database 伺服器中支援 150 個資料庫,包括 master 資料庫。因此,您最多可以在每一部 SQL Database 伺服器中建立 149 個資料庫。在 SQL Database 伺服器上可擴充這項設定。如需詳細資訊,請至 Microsoft Online Services 客戶入口網站連絡客戶支援代表。 

Windows Azure SQL Database 提供兩種資料庫版本:Web Edition 和 Business Edition。Web Edition 資料庫可成長至 5 GB 的大小,而 Business Edition 資料庫可成長至 150 GB 的大小。MAXSIZE 是在初次建立資料庫時指定,之後可以使用 ALTER DATABASE 變更。MAXSIZE 提供了限制資料庫大小的功能。如果資料庫的大小達到其 MAXSIZE,您將收到錯誤碼 40544。發生這種情況時,您就無法插入或更新資料,或是建立新物件,例如資料表、預存程序、檢視和函數。不過,您仍然可以讀取和刪除資料、截斷資料表、卸除資料表和索引,以及重建索引。如果您將部分資料移除以釋出儲存空間,最長可能會延遲十五分鐘,您才能再次插入新資料。

如需如何指定資料庫大小的詳細資訊,請參閱<CREATE DATABASE (Windows Azure SQL Database)>。

命名需求

基於安全理由,不允許包含使用者名稱。您不可使用下列名稱:

  • admin

  • administrator

  • guest

  • root

  • sa

所有新物件的名稱都必須符合 SQL Server 對於識別碼的規則。如需詳細資訊,請參閱<識別碼>。

此外,登入和使用者名稱不可包含 \ 字元 (不支援 Windows 驗證)。

連接條件約束

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

  • 過度的資源使用量

  • 已閒置超過 30 分鐘的連接

  • 因為伺服器失敗進行的容錯移轉

note附註
允許的持續期間上限會隨著資源使用量而改變。已閒置 30 分鐘的已登入工作階段將會自動終止。強烈建議您使用連接共用,並且在使用完畢之後一律關閉連接,如此未使用的連接就會返回集區。如需連接共用的詳細資訊,請參閱<連接共用>。

當您的服務連接關閉時,將會收到錯誤。如需有關錯誤的詳細資訊,請參閱<連接遺失錯誤>。

SQL Database 應用程式應該判斷關閉的連接是否由暫時性錯誤所導致。如果暫時性錯誤造成關閉的連接,應用程式必須能夠重新建立連線,然後執行失敗的命令或查詢。如需有關重試關閉連接的詳細資訊,請參閱:

另請參閱

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

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

您是否想要參加?
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。