Microsoft SQL 資料庫引擎是儲存、處理及保護資料的核心服務。 它為各種商業及創業應用提供受控存取與快速交易處理。
SQL 資料庫引擎是所有 Microsoft SQL 產品背後的共通底層引擎。 它是一款企業規模的通用關聯式資料庫管理系統(RDBMS)。
對於全球數百萬客戶,無論產業或組織層級,Microsoft SQL 資料庫引擎都是用於安全資料處理與儲存的資料庫服務。 高負載的應用程式能在大規模維護完整性的同時,可靠地讀取與修改資訊。 SQL 資料庫引擎作為一種服務執行,接受客戶端連線,然後對資料庫執行請求的操作。 SQL 資料庫引擎具備企業級資料存取與加密功能,並內建高可用性與資料庫復原功能,是一個完整的資料庫平台。
多模態資料庫引擎
SQL 資料庫引擎是一個多模態資料庫引擎,具備專門打造的儲存格式、專用索引結構,以及單一查詢優化器,能在所有資料模型中做出基於成本的決策。
使用 SQL 資料庫引擎的產品可以是企業級的線上交易處理(OLTP)、線上分析處理(OLAP)或現代應用的非關聯式解決方案。 關聯式、正規化資料在資料庫中可能很常見,但 SQL 資料庫引擎支援多種資料模型與資料格式。
所有功能都出現在同一個 SQL 資料庫引擎中,使用相同的 Transact-SQL(T-SQL)查詢語言,並採用相同的安全層,並使用相同的 HA/DR 解決方案。
- 列存儲索引:概觀
- SQL Server 和 Azure SQL Database 的圖表處理
- 鍵值對
- SQL Server 中的 JSON 資料
- 空間數據
- SQL 資料庫引擎中的向量搜尋和向量索引
- XML 資料 (SQL Server)
Tooling
SQL 資料庫引擎提供一套 免費且業界領先的工具 ,用於查詢、資料架構、自動化及資料庫開發。
資料庫管理員 (DBA) 會管理備份和還原、效能微調、安全性和高可用性。
推薦工具:
- SQL Server Management Studio (SSMS):使用圖形使用者介面進行功能完整的管理
- 適用於 Visual Studio Code 的 MSSQL 擴充功能:輕量型工作和腳本
- sqlcmd:用於部署和自動化的輕量型命令行介面 (CLI)
- Visual Studio Code 的 SQL 資料庫專案擴充功能:在原始碼控制中管理與開發專案中的資料庫結構
- SQL Server 遷移助理(SSMA):從 Microsoft Access、Db2、MySQL、Oracle 和 Sybase 遷移到 SQL Server 和 Azure SQL
資料庫基礎:ACID 合規性
任何關聯式資料庫管理系統的核心原則是支援交易的 ACID 屬性。 交易就是以單一工作邏輯單元執行的一連串作業。 一個邏輯工作單元必須具備四項特性,才能被視為交易:原子性、一致性、隔離性與持久性(ACID)。
| 房產 | 說明 |
|---|---|
| Atomicity | 交易必須是原子性 (Atomic) 的工作單位;要嘛資料的修改全部執行,要嘛就是全部不執行。 |
| 一致性 | 交易完成時,所有資料必須維持一致的狀態。 在關聯式資料庫中,所有規則與宣告的限制都必須套用於交易的修改中,以維持資料完整性。 |
| 隔離 | 一個交易所做的修改必須與其他並行交易所做的修改隔離。 交易之間不允許出現部分或中間狀態。 此特性也稱為序列化,因為它能重播一連串連續交易,導致相同的資料庫狀態。 |
| Durability | 交易完成後,會寫入非揮發性儲存,因此系統即使在失敗時仍記錄其影響。 只提交到揮發性記憶體(RAM)的交易並不耐用。 |
欲了解更多交易資訊,請參閱 交易鎖定與列版本管理指南。 欲深入了解 SQL 資料庫引擎,請參閱 SQL Server 內部結構與架構指南。
設計與預設情況下,SQL 資料庫引擎是一個完全符合 ACID 規範的資料庫。 為了規模或效能考量,資料庫開發者可故意繞過 SQL 資料庫引擎中的某些 ACID 原則。 例如,它們可以使用延遲耐用度、非耐用資料表,或讀取未提交的資料。 在所有這些情況下,開發者都會選擇犧牲部分 ACID 特性來達成其他目標。 此類取捨必須謹慎,因為可能導致資料完整性問題並影響業務成果。
平台功能支援
大多數應用程式使用的 Transact-SQL(T-SQL)功能在所有 SQL 資料庫引擎平台上皆獲得完整支援。 例如,核心 SQL 元件如資料型別、運算子,以及字串、算術、邏輯與游標函式在所有平台上運作方式相同。 然而,在資料定義語言(DDL)與資料操作語言(DML)元素上,T-SQL 存在一些差異。 這些差異導致 T-SQL 語句與查詢因設計原因在各平台僅部分支援。
例如,對於平台即服務(PaaS)或軟體即服務(SaaS)平台而言,某些作業系統或本地檔案功能會因邏輯或物理隔離而被停用。 例如,在包含式資料庫中,若 T-SQL 語句和選項用於設定實例層級選項、作業系統元件或指定檔案系統設定,則將不可用。
特色與連結
下表列出 SQL 資料庫引擎的主要功能,並附有概覽、文件及簡要說明的連結。
| Feature | 說明 |
|---|---|
| Always On 可用性群組 | 企業高可用性與災難復原,同步或非同步,並具備次要可讀副本 |
| 始終加密 | 敏感資料欄位的用戶端加密 |
| 稽核 | 審計行政活動 |
| 備份與還原 | 保護與恢復資料庫資料 |
| 備用壓縮 | 內建備份壓縮 |
| 備份加密 | 內建備份加密 |
| 緩衝池延伸 | 透過在緩衝池中加入非揮發性記憶體來提升 I/O |
| 變更資料擷取 | 追蹤與擷取資料變更 |
| 資料行存放區索引 | 柱狀儲存用於分析工作負載 |
| 動態資料遮罩 | 限制敏感資料暴露 |
| 容錯叢集 | 企業故障轉移叢集用於高可用性與災難復原 |
| 全文搜索 | 進階文字搜尋功能 |
| 圖表 | 模型圖與查詢圖的關係 |
| 記憶體內 OLTP | 記憶體最佳化資料表與程序 |
| 索引檢視 | 透過建立索引來實體化檢視 |
| JSON 支援 | 使用內建 JSON 函式儲存與查詢 JSON 資料 |
| Ledger | 防篡改資料庫功能 |
| Microsoft Entra 認證 | 企業範圍的使用者與服務帳號驗證 |
| 線上索引維護 | 維持在不干擾正常活動的狀態 |
| 最佳化鎖定 | 改進的交易鎖定機制 |
| 數據分割 | 以分割資料表與索引進行縮放 |
| PolyBase | 資料虛擬化以查詢外部資料來源 |
| 查詢存放區 | 內建的查詢效能調整監控器 |
| Replication | 在伺服器間分散資料 |
| 資料列層級安全性 | 控制篩選式資料表資料存取 |
| 空間資料 | 儲存與查詢地理資料 |
| 時態表格 | 追蹤完整變更歷史 |
| 透明資料加密 | 靜止資料庫檔案加密 |
| 向量支撐 | 儲存與查詢向量嵌入,向量索引上的向量搜尋。 支援 LangChain 整合與語意核心整合。 |
| XML 支援 | 儲存與查詢 XML 資料、XML 索引 |
語言 與驅動程式支援:
| Driver | 說明 |
|---|---|
| .NET | ADO.NET SQL 驅動程式 |
| 前進 | Golang 的 go-mssqldb 驅動程式 用於 SQL |
| 爪哇島 | JDBC SQL 驅動程式 |
| Node.js | Node.js 的 SQL 驅動程式 |
| ODBC | SQL Server 的 ODBC 驅動程式 |
| OLE 資料庫 | 適用於 SQL Server 的 OLE DB 驅動程式 |
| PHP | SQL 的 PHP 驅動程式 |
| Python(編程語言) | Python mssql-python 驅動程式用於 SQL |
| Ruby | Ruby 的 SQL 驅動程式 |
| Spark | SQL 的 Spark 連接器 |
使用SQL資料庫引擎的現代平台
以下現代平台採用 SQL 資料庫引擎,從旗艦產品 SQL Server 開始。
| 產品 | 部署模型 |
|---|---|
| SQL 伺服器 | 本地部署的虛擬機器,包括 Azure VM 上的 SQL Server,支援 Arc、 Windows、 Linux及 Linux 容器 |
| Azure SQL Database | 全管理資料庫,平台即服務(PaaS) |
| Azure SQL Managed Instance | 完全管理的資料庫實例,平台即服務(PaaS) |
| 網狀架構數據倉儲 | 全管理倉儲,Microsoft Fabric 中的軟體即服務(SaaS) |
| Fabric 中的 SQL 資料庫 | Microsoft Fabric 中的全管理資料庫,軟體即服務(SaaS) |
在 SQL 文件中, 版本 選擇器下拉選單是了解文章、語法參考、教學或其他內容適用版本的關鍵。 許多 Learn 文章會根據特定 SQL 平台與功能進行客製化。 大多數 SQL 參考文章中,也會有一個圖示欄列出文章適用的平台。 如需更多關於文件導航的資訊,請參閱 SQL Server 文件的導覽指南。
免費優惠
今天就免費開始吧。 你可以免費試用 SQL 資料庫引擎,並附上 免費的 Azure 訂閱:
- SQL Server 開發者版本,適用於開發與測試系統
- Azure SQL Database 免費優惠
- Azure SQL Managed Instance 免費優惠
- Microsoft Fabric 的免費試用容量
遷移
Azure 資料庫遷移指南的登陸頁面提供連結,幫助你快速開始從不同平台遷移到 Microsoft SQL 平台。
- 比較各種遷移所需的 SQL 資料遷移工具。
- 請造訪 Microsoft Fabric 遷移概覽 ,了解更多關於遷移到 Fabric 的資訊。
- 試試 Azure Database Migration Service(Azure DMS),這是一個完全託管的服務,用於從多個資料庫來源遷移到 Azure 資料平台。