適用于:
Microsoft SQL Server 2005 Express Edition
Microsoft Visual Studio 2005
摘要:SQL
Server Express Edition 是基于 SQL Server 2005 技術的免費產品,包括特有的應用程序 XCopy
功能以及不同于其他 SQL Server 2005 版本的網絡和安全性。本文討論了這些主題以及 SQL Server Express 與
Visual Studio 2005 集成的問題,同時還將本產品與現有的 Microsoft 免費數據庫(如 MSDE 和 Jet)進行了比較。
簡介
SQL
Server Express 是基于 SQL Server 2005
技術的一款免費易用的數據庫產品,旨在提供一個非常便于使用的數據庫平臺,可以針對其目標情況進行快速部署。之所以便于使用,首先是因為它具有一個簡單可
靠的圖形用戶界面 (GUI) 安裝程序,可以引導用戶完成安裝過程。SQL Server Express 附帶的免費 GUI 工具包括:SQL
Server Management Studio Express Edition(啟動時可以使用的技術預覽版本)、Surface Area
Configuration Tool 和 SQL Server Configuration
Manager。這些工具可以簡化基本的數據庫操作。通過與 Visual Studio
項目的集成,數據庫應用程序的設計和開發(fā)也變得更加簡單。此外,我還將介紹通過移動數據庫應用程序(像移動典型 Windows
文件一樣)來對其進行部署的功能。服務和修補也得到了簡化和自動化。
SQL Server Express 使用與其他 SQL
Server 2005 版本同樣可靠的、高性能的數據庫引擎,也使用相同的數據訪問 API(如 ADO.NET、SQL Native
Client 和 T-SQL)。事實上,它與其他 SQL Server 2005 版本的不同僅體現在以下方面:
• 缺乏企業(yè)版功能支持
• 僅限一個 CPU
• 緩沖池內存限制為 1 GB
• 數據庫最大為 4 GB
默
認情況下,在 SQL Server Express
中,啟用諸如自動關閉和像復制文件一樣復制數據庫的功能,而禁用高可用性和商業(yè)智能功能。如果需要,也容易進行伸縮,因為 SQL Server
Express 應用程序可以無縫地與 SQL Server 2005 Workgroup Edition、SQL Server 2005
Standard Edition 或 SQL Server 2005 Enterprise Edition 一起使用。通過 Web
下載文件可以進行免費、快速、方便的部署。
本白皮書介紹 SQL Server Express 特有的組件和功能,如應用程序
XCopy(用戶實例)、網絡和安全性。還介紹常見情況的使用原則。此外,我還將介紹使用 Microsoft Visual Studio 2005
輕松開發(fā)數據應用程序,這主要針對以下人員:
• 愛好者和其他非專業(yè)開發(fā)人員
• 數據庫開發(fā)人員、管理員和專業(yè)操作人員
• 業(yè)務分析人員
• 技術決策者
目標情況
開發(fā) SQL Server Express 是為了滿足以下兩個不同的用途。第一個用途是用作服務器產品,特別是作為 Web 服務器或數據庫服務器。第二個用途是用作本地客戶端數據存儲區(qū),其中應用程序數據訪問不依賴于網絡。易用性和簡單性是主要設計目標。
SQL Server Express 主要用于以下三種情況:
• 非專業(yè)開發(fā)人員生成 Web 應用程序
• ISV 將 SQL Server Express 重新發(fā)布為低端服務器或客戶端數據存儲區(qū)
• 愛好者生成基本的客戶端/服務器應用程序
SQL Server Express 提供的易用、可靠的數據庫平臺功能豐富,可用于這些情況。特別要注意安裝和部署的易用性和可靠性使 ISV 的使用和重新發(fā)布變得輕松。
SQL Server 2005 Express Edition 的主要功能
SQL
Server Express 使用的數據庫引擎與其他 SQL Server 2005
版本相同,并且所有編程功能也相同。有關上述主題的其他信息,請參閱 SQL Server 2005 聯機叢書。下面詳細介紹了 SQL
Server Express 特有的、并且/或者對客戶有較顯著影響的功能。
引擎規(guī)范
SQL
引擎支持 1 個 CPU、 1 GB RAM 和 4 GB 的數據庫大小。此機制允許通過定義適當的斷點來輕松區(qū)別于其他 SQL Server
2005 版本。另外,沒有工作負荷中止值,并且引擎的執(zhí)行方式與其他版本相同。對可以附著到 SQL Server Express
的用戶數沒有硬編碼限制,但其 CPU 和內存限制實際上限制可以從 SQL Server Express 數據庫獲取可接受響應次數的用戶數。
SQL Server Express 可以安裝并運行在多處理器計算機上,但是不論何時,只使用一個 CPU。在內部,引擎將用戶調度程序線程數限制為 1,這樣一次只使用 1 個 CPU。因為一次只能使用一個 CPU,所以不支持執(zhí)行諸如并行查詢這樣的功能。
1
GB RAM
限制是對緩存池的內存限制。緩存池用于存儲數據頁和其他信息。但是,跟蹤連接、鎖等所需的內存不計入緩存池限制。因此,服務器使用的總內存有可能大于
1 GB,但用于緩存池的內存絕不會超過 1 GB。不支持或不需要地址窗口化擴展插件 (AWE) 或 3 GB 數據訪問。
4
GB 數據庫大小限制僅適用于數據文件,而不適用于日志文件。但是,不限制可以附著到服務器的數據庫數。SQL Server Express
的啟動略有變化。用戶數據庫不會自動啟動,分布式事務處理協調器也不會自動初始化。雖然對于用戶體驗而言,除了啟動速度更快之外,感覺不出什么變化。仍建
議要使用 SQL Server Express 的編程人員在設計自己的應用程序時,牢記這些變化。
多個 SQL Server
2005 Express 安裝可以與其他 SQL Server 2000、SQL Server 2005 或 Microsoft
Desktop Engine (MSDE) 安裝共存于同一臺計算機上。通常,最好將 SQL Server 2000 實例升級到 Service
Pack 4 (SP4)。在同一臺計算機上,最多可以安裝 16 個 SQL Server Express
實例。這些實例的名稱必須是唯一的,以便可以標識它們。
默認情況下,SQL Server Express 安裝為一個名為 SQLEXPRESS 的命名實例。這個特殊的實例可以在多個應用程序和應用程序供應商之間共享。建議您使用此實例,除非您的應用程序具有特殊配置要求。
可
用于編程 SQL Server Express 的 API 與用于編程 SQL Server 2005 的 API
相同,這樣如果用戶選擇轉到其他 SQL Server 2005 版本,他們也不會感到有任何不適應。支持 SQL Server 2005
中的所有新功能(例如公共語言運行時 (CLR) 集成)、新數據類型(例如 VARCHAR(MAX) 和
XML)、用戶定義類型和用戶定義聚合。此外,SQL Server Express 數據庫可以附著到 SQL Server 2005,而且使用
SQL Server Express 實例編寫的應用程序同樣可以與 SQL Server 2005 實例一起協調運行。還支持復制和 SQL
Service Broker 功能,該功能將在后面詳細介紹。