SQL Azure 常見問題集 (zh-TW)

SQL Azure 常見問題集 (zh-TW)

SQL Azure 資料庫是 Microsoft 以雲端為基礎的關聯式資料庫服務。SQL Azure 會以公用程式服務的形式提供關聯式資料庫功能。SQL Azure 等以雲端為基礎的資料庫解決方案可以提供許多優點,包括快速佈建、具有成本效益的延展性、高可用性,以及降低管理負擔。本文件將處理客戶所提出的一些最常見問題。

目錄:


售前資訊

問:Microsoft 如何區分 SQL Azure 與 SQL Server?

雖然 SQL Server 與 SQL Azure 有時候會處理重疊的應用程式工作負載,不過一個是具有軟體授權模型的傳統資料庫伺服器,而另一個是當做服務在 Microsoft 全球資料中心內執行的雲端資料庫 (提供了隨收隨付或承諾費率計畫模型)。這兩種功能都可讓您彈性地選擇最適合您技術需求的平台和商務模型。

SQL Server 是一套企業級資料庫伺服器,它提供了「向上延展」關聯式資料儲存體,而且可處理各種內部部署應用程式類型和案例。SQL Server 不是服務功能,也不是以隨收隨付取用模型為基礎。SQL Server 是根據伺服器或處理器授權,而且涵蓋了廣泛類別的伺服器硬體。SQL Server 會在您的資料中心或主控提供者資料中心的硬體上執行。

SQL Azure 是一套高度可用的分散式「向外延展」資料庫服務,由 Microsoft 裝載於雲端。SQL Azure 可讓您輕鬆地將關聯式資料庫功能佈建和部署成服務。開發人員或系統管理員不需要安裝、設定和修補或管理任何軟體。高可用性、備份與復原、地理分散和災害復原都已內建在服務中。

除了向上延展/向外延展的差異以外,其作業模型也有一些重要的差異。因為 SQL Azure 提取了硬體和作業系統管理,所以您可以專心建置解決方案,而不需要採購、管理、修補和授權硬體、虛擬機器、作業系統與應用程式平台軟體。使用專用的資料庫伺服器 (不論是在內部部署中安裝成傳統伺服器、裝載在 VM 中,或由協力廠商服務提供者裝載) 時,開發人員和 IT 專業人員仍然必須負責安裝、設定、更新和修補作業系統與資料庫軟體。此外,資料庫伺服器的使用者必須設計自己的「高可用性」、向外延展和災害復原解決方案,因而增加整體管理成本。

SQL Azure 是針對需要高延展性和高可用性的應用程式所設計並最佳化,而且其成本會比傳統的向上延展架構更低廉。為了達到此目的,SQL Azure 會在商用硬體上提供高度可用且向外延展的解決方案,並且以服務的形式提供資料庫功能。

問:SQL Azure 的擴充方法為何?SQL Azure 可儲存的資料大小是否有限制?

SQL Azure 是針對需要高延展性和高可用性的應用程式最佳化,而且其成本會比傳統的向上延展架構更低廉。為了達到此目的,SQL Azure 會在商用硬體上提供高度可用且「高度可擴充」的解決方案。為了充分發揮這個平台的優點,自然會傾向使用較小資料分割向外延展的解決方案,而非傳統的單一伺服器向上延展模型。

SQL Azure 支援大小高達數 TB 的資料集。個別 SQL Azure 資料庫的大小最高可達 150GB。您可以使用業界標準方法,在多個 Azure 資料庫之間分割超過 150 GB 的資料集。例如,SaaS ISV 可以輕鬆地為每位客戶佈建其自訂資料庫,或者零售商可以根據區域,將銷售資料分割成資料庫。

此外,請務必注意,每個資料庫的 150GB 限制並不包括系統針對較高可用性、交易記錄或系統層級資料表自動維護的其他資料複本。

問:所謂「Web Edition 包含最高達 5 GB DB/月」或「Business Edition 包含最高達 150GB DB/月」真正的意義為何?

您可以針對一個或多個應用程式,在 SQL Azure 中佈建多個資料庫。這些資料庫可以是 Web 或 Business Edition 資料庫。單一 Web Edition 資料庫最高支援 5 GB。1GB 和 5GB 是計費遞增單位。單一 Business Edition 資料庫最高支援 150 GB。Business Edition 會使用 10 GB 的計費遞增單位 (10GB、20GB、30GB、40GB、50GB ...)。

系統會根據當日的尖峰資料庫大小計費,並累計成下一個計費遞增單位。

範例:

假設我們有一個 MAXSIZE=5GB 的 Web Edition 資料庫。如果資料庫大小為 800MB,則資料庫的每日費用就是 Web Edition 的 1GB 費率。如果隔天,資料庫大小成長至 3GB,則該日的每日費用就會以 Web Edition 的下一個計費遞增單位為基礎,也就是 5GB。如果隔天,刪除一些資料之後,其大小降回 900MB,則每日費用就會再次以 1GB 為基礎。

相同的範例也適用於 Business Edition 資料庫。假設我們有一個 MAXSIZE=150GB 的 Business Edition 資料庫。如果總計資料庫大小為 8GB,則資料庫的每日費用就是 10GB 費率。如果隔天,資料庫大小成長至 25GB,則每日費用就會以 Business Edition 的下一個計費遞增單位為基礎,也就是 30GB,依此類推。

每日費用就是該計費遞增單位的每月費率除以當月的天數。

問:SQL Azure 與使用 SQL Server 2008/SPLA 的本機主控提供者有何不同?

使用專用的裝載資料庫時,開發人員和 IT 專業人員仍然必須負責安裝、設定、更新和修補作業系統與資料庫軟體。此外,裝載資料庫解決方案的使用者必須設計自己的 HA、向外延展和災害���原解決方案,因而增加整體管理成本。

SQL Azure 是一套高度可用且可擴充的分散式資料庫服務,由 Microsoft 裝載於雲端。SQL Azure 可讓您輕鬆地將關聯式資料庫佈建和部署成服務。開發人員不需要安裝、設定、修補或管理任何軟體。HA、備份與復原、地理分散和災害復原都已內建在服務中。

問:SQL Azure 價格與 SQL Server 價格如何相比?

因為它們是不同的產品 (一個是資料庫伺服器,另一個是雲端服務),所以無法直接根據價格來比較這兩個產品。SQL Server 是透過軟體授權購買。相較之下,SQL Azure 是一套雲端服務,其價格所反映的成本會與伺服器硬體、軟體、網路頻寬、儲存體以及執行 SQL Azure 之硬體的管理相關聯。我們所設計的每項功能都可讓您彈性地選擇最適合您需求的平台和商務模型。

問:如果我在 SQL Azure 平台上建置了應用程式,是否能將它移至內部部署或裝載伺服器?

許多運用 SQL Azure 的應用程式都可以輕易地移植到內部部署或裝載的 SQL Server。雖然某些應用程式可能需要重新設計架構才能在 SQL Server 上執行,不過 SQL Azure 透過 TDS 支援與 SQL Server 相同的 T-SQL 架構關聯式模型,因此現有的自訂和 LOB 封裝的應用程式通常可以在變更幅度最小的情況下,移轉至此解決方案。

問:我是否能在 SQL Azure 上取得現有 SQL Server 授權的信用額度?

否。我們目前不允許移動 SQL Server 授權。

問:SQL Azure 是否為 SQL Server 2008 R2 之後的下一個 SQL Server 版本?

否。SQL Azure 是以服務形式提供的雲端資料庫,與 SQL Server 不同。SQL Azure 是一套向外延展平台服務,它會以服務的形式為您提供視需要關聯式資料庫。雖然 SQL Azure 與 SQL Server 產品具有不同的開發排程,不過它們都位於平行的程式碼路徑上,而且主動共用新的功能與創新技術。

問:新的 Windows Azure 平台是否表示客戶會將所有未來和現有的應用程式都移至雲端?

Microsoft 可讓您彈性地選擇使用內部部署技術、雲端技術或這兩者,做為軟體加值服務 (S+S) 策略的一部分。許多客戶已經表達了強烈的興趣,希望能夠依照其商務需求彈性地挑選部署選項。Microsoft 將繼續致力於投入、創新和發行新版 Windows Server、Windows Azure、SQL Server、SQL Azure 和 System Center,確保您能夠獲得雲端運算技術的優勢,不論您的應用程式是在自己的資料中心內執行、在 Microsoft 主控合作夥伴的資料中心內執行,還是在我們的公用雲端環境中執行都一樣。

問:SQL Azure Data Sync 服務的價值為何?

SQL Azure Data Sync 會透過雙向資料同步處理,在 SQL Azure 與 SQL Server 資料庫之間提供資料移動管理能力。使用 SQL Azure Data Sync 時,組織可以充分運用 SQL Azure 和 Microsoft Sync Framework 的強大功能,在雲端中建置商務資料中樞,以便輕鬆地與多個 SQL Azure 資料中心、行動使用者、商務合作夥伴、遠端辦公室和企業資料來源共用資訊,同時利用雲端的新服務。這項組合提供了一個橋樑,讓內部部署與外部部署應用程式能夠一起運作。您可以在 SQL Azure Community Technical Preview 註冊 SQL Azure Data Sync 的 Customer Technical Preview (CTP)。

使用 SQL Azure Data Sync 可以:

  • 將現有的 SQL Azure 資料庫擴充至世界各地的一個或多個資料中心,以提供隨處可用的資料存取能力。
  • 將現有的內部部署 SQL Server 資料連結至 SQL Azure,以便在 Windows Azure 中建立新的應用程式,而不需要放棄現有的內部部署應用程式。
  • 讓 Windows Azure 和 SQL Azure 架構的應用程式離線,以便提供「類似 Outlook」的快取模式體驗。
  • 透過雲端,將內部部署資料擴充至遠端辦公室、零售商店和行動工作者。

問:何時會發行 SQL Azure Data Sync 服務的支援版本?

目前,SQL Azure DataSync 服務是以 Community Technology Preview (CTP) 的形式提供。我們將會在這段公開預覽期間聽取客戶的意見反應,以便協助我們判斷如何確保為客戶提供最高價值。因此,發行日期將取決於客戶,以及處理客戶意見反應所需之變更的複雜性。

問:客戶是否需要支付 DataSync 服務的費用?

目前,Data Sync 服務完全免費。不過,您仍然必須針對移入和移出 SQL Azure 資料庫的資料支付資料傳輸費用。如需這項價格的詳細資訊,請造訪:http://www.microsoft.com/windowsazure/pricing/

回頁首

連接性

問:如何連接到 SQL Azure?

就連接性而言,與 SQL Server 2008 R2 一起發行的 SQL Server Management Studio (SSMS) 版本完全支援 SQL Azure。如果您使用舊版 SSMS,在第一次開啟 Management Studio 時顯示的 [連接] 視窗中輸入伺服器名稱和使用者認證時,就會看見下列錯誤訊息。

  

若要解決這個錯誤,請執行下列步驟:

1.按一下 [連接到伺服器] 錯誤上的 [確定],然後取消並退出 [連接] 視窗。

  

 

2.按一下 [新增查詢] 圖示。

  

3.在顯示的 [連接到伺服器] 對話方塊中,輸入您的連接認證。

注意:登入應該採用下列格式:username@servername

  

如果您需要連接到特定資料庫,請按一下 [選項] 按鈕,然後在 [連接到資料庫] 方塊中輸入資料庫名稱。

注意:不支援 USE <Database>。如果您需要在登入之後連接到其他資料庫,請按一下滑鼠右鍵,然後按一下 [變更連接]。

問:如何檢查有關 Windows Azure 平台健全狀況的目前狀態?

您可以在 http://www.microsoft.com/windowsazure/support/status/servicedashboard.aspx,針對 SQL Azure 資料庫的區域檢查服務儀表板。您也可以訂閱個別的 RSS 摘要。

 

問:我無法連接到 SQL Azure。要如何疑難排解這個問題?

如需有關疑難排解常見連接性問題的詳細資訊,請參閱 SQL Azure 連接性疑難排解指南

問:哪裡可以找到 SQL Azure 的範例連接字串?

當您佈建伺服器時,SQL Azure 入口網站就會提供可用於應用程式的連接字串。下面是一般&#26684;式的 ADO.NET 和 ODBC 連接字串:

ADO.NET

Server=tcp:<sqlazureservername>.database.windows.net;Database=<databasename>; 
User ID=user@<sqlazureservername>;Password=password;Trusted_Connection=False;

ODBC

Driver={SQL Server Native Client 10.0};Server=tcp:<sqlazureservername>
.database.windows.net;Database=<databasename>;
Uid=user@<sqlazureservername>;Pwd=password;Encrypt=yes;

問:我是否能備份儲存在 SQL Azure 中的資料?如何從資料損毀或資料遺失中復原?

一般而言,建議您最好建立備份,以便從邏輯資料遺失或損毀 (例如,使用者應用程式不小心刪除了資料) 中復原。SQL Azure 會定期執行備份並且執行一致性檢查,以便從硬體失敗中復原。不過,這是支援服務整體健全狀況的內部作業,不會公開給 SQL Azure 使用者。但是,您隨時都可以使用大量複製公用程式 (BCP) 或 SQL Server Integration Services (SSIS),將自己的資料複製到內部部署 SQL Server 資料庫。您也可以使用資料庫複製功能,在相同的子區域中建立資料庫的複本,以便在使用者錯誤的事件中當做備份使用。

問:是否有針對在內部部署 SQL Server 與 SQL Azure 之間移動資料提供任何實際操作實驗室或示範?

Windows Azure 訓練套件提供了有關 SQL Azure 的範例、示範和簡報,包括移轉資料庫。

問:如何設定 SQL Azure 防火牆?

除非您特別允許某個 IP 位址,否則 SQL Azure 防火牆會防止存取 SQL Azure 伺服器。您必須先將需要存取之電腦的 IP 位址加入至防火牆設定,然後它們才能嘗試連接到 SQL Azure 伺服器。您可以透過 SQL Azure 入口網站上 [伺服器管理] 頁面底下的 [防火牆設定] 索引標籤完成此作業。此外,還有一個 [允許 Microsoft 服務存取這部伺服器] 核取方塊。核取此方塊就會允許來自 Windows Azure 中裝載之應用程式的連接。

如需有關設定防火牆的詳細資訊,請參閱如何:設定 SQL Azure 防火牆

問:如何將 SQL Azure 的存取權授與我的 Web 角色?

在入口網站上 [伺服器管理] 頁面中的 [防火牆設定] 索引標籤底下,核取 [允許 Microsoft 服務存取這部伺服器] 選項。

  

如需有關設定防火牆的詳細資訊,請參閱如何:設定 SQL Azure 防火牆

問:我的資料在線上是否安全?

SQL Azure 會隨時針對所有用戶端連接強制 SSL 加密。不過,如果您的用戶端應用程式未在連線時驗證憑證,則您的連接就可能受到攔截式攻擊。

如需有關連接加密的詳細資訊,請參閱安全性方針和限制

回頁首

支援與不支援的功能

問:SQL Azure 是否支援連結的伺服器?我是否能在內部部署 SQL Server 與 SQL Azure 伺服器之間,或在 SQL Azure 伺服器的兩個執行個體之間啟用連結的伺服器?

否,SQL Azure 目前不支援連結的伺服器。因此,您無法在內部部署解決方案與 SQL Azure 之間啟用連結的伺服器,也無法在雲端內部啟用。

問:SQL Azure 支援的預設隔離等級為何?

讀取認可快照隔離。

問:SQL Azure 是否支援變更追蹤?

目前無法在 SQL Azure 中使用變更追蹤。

問:SQL Azure 是否支援空間資料類型?

空間資料類型的支援已於 SU3 (2010 年 6 月) 加入。

問:SQL Azure 是否支援大量複製?

是,SQL Azure 支援大量複製公用程式 (BCP) 和 SqlBulkCopyAPI。但是,不支援 TSQL 命令 BULK INSERT

問:如果我在 IF...Else 迴圈內部加入了 DROP Database,就會收到不支援 DROP Database 的錯誤,即使我已連接到 Master 資料庫也一樣?

這是 SQL Azure 的限制。登入的資料定義語言 (DDL) 必須是批次中的唯一陳述式,而且它們無法在 IF..ELSE 陳述式內部產生迴圈。請參閱方針和限制

在 ADO.NET 應用程式中執行 CREATE/ALTER/DROP LOGINCREATE/DROP DATABASE 陳述式時,不允許使用參數化命令。上述每個陳述式都必須是 SQL 批次中的唯一陳述式。

問:SQL Azure 是否支援 SQL Agent?

SQL Azure 目前不支援 SQL Agent。

問:SQL Azure 是否支援 SQL Profiler?

SQL Azure 目前不支援 SQL Profiler。不過,為了協助診斷效能問題,某些疑難排解動態管理檢視 (DMV) 已啟用。DMV 支援能力的詳細清單位於 http://msdn.microsoft.com/en-us/library/ee336238.aspx#dmv

問:SQL Azure 是否支援 Service Broker?

SQL Azure 目前不支援 Service Broker。

問:SQL Azure 是否支援複寫?我是否能將資料從內部部署 SQL 複寫至 SQL Azure?

SQL Azure 目前不支援複寫。少數可用的選項如下所示:

  • 您可以使用 SQL Azure Data Sync,在內部部署 SQL Server 與 SQL Azure 之間同步處理資料,以及在兩個以上的 SQL Azure 伺服器之間同步處理資料。
  • 您也可以使用 SQL Server Integration Services (SSIS)、SQL Server Management Studio (SSMS) 或大量複製公用程式 (BCP),在內部部署 SQL 與 SQL Azure 之間移動資料。
  • SQL Azure 移轉精靈也提供了在內部部署 SQL Server 與 SQL Azure 之間或在兩個 SQL Azure 執行個體之間移動資料的功能。

問:SQL Azure 是否支援 Entity Framework?

是。SQL Azure 支援 Entity Framework。如需詳細資訊,請參閱如何:使用 ADO.NET Entity Framework 連接到 SQL Azure

問:雲端解決方案是否支援 Reporting Services、Analysis Services 或 SSIS?

SQL Azure Reporting 已於 PDC 2010 宣告,而且將以 Community Technology Preview (CTP) 的形式發行。如需詳細資訊,請參閱 SQL Azure Reporting 簡介。您可以在 SQL Azure Community Technical Preview 註冊參與 CTP。

SQL 2008 R2 (Reporting Services、Analysis Services 和 SSIS) 也支援 SQL Azure 並最佳化,而且可以從您的內部部署商業智慧專案存取 SQL Azure 做為資料來源。

問:SQL Azure 是否支援自動分割機制,讓我能夠在多個資料庫之間輕鬆地分割資料?

目前不支援 SQL Azure 資料庫的自動分割。使用者必須在其應用程式邏輯中處理資料的分割。如需詳細資訊,請參閱 透過 SQL Azure 分區化
SQL Azure 同盟已經宣告,但是目前無法使用。這項功能可讓您透過健全的連接路由機制,輕鬆地重新分割和重新散發資料。

問:SQL Server 錯誤記錄是否能在 SQL Azure 中使用?

否,SQL Server 錯誤記錄目前無法在 SQL Azure 中使用。

問:是否支援 IPV6?

否,目前無法使用 IPV6。如果我們發現需求增加,就會加入 IPV6 的支援。

問:是否支援從 Excel 連接到 SQL Azure?

Office 2010 版本的 Excel 可以使用 SQL Azure 做為資料來源。如需詳細資訊,請參閱將 Microsoft Excel 連接到 SQL Azure 資料庫

問:SQL Azure 是否支援 JDBC 驅動程式?

是,不過需要使用 SQL Server JDBC 驅動程式 3.0 的特定更新。如需詳細資訊,請參閱 http://support.microsoft.com/kb/2504052

問:SQL Azure 是否支援任何工作階段狀態提供者?

SQL Azure 不支援工作階段狀態提供者。如需詳細資訊,請檢閱可搭配 Microsoft SQL Azure 使用的已更新 ASP.NET 指令碼 (英文)。

問:我在相同的伺服器上擁有兩個資料庫。是否支援在相同伺服器的資料庫之間聯結資料表?

不支援在兩個資料庫之間聯結資料表。SQL Azure 伺服器是資料庫的邏輯群組。相同伺服器中的資料庫會散佈在環境的節點之間。您可以在應用程式邏輯中撰寫展開傳送查詢,以便達成相同的功能。

問:SQL Azure 是否支援稽核功能?

目前的 SQL Azure 版本並未包含稽核功能。

問:既然 SQL Azure 不支援 RowGUID 資料行,那麼建議客戶使用的替代方案為何?

替代方案就是使用 uniqueidentifier 做為資料行類型,然後使用 NEWID(),在插入時產生 GUID。

CREATE TABLE MyTest ( MyID UNIQUEIDENTIFIER DEFAULT NEWID() PRIMARY KEY, 
Name VARCHAR(10)) INSERT INTO MyTest (name) VALUES ('string1')
INSERT INTO MyTest VALUES (newid(), 'string2')

 

問:SQL Azure 伺服器所使用的時區為何?

不論您選擇的資料中心位置為何,SQL Azure 伺服器都會設定為 UTC 時區。目前的 SQL Azure 版本不支援變更時區。

問:針對 SQL Azure 資料庫或伺服器建立的連接數目是否有限制?

可針對資料庫或伺服器建立的連接數目沒有上限。不過,我們建議您使用連接共用來避免建立連接的初始成本 (查閱、SSL 交握、登入程序等等) 並且直接使用您的連接。

問:SQL Azure 中服務管理員帳戶的密碼原則為何?

此密碼的長度至少必須有 8 個字元,而且至少包含一個數字、一個字母和一個符號。此密碼不得包含使用者名稱中的任何三個連續字元。

問:我是否能針對 SQL Azure 建立多個管理員帳戶,就像 Windows Azure 一樣?

目前的 SQL Azure 版本只支援一個帳戶管理員和一個服務管理員帳戶。SQL Azure 尚未支援共同管理員功能,因此共同管理員會在 SQL Azure 入口網站中看見空白的訂閱清單。未來將會加入共同管理員功能的支援。

問:我是否能在不開啟通訊埠 1433 的情況下,連接到 SQL Azure?

您可以使用適用 SQL Azure 的資料庫管理員,在不開啟通訊埠 1433 的情況下,連接和管理 SQL Azure。它是特別針對尋求直接解決方案的 Web 開發人員和其他技術專業人員所設計,讓他們能夠在雲端中快速地開發、部署和管理其資料驅動應用程式。

回頁首

資料庫移轉與備份/還原

問:支援在內部部署 SQL Server 與 SQL Azure 之間移動資料的方法為何?

在內部部署 SQL Server 與 SQL Azure 之間移轉資料的方式有許多種。

  • SQL Server Integration Services (SSIS) 可搭配 ADO.NET 連接管理員使用並啟用平行處理原則,以便改善效能。您也可以根據大小和需求,編寫資料的指令碼。
  •  Codeplex 也有提供由社群所開發但是不受支援的指令碼工具:SQL Azure 移轉精靈
  •  大量複製公用程式 (BCP):您可以使用 BCP,將資料從內部��署 SQL Server 移轉至 SQL Azure,反之亦然。
  • 您也可以使用 [產生指令碼精靈] 搭配 SQL Server Management Studio 2008 R2 來編寫資料庫的指令碼。
  • 在 SQL Server 2008 R2 或更新版本中,匯入或匯出精靈會使用 .Net Provider for SQL Server 來提供 SQL Azure 資料庫的支援。如需詳細資訊,請參閱從 SQL Azure 匯出資料:匯入/匯出精靈
  • 此外,請檢閱有關將資料從內部部署移轉至 SQL Azure 的示範,包含在 Windows Azure 訓練套件中。

問:如何使用 SQL Server Management Studio 來產生 SQL Azure 相容的指令碼?

SQL Server 2008 R2 隨附的 SQL Server Management Studio (SSMS) 版本支援 SQL Azure。您可以從 Microsoft SQL Server 2008 R2 RTM - Management Studio Express 下載 Express 版本的 SSMS。若要使用 SSMS 來產生 SQL Azure 相容的指令碼,請執行下列步驟:

1.在 SSMS 中,選取資料庫、按一下滑鼠右鍵、選取 [工作],然後選取 [產生指令碼]

  

2.在 [設定指令碼編寫選項] 底下,按一下 [進階] 並且將 [Database Engine 類型的指令碼] 設定為 [SQL Azure 資料庫]



3.在 [設定指令碼編寫選項] 底下,按一下 [進階] 並且將 [Database Engine 類型的指令碼] 設定為 [SQL Azure 資料庫]。

問:如何將 MySQL 資料庫移轉至 SQL Azure?

SQL Server Migration Assistant Tool Kit 2008 for MySQL v1.0 可協助您將資料庫從 MySQL 移轉至 SQL Azure。這項工具會大幅減少從 MySQL 移轉至 SQL Server 2008 和 SQL Azure 的工作、成本和風險。SSMA 2008 for MySQL v1.0 CTP1 會提供移轉工作評估,並且自動化結構描述和資料移轉。

問:SQL Azure 是否具有回溯相容性?我是否能將 SQL Server 2000 或 SQL Server 2005 資料庫移轉至 SQL Azure?

SQL Azure 無法在回溯相容模式中執行。SQL Azure 是以 SQL Server 2008 程式碼基底為建置基礎。因此,所有已被取代的 SQL Server 2000 和 SQL Server 2005 功能都無法在 SQL Azure 中運作。您可以先使用 SQL Server 2008 Upgrade Advisor 來測試資料庫相容性,然後再移轉至 SQL Azure。您可以使用 SQL Azure 移轉精靈來檢查 SQL Server 2008 與 SQL Azure 之間的相容性。這項工具也可以分析 SQL Profiler 追蹤,以便檢查應用程式所產生之 T-SQL 陳述式的相容性。

問:儲存在 SQL Azure 中之資料的備份方式為何?客戶如何從損毀或資料遺失中復原?

一般而言,建議客戶最好建立備份,以便從邏輯資料遺失或損毀 (例如,使用者應用程式不小心刪除了資料) 中復原。此服務也會定期執行備份並且執行一致性檢查,以便從硬體失敗中復原,但是這項作業僅供服務內部使用。不過,客戶隨時都可以使用大量複製公用程式 (BCP) 或 SQL Server Integration Services (SSIS),將自己的資料複製到內部部署 SQL Server 資料庫。

問:是否有針對在內部部署 SQL Server 與 SQL Azure 之間移動資料提供任何實際操作實驗室或示範?

Windows Azure 訓練套件提供了有關 SQL Azure 的範例、示範和簡報,包括移轉資料庫。

回頁首

資料庫大小

問:可在 SQL Azure 中建立的資料庫數目有何限制?

每個伺服器的彈性限制為 150 個資料庫。客戶可以透過連絡 Azure 服務台並完成信用檢查程序,移除該項限制。

問:這些功能所支援的最大資料庫大小是否有限制?

目前提供了兩種版本:Web Edition 和 Business Edition。Web Edition 和 Business Edition 目前允許的資料庫大小上限分別為 5GB 和 150GB。未來,我們將會提高這項限制。請透過 SQL Azure 團隊部落&#26684;隨時掌握更新資訊。

問:達到資料庫大小上限時,系統有何行為?

達到已佈建之版本的大小上限時,客戶將會看見錯誤碼 40544。下面是預期的行為:

  • 所有插入/更新/建立/更改和加入作業將會受到節流,而且任何嘗試將其他資料加入至資料庫的行為都會導致工作階段終止。
  • 讀取作業將繼續運作。
  • 刪除/卸除/截斷等作業將會運作,因此您可以透過卸除資料表及/或索引、刪除資料或截斷資料表,縮減資料庫大小。
  • 一旦釋出空間之後,最多可能會產生 15 分鐘的延遲,然後您才能插入新的資料。

您可以在方針和限制中找到詳細資訊。

問:如何找到資料庫的實際大小,以便了解剩餘的空間量並據以規劃?是否有任何程式設計方式能讓我找到資料庫的大小?

資料庫大小的計算方式如下:計算資料庫中包含其資料表、索引和物件之頁面的數目。這種計算方式與計算標準 SQL Server 中資料庫的大小很相&#20284; – 不會計算執行個體所取用的磁碟空間,只會計算每個資料庫所取用的空間。不會影響大小的一些事項包括:

  • 從大小計算中排除記錄
  • 從大小計算中排除 Master DB
  • 從計算中排除所有其他系統資料庫和伺服器目錄
  • 從計算中排除所有客戶資料庫複本 (我們只會計算三個客戶資料庫複本的其中一個)

沒有任何程式設計方式能夠在我們目前的功能中找到這項資訊。未來,我們將努力加入這項功能。SQL Azure 入口網站會顯示實際的使用量。

 

您也可以使用下列資料管理檢視 (DMV) 來取得所使用之資料庫的約略大小:

SELECT SUM(reservered_page_count)*8.0/1024 as ‘SizeInMB’ 
FROM sys.dm_db_partition_stats

問:資料庫大小是否包含記錄?

否,資料庫的大小只包含資料、索引和物件。如需詳細資訊,請參閱 SQL Azure 中的帳戶和計費

回頁首

計費與度量資訊

問:您是否能說明一下依比例的計費模型?

SQL Azure 的計費模型非常簡單。它是以資料庫的總數、其版本以及持續時間內的頻寬費用為基礎。當您建立資料庫 (任何一種類型) 時,我們就會啟動計量表。當您卸除資料庫時,我們就會停止計量表。如果資料庫存在一整個月,您就必須支付 $9.99 美元 (Web Edition 資料庫) 和 $99.99 美元 (Enterprise Edition)。如果您的資料庫只存在幾天,我們就會依照「資料庫天數」收費。若為 Web Edition 資料庫,一天大約是 $0.30 美元。

您可以透過 DMV sys.bandwidth_usage 取得頻寬使用量詳細資料,而且可以透過 DMV sys.database_usage 取得資料庫使用量詳細資料。您可以在 SQL Azure 價&#26684;中找到有關計價模型的詳細資訊。

問:哪裡可以找到 SQL Azure 服務的某些度量資訊?

某些度量資訊會儲存在 master 資料庫中。我們已經加入了 sys.database_usagesys.bandwidth_usage 等新的檢視,這些檢視會顯示資料庫的數目、類型和大小,以及每個資料庫的頻寬使用量。

問:我是否必須針對 master 資料庫付費?

否,master 資料庫完全免費。

回頁首

管理訂閱

問:當我取消訂閱 Azure 時,是否將立即刪除 SQL Azure 資料庫?SQL Azure 如何處理已經標示要刪除的資料?

當您要求取消訂閱 Azure 時,基本上就相當於取消所有 Azure 服務的訂閱。尤其是 SQL Azure,其訂閱將從作用中變更為停用狀態。但是,系統不會立即刪除您的 SQL Azure 資料庫。它會提供 90 天的保留期限,讓您能夠選擇重新啟用 Azure 的訂閱,或者僅匯出您的 SQL Azure 資料庫。超過 90 天的寬限期之後,訂閱就會進入撤銷狀態,而且系統會永久刪除 SQL Azure 資料庫。

問:一旦我取���訂閱之後,SQL Azure 資料保留和隱私權原則為何?

SQL Azure 會在您取消訂閱的 90 天之後刪除 SQL Azure 資料庫。

問:我是否能選擇單獨取消 SQL Azure 或任何一個 Azure 服務,而非所有服務?

取消作業將會影響 3 項可用的 Azure 服務:Windows Azure、SQL Azure 和 AppFabric��不過,因為這些服務是「依照使用項目付費」,所以如果您想要保留訂閱但是不想要針對 SQL Azure 計費,只要刪除資料庫和伺服器,就不會針對 SQL Azure 計費。

問:如何將我的資料庫從某個訂閱移轉至另一個訂閱?

您可以使用 CREATE DATABASE ....AS COPY OF ...T-SQL 陳述式、SQL Sever 2008 R2 版本之 SQL Server Management Studio (SSMS) 中的 [產生指令碼精靈]、SQL Server Integration Services (SSIS) 或大量複製公用程式 (BCP),將資料庫從某個訂閱移轉至另一個訂閱。因為 SQL Azure 伺服器是邏輯伺服器,而且伺服器名稱是自動產生的,所以您的用戶端連接字串需要更新。如果您的訂閱位於相同的子區域中,您可以連絡服務台,以便將伺服器和資料庫從某個訂閱移至另一個訂閱。目前的 SQL Azure 版本只支援每個訂閱具有單一伺服器。

問:如何交換訂閱或將訂閱移至另一個 Live ID?

您可以使用 SQL Sever 2008 R2 版本之 SQL Server Management Studio (SSMS) 中的 [產生指令碼精靈]、SQL Server Integration Services (SSIS) 或大量複製公用程式 (BCP),將資料庫從某個訂閱移轉至另一個訂閱。但是,您必須在新的伺服器上手動設定 SQL Azure 防火牆。因為 SQL Azure 伺服器是邏輯伺服器,而且伺服器名稱是自動產生的,所以您的用戶端連接字串需要更新。我們正在設計一項工具 (將於未來提供),可協助您將訂閱從某個帳戶移至另一個帳戶。

問:如何建立其他 SQL Azure 伺服器?

SQL Azure 伺服器只是資料庫的邏輯群組而已。SQL Azure 會針對每個訂閱提供一個伺服器。不過,您可以使用單一通用 Azure 平台帳戶來建立許多訂閱。這樣做可讓您視需要建立許多伺服器。

回頁首

服務更新

問:發行服務更新時,是否所有人都會套用最新版本?

是,系統會針對所有客戶發行服務更新,因此所有人都將套用最新版本。

問:發行作業系統修補程式和服務更新的程序為何?

修補程式和服務更新會發行至 SQL Azure 環境中的所有電腦。我們將進行測試和評估,確保更新具有回溯相容性。

回頁首

其他

問:我的工作負載可能會受到節流的不同狀況為何?

一般而言,節流狀況可分類成:

  • 您達到資料庫的大小配額 – 所有更新/插入/建立/加入活動都將受到節流,直到縮減資料庫大小為止。
  • 短期暫時性負載狀況 -- 此錯誤表示用戶端需要重試。

如需如何處理連接遺失錯誤的詳細資訊,請參閱 TechNet Wiki 中的 SQL Azure 中的連接管理文件。此文件會列出連接遺失的原因,並且提供如何在 SQL Azure 中管理連接生命週期的方針和最佳編碼方式。此外,請閱讀 MSDN Library 中的疑難排解 SQL Azure主題。

問:SQL Azure 如何發展成支援較大的資料集?

SQL Azure 所提供的平台可讓客戶向外延展至無限的可能性。客戶可以在應用程式層級中分割資料。未來,我們將會提高允許的資料庫大小。未來將會加入在平台中分割的支援。

問:哪裡可以找到 SQL Azure 的案例研究?

包括 SQL Azure 的案例研究位於 Windows Azure 案例研究

回頁首


原作者:Abi Iyer、Dinakar Nethi
Leave a Comment
  • Please add 2 and 3 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Carsten Siemens edited Revision 6. Comment: Added tag: zh-TW

  • Windows Azure Product Team edited Revision 5. Comment: update the sql azure business size limitation 150GB instead of 50GB

Page 1 of 1 (2 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Windows Azure Product Team edited Revision 5. Comment: update the sql azure business size limitation 150GB instead of 50GB