什麼是 Azure SQL Database?

適用於:Azure SQL Database

本文提供 Azure SQL 資料庫 的概觀,這是完全受控的平臺即服務(PaaS)資料庫引擎,可處理大部分的資料庫管理功能,例如升級、修補、備份和監視,而不需要使用者介入。

注意

免費試用 Azure SQL 資料庫 免費,每月取得 100,000 個虛擬核心秒的無伺服器計算和 32 GB 的記憶體。

概觀

Azure SQL Database 一律會在最新穩定版本的 SQL Server 資料庫引擎與具有 99.99% 可用性的已修補作業系統上執行。 內建至 Azure SQL 資料庫的 PaaS 功能可讓您將焦點放在對企業非常重要的網域特定資料庫管理和最佳化活動上。 有了 Azure SQL Database,您可為 Azure 中的應用程式與解決方案建立高度可用且高效能的資料儲存層。 SQL 資料庫 可以是各種新式雲端應用程式的正確選擇,因為它可讓您同時處理關係型數據和非關係結構,例如圖形、JSON、空間和 XML。

Azure SQL Database 以最新穩定版本的 Microsoft SQL Server 資料庫引擎為基礎。 您可使用進階查詢處理功能,例如高效能記憶體內部技術智慧查詢處理。 事實上,SQL Server 的最新功能會先在 Azure SQL Database 中發行,然後在 SQL Server 本身發行。 您可取得最新的 SQL Server 功能,無需額外的修補或升級,即可在數百萬個資料庫之間進行測試。

SQL Database 可供輕鬆地在兩個不同的購買模型內定義和調整效能:以虛擬核心為基礎的購買模型以 DTU 為基礎的購買模型。 SQL Database 是完全受控的服務,其具有內建的高可用性、備份與其他一般維護作業。 Microsoft 可處理 SQL 和作業系統程式碼的所有修補和更新。 您不需要管理基礎結構。

如果您不熟悉 Azure SQL Database,請觀看我們深入的 Azure SQL 影片系列中的 Azure SQL Database 概觀影片:

購買模型

SQL Database 提供下列購買模型:

服務層

以虛擬核心為基礎的購買模型提供三個服務層:

  • 一般用途服務層級是專為常見工作負載所設計。 其提供以預算為導向且平衡的計算與儲存體選項。
  • 業務關鍵服務層級是專為具有高交易率和低延遲 I/O 需求的 OLTP 應用程式所設計。 其藉由使用數個隔離的複本來提供最高失敗復原能力。
  • 超大規模資料庫服務層級是針對大部分的商務工作負載所設計。 超大規模資料庫透過可獨立調整的計算和儲存體資源,提供絕佳的彈性和高效能。 由於可設定一個以上的隔離資料庫複本,因此可提供更高的失敗復原能力。

以 DTU 為基礎的購買模型提供兩個服務層級:

  • 標準服務層級是專為常見工作負載所設計。 其提供以預算為導向且平衡的計算與儲存體選項。
  • 進階服務層級是專為具有高交易率和低延遲 I/O 需求的 OLTP 應用程式所設計。 其藉由使用數個隔離的複本來提供最高失敗復原能力。

計算層

以虛擬核心為基礎的購買模型會針對 Azure SQL 資料庫提供兩個不同的計算層 - 佈建的計算層和無伺服器計算層。 以 DTU 為基礎的購買模型只提供佈建的計算層。

  • 佈建計算層會提供特定數量的計算資源,這個計算資源與工作負載活動無關,且會持續佈建並依每小時固定價格佈建的計算數量計費。
  • 無伺服器計算層:根據工作負載活動和每秒使用的計算數量計費,自動調整計算資源。 無伺服器計算層在一般用途服務層級和超大規模資料庫服務層級中正式推出。

部署模型

Azure SQL Database 為資料庫提供下列部署選項:

  • 單一資料庫代表完全受控的隔離資料庫。 如果有需要單一可靠資料來源的現代化雲端應用程式和微服務,則可使用此選項。 單一資料庫類似於 SQL Server 資料庫引擎中的自主資料庫
  • 彈性集區是具有一組共用資源 (例如 CPU 或記憶體) 的單一資料庫集合。 單一資料庫可以移入和移出彈性集區。

重要

若要了解 SQL Database、SQL Server 和 Azure SQL 受控執行個體之間的功能差異,以及不同 Azure SQL Database 選項之間的差異,請參閱 SQL Database 功能

SQL Database 利用多種資源類型、服務層級和計算大小來提供可預測的效能。 其提供無須停機的動態調整規模、內建智慧最佳化、全球可擴縮性和可用性,以及進階安全性選項。 這些功能可供專注於快速開發應用程式及加快上市時間,而非管理虛擬機器和基礎結構。 SQL Database 目前在全球 38 個資料中心提供,您可在附近的資料中心執行資料庫。

可擴充的效能和集區

您可定義指派的資源數量。

  • 使用單一資料庫,每個資料庫都彼此隔離且可移植。 各自都有保證數量的計算、記憶體和儲存體資源。 指派給資料庫的資源數量會專用於該資料庫,而不會與 Azure 中的其他資料庫共用。 您可動態擴大和縮小單一資料庫資源。 單一資料庫選項提供不同的計算、記憶體和儲存體資源,以滿足不同需求。 例如,您可取得 1 到 128 個虛擬核心,或 32 GB 到 4 TB。 超大規模資料庫服務層級可讓您調整為 100 TB,並具有快速備份和還原功能。
  • 使用彈性集區,您可指派集區中所有資料庫所要共用的資源。 您可建立新的資料庫,或將現有單一資料庫移至資源集區,以充分利用資源並節省成本。 此選項也可供動態擴大和縮小彈性集區資源

注意

超大規模 資料庫彈性集區目前為預覽狀態。

您可在一般用途的服務層級中,以每月僅需繳納低額費用的方案,在一個小型的單一資料庫上建置第一個應用程式。 之後可隨時透過手動方式或程式設計,將服務層級變更為業務關鍵超大規模資料庫服務層級,以滿足解決方案需求。 您的應用程式或客戶皆無須停機,即可調整效能。 動態調整規模可讓您的資料庫以透明的方式回應快速變化的資源需求。 您只需支付所需的資源費用。

動態調整規模自動調整規模不同。 自動調整規模是指服務根據準則來自動調整規模,而動態調整規模則允許在不停機的狀況下手動調整規模。 單一資料庫選項支援手動的動態調整規模,但不支援自動調整。 如需更自動化的體驗,請考慮下列替代方案:

可將資源使用量最大化的彈性集區

對於許多企業和應用程式而言,只要能夠建立單一資料庫,並依需求調高或調低的效能即可,尤其是當使用模式相當容易預測時更是如此。 無法預測的使用模式可能會使得難以管理成本和商務模型。 彈性集區的設計可解決此問題。 您可將效能資源配置給集區,而非個別資料庫。 然後針對集區的整體效能資源 (而非單一資料庫效能) 付費。

Graphic that shows elastic pools in basic, standard, and premium editions

使用彈性集區,您就不必隨著資源的需求波動而專注於調高或調低資料庫效能。 集區資料庫會視需要取用彈性集區的效能資源。 集區資料庫會取用集區的資源,但不會超過其限制,因此成本可在個別資料庫使用情形無法預測的狀況下維持可預測性。

您可將資料庫新增至集區並從中移除,並將應用程式從數個資料庫擴充至數千個,且全都在可掌控的預算內。 您也可以控制集區中資料庫可用的資源下限和上限,以確保集區中不會有任一資料庫使用所有的集區資源,且每個集區資料庫都有保證的最低資源數量。 若要深入瞭解使用彈性集區之軟體即服務 (SaaS) 應用程式的設計模式,請參閱使用 SQL 資料庫 的多租使用者 SaaS 應用程式設計模式。

指令碼可協助您監視及調整彈性集區的規模。 如需範例,請參閱使用 PowerShell 在 Azure SQL Database 中監視和調整彈性集區

混合使用單一資料庫與集區資料庫

您可混合使用單一資料庫與彈性集區,並變更單一資料庫和彈性集區的服務層級來適應情況。 您也可以使用 SQL Database 來混合並搭配其他 Azure 服務,以滿足獨特應用程式的設計需求、有效運用成本和資源,且產生新的商機。

廣泛的監視和警示功能

Azure SQL Database 提供進階監視和疑難排解功能,可協助更深入解析工作負載特性。 這些功能和工具包括:

  • 最新版的 SQL Server 資料庫引擎所提供的內建監視功能。 這些功能可供尋找即時效能深入解析。
  • Azure 提供的 PaaS 監視功能,可供監視大量的資料庫執行個體並為其進行疑難排解。

查詢存放區是內建的 SQL Server 監視功能,可即時記錄查詢效能,並可供找出潛在的效能問題和最耗用資源的資源取用者。 自動調整和建議可為效能迴歸以及索引遺漏或重複的查詢提供相關建議。 SQL Database 中的自動調整可供手動套用指令碼來修正問題,或讓 SQL Database 套用修正程式。 SQL Database 也可測試並驗證修正程式是否提供一些好處,並根據結果保留或還原變更。 除了查詢資料存放區和自動微調功能以外,您還可使用標準 DMV 和 XEvent 來監控工作負載效能。

您可以使用 SQL 資料庫 的內建效能監視警示功能,有效率地監視數千個資料庫的狀態。 使用這些工具,即可根據目前或所預計效能需求來快速評定擴大或縮小的影響。 此外,SQL Database 可發出計量和資源記錄,以供更輕鬆地進行監視。 您可以將 SQL Database 設定為將資源使用量、背景工作與工作階段及連線儲存到下列其中一項 Azure 資源:

  • Azure 儲存體:用於封存大量遙測,價格實惠。
  • Azure 事件中樞:用於整合 SQL Database 遙測與自訂監視解決方案或經常性管線。
  • Azure 監視器記錄:用於具有報告、警示及風險降低功能的內建監視解決方案。

Diagram of Azure monitoring architecture

可用性功能

Azure SQL Database 可讓企業在面臨中斷時持續運作。 在傳統的 SQL Server 環境中,您通常會在本機設定至少兩部電腦。 這些電腦具有完全保持同步的資料複本,以提供保護來防止單一電腦或元件失敗。 此環境提供高可用性,但無法提供保護來防止自然災害損毀資料中心。

災害復原假設在災難性事件遠端設置了具有資料複本的另一部電腦或另一組電腦。 在 SQL Server 中,您可使用在非同步模式下執行的 Always On 可用性群組來取得這項功能。 使用者通常不想要等候複寫在那麼遠的地方出現再認可交易,因此當執行非計劃性容錯移轉時,可能會遺失資料。

進階和業務關鍵服務層級中的資料庫已執行與可用性群組的同步處理類似的功能。 較低服務層級中資料庫則使用不同但對等的機制,以透過儲存體提供備援。 內建邏輯有助於提供保護來防止單一電腦失敗。 作用中的異地復寫功能可保護您的資料庫,以防止廣泛的全區域中斷。

Azure 可用性區域會嘗試提供保護來防止單一區域內單一資料中心建築物的中斷。 其可協助提供保護來防止建築物的電源或網路中斷。 在 SQL Database 中,您會將不同複本放在不同的可用性區域中 (實際不同的建築物)。

事實上,由 Microsoft 受控資料中心全球網路提供的 Azure 服務等級協定 (SLA),可協助讓應用程式 24 小時全年無休地運作。 Azure 平台可完全管理每個資料庫,並保證任何資料都不會遺失及高度的資料可用性。 Azure 會自動處理修補、備份、複寫、失敗偵測,基礎潛在硬體、軟體或網路失敗、部署錯誤修正、容錯移轉、資料庫升級和其他維護工作。 隔離計算和儲存圖層可達成標準可用性。 整合單一節點上的計算和儲存體以獲取效能,然後實作類似 Always On 可用性群組的技術,則可達成進階可用性。 如需 Azure SQL Database 高可用性功能的完整討論,請參閱 SQL Database 可用性

此外,SQL Database 還提供內建的商務持續性和全球可擴縮性功能。 其中包括:

  • 自動備份

    SQL Database 會自動執行資料庫的完整、差異及交易記錄備份,以供您還原至任何時間點。 針對單一資料庫和集區資料庫,您可設定 SQL Database 將完整資料庫備份儲存至 Azure 儲存體,以供長期備份保留。 對於受控執行個體,您也可以對僅複製備份執行長期備份保留。

  • 時間點還原

    所有 SQL Database 部署選項均支援復原到任何資料庫自動備份保留期間內的任何時間點。

  • 主動式異地複寫

    單一資料庫和集區資料庫選項可供在相同或分散於全球的 Azure 資料中心最多設定四個可讀取的次要資料庫。 例如,如果您有具有大量並行唯讀交易之目錄資料庫的 SaaS 應用程式,請使用主動式異地複寫來啟用全域讀取規模,並移除因讀取工作負載而造成主要復寫的瓶頸。

  • 容錯轉移群組

    所有 SQL Database 部署選項均可供使用容錯移轉群組來啟用全球規模的高可用性和負載平衡。 故障轉移群組允許大型資料庫集和彈性集區的透明異地復寫和故障轉移。 容錯移轉群組可供建立分散於全球的 SaaS 應用程式,其管理負擔最小。 這可讓 SQL Database 處理所有複雜的監視、路由傳送及容錯移轉協調流程。

  • 區域備援資料庫

    SQL Database 可讓您跨多個可用性區域佈建進階或業務關鍵資料庫或彈性集區。 由於這些資料庫和彈性集區有多個備援複本可提供高可用性,因此將這些複本放入多個可用性區域即可提供更高的復原能力。 這包括能夠從資料中心規模的失敗自動復原,而不會遺失任何資料。

內建智慧

採用 SQL Database,您可取得內建智慧來協助大幅降低執行和管理資料庫的成本,並將應用程式的效能和安全性提到最高。 SQL 資料庫 平臺會收集和處理大量的遙測數據,同時完全尊重客戶隱私權。 各種演算法會持續評估遙測資料,讓服務能夠了解應用程式並隨其調整。

自動的效能監視和微調

SQL Database 會提供您需要監視之查詢的詳細解析。 SQL Database 會了解資料庫模式,並可供根據自己的工作負載調整資料庫結構描述。 SQL Database 提供效能微調建議,您可以在其中檢閱微調動作並加以套用。

不過,持續監視資料庫是冗長乏味的艱辛工作,尤其是在處理許多資料庫時。 Intelligent Insights 會自動大規模監視 SQL Database 效能來替您代勞。 其會通知效能降低的問題、識別每個問題的根本原因,然後盡可能提供效能改善建議。

即使使用 SQL Database 和 Azure 提供的所有可用工具和報表,都可能無法有效率地管理大量資料庫。 除了手動監視和調整資料庫,您也可以考慮使用自動調整,將一些監視和調整動作委派給 SQL Database。 SQL Database 會自動套用建議、測試及驗證每個調整動作,以確保持續改善效能。 如此一來,SQL Database 會以受控制且安全的方式自動根據工作負載進行調整。 自動調整表示在每個調整動作前後,資料庫效能都會受到仔細的監控和比較。 如果效能沒有改善,則會還原調整動作。

在 SQL 資料庫 之上執行 SaaS 多租使用者應用程式的許多合作夥伴都依賴自動效能調整,以確保其應用程式一律具有穩定且可預測的效能。 對他們而言,這項功能可大幅降低夜間發生效能事件的風險。 此外,由於其部分客戶也使用 SQL Server,因此合作夥伴會使用 SQL Database 所提供的相同索引建議來協助其 SQL Server 客戶。

SQL Database 中可用的自動調整層面有兩個:

  • 自動索引管理:識別應該在資料庫中新增的索引,以及應該移除的索引。
  • 自動計劃修正:識別有問題的計劃並修正 SQL 計劃效能問題。

自適性查詢處理

您可使用自適性查詢處理,包括交錯執行多重陳述式資料表值函式、批次模式記憶體授與回饋,以及批次模式自適性聯結。 每個自適性查詢處理功能都會應用類似的「了解並適應」技術,協助進一步解決與過去很棘手的查詢最佳化問題相關效能問題。

進階安全性與合規性

SQL Database 提供了各式各樣的內建安全性與合規性功能,協助您的應用程式符合各種安全性與合規性需求。

重要

Azure SQL Database (所有部署選項) 已通過許多合規性標準的 Microsoft 認證。 如需詳細資訊,請參閱 Microsoft Azure 信任中心,您可在當中找到 SQL Database 合規性認證的最新清單。

進階威脅防護

適用於 SQL 的 Microsoft Defender 是進階 SQL 安全性功能的整合套件。 其功能包括管理資料庫弱點,以及偵測可能表示對資料庫造成威脅的異常活動。 此套件可讓您從單一點位置啟用及管理前述功能。

  • 弱點評量

    這個服務可以探索、追蹤並協助您修復潛在的資料庫弱點。 可讓您檢視安全性狀態,且包含解決安全性問題和增強資料庫防護性的可行步驟。

  • 威脅偵測

    這項功能可偵測異常活動,指出有不尋常及可能有害的活動試圖存取或惡意探索資料庫。 進階威脅防護會持續監視您的資料庫是否有可疑活動,並在發現潛在弱點、SQL 插入式攻擊和異常資料庫存取模式時提供即時安全性警示。 威脅防護警示會提供可疑活動的詳細資料,以及如何調查並降低威脅的建議。

合規性和安全性稽核

稽核會追蹤資料庫事件,並將它們寫入至您 Azure 儲存體帳戶中的稽核記錄。 稽核可協助您保持法規合規性、了解資料庫活動,以及取得可能指出商務考量或疑似安全違規的不一致和異常見解。

資料加密

SQL Database 透過提供加密來協助保護您的資料。 針對移動中的資料,其會使用傳輸層安全性。 針對待用資料,其會使用透明資料加密。 針對使用中的資料,會使用 Always Encrypted

資料探索與分類

資料探索與分類提供內建於 Azure SQL Database 中的功能,可用來探索、分類、標記及保護資料庫中的敏感資料。 可供檢視資料庫分類狀態、追蹤對資料庫內敏感性資料的存取,並具有其他多方面的用途。

Microsoft Entra 整合和多重要素驗證

SQL 資料庫 可讓您使用 Microsoft Entra 整合集中管理資料庫使用者和其他 Microsoft 服務 的身分識別。 這項功能簡化了權限管理並增強安全性。 Microsoft Entra ID(先前稱為 Azure Active Directory)支援 多重要素驗證 ,以增加數據和應用程式安全性,同時支援單一登錄程式。

容易使用

SQL Database 讓應用程式的建置及維護更簡易也更有生產力。 SQL Database 讓您將精力集中於拿手項目:建置絕佳的應用程式。 您可使用已經擁有的工具和技能,在 SQL Database 中進行管理和開發。

工具 描述
Azure 入口網站 Web 應用程式,用於管理所有 Azure 服務。
Azure Data Studio 可在 Windows、macOS 和 Linux 上執行的跨平台資料庫工具。
Transact-SQL 可下載的免費用戶端應用程式,其用於管理任何 SQL 基礎結構 (從 SQL Server 到 SQL Database)。
Visual Studio 中的 SQL Server Data Tools SQL 資料庫、Integration Services 套件、Analysis Services 數據模型和 Reporting Services 報表的開發工具。
Visual Studio Code \(英文\) 可下載的免費開放原始碼程式碼編輯器,其適用於 Windows、macOS 和 Linux。 支援的擴充功能包括可供查詢 Microsoft SQL Server、Azure SQL Database 和 Azure Synapse Analytics 的 mssql 延伸模組

SQL Database 支援在 macOS、Linux 和 Windows 上使用 Python、Java、Node.js、PHP、Ruby 和 .NET 建置應用程式。 SQL Database 支援與 SQL Server 相同的連線庫

使用 Azure 入口網站來建立及管理 Azure SQL 資源

Azure 入口網站提供單一頁面,您可以在其中管理 所有的 Azure SQL 資源,其中包括 Azure 虛擬機器 (VM) 上的 SQL Server。

若要存取 [Azure SQL] 頁面,請從 Azure 入口網站功能表中選取 [Azure SQL],或在任何頁面中搜尋並選取 [Azure SQL]。

注意

Azure SQL 可讓您輕鬆快速地存取您在 Azure 入口網站中的所有 SQL 資源,包括 Azure SQL Database 和其裝載所在的邏輯伺服器、Azure SQL 受控執行個體和 Azure VM 上的 SQL Server。 Azure SQL 不是服務或資源,而是一系列的 SQL 相關服務。

若要管理現有的資源,請在清單中選取所需的項目。 若要建立新的 Azure SQL 資源,請選取 [+ 建立]。

Screenshot of the Azure SQL portal page.

選取 [+ 建立] 後,您可在任意圖格上選取 [顯示詳細資料],以檢視關於不同選項的其他資訊。

Screenshot of database tile details in the Azure portal.

如需詳細資料,請參閱:

SQL Database 常見問題集

我能否控制修補停機時間何時發生?

維護期間功能可讓您針對 Azure SQL Database 中的合格資料庫,設定可預測的維護期間排程。 維護期間進階通知 可供設定為使用非預設 維護時段的資料庫使用。

我要如何規劃維護事件?

如果您在應用程式中採用重試邏輯,則幾乎不會察覺到程式已經過修補。 如需詳細資訊,請參閱規劃 Azure SQL Database 的 Azure 維護事件

洽詢 SQL Server 工程團隊

後續步驟