超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQL Server 2005 Express Edition 概述

Ccoffee
2011年3月16日 18:0 本文熱度 3880
 

簡介


SQL Server Express 是基于 SQL Server 2005 技術(shù)的一款免費易用的數(shù)據(jù)庫產(chǎn)品旨在提供一個非常便于使用的數(shù)據(jù)庫平臺,可以針對其目標情況進行快速部署。之所以便于使用,首先是因為它具有一個簡單可靠的圖形用戶界面 (GUI) 安裝程序,可以引導(dǎo)用戶完成安裝過程。SQL Server Express 附帶的免費 GUI 工具包括:SQL Server Management Studio Express Edition(啟動時可以使用的技術(shù)預(yù)覽版本)、Surface Area Configuration Tool 和 SQL Server Configuration Manager。這些工具可以簡化基本的數(shù)據(jù)庫操作。通過與 Visual Studio 項目的集成,數(shù)據(jù)庫應(yīng)用程序的設(shè)計和開發(fā)也變得更加簡單。此外,我還將介紹通過移動數(shù)據(jù)庫應(yīng)用程序(像移動典型 Windows 文件一樣)來對其進行部署的功能。服務(wù)和修補也得到了簡化和自動化。


SQL Server Express 使用與其他 SQL Server 2005 版本同樣可靠的、高性能的數(shù)據(jù)庫引擎,也使用相同的數(shù)據(jù)訪問 API(如 ADO.NET、SQL Native Client 和 T-SQL)。事實上,它與其他 SQL Server 2005 版本的不同僅體現(xiàn)在以下方面:




  • 缺乏企業(yè)版功能支持



  • 僅限一個 CPU



  • 緩沖池內(nèi)存限制為 1 GB



  • 數(shù)據(jù)庫最大為 4 GB


默認情況下,在 SQL Server Express 中,啟用諸如自動關(guān)閉和像復(fù)制文件一樣復(fù)制數(shù)據(jù)庫的功能,而禁用高可用性和商業(yè)智能功能。如果需要,也容易進行伸縮,因為 SQL Server Express 應(yīng)用程序可以無縫地與 SQL Server 2005 Workgroup Edition、SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition 一起使用。通過 Web 下載文件可以進行免費、快速、方便的部署。


本白皮書介紹 SQL Server Express 特有的組件和功能,如應(yīng)用程序 XCopy(用戶實例)、網(wǎng)絡(luò)和安全性。還介紹常見情況的使用原則。此外,我還將介紹使用 Microsoft Visual Studio 2005 輕松開發(fā)數(shù)據(jù)應(yīng)用程序,這主要針對以下人員:




  • 愛好者和其他非專業(yè)開發(fā)人員



  • 數(shù)據(jù)庫開發(fā)人員、管理員和專業(yè)操作人員



  • 業(yè)務(wù)分析人員



  • 技術(shù)決策者


目標情況


開發(fā) SQL Server Express 是為了滿足以下兩個不同的用途。第一個用途是用作服務(wù)器產(chǎn)品,特別是作為 Web 服務(wù)器或數(shù)據(jù)庫服務(wù)器。第二個用途是用作本地客戶端數(shù)據(jù)存儲區(qū),其中應(yīng)用程序數(shù)據(jù)訪問不依賴于網(wǎng)絡(luò)。易用性和簡單性是主要設(shè)計目標。


SQL Server Express 主要用于以下三種情況:




  • 非專業(yè)開發(fā)人員生成 Web 應(yīng)用程序



  • ISV 將 SQL Server Express 重新發(fā)布為低端服務(wù)器或客戶端數(shù)據(jù)存儲區(qū)



  • 愛好者生成基本的客戶端/服務(wù)器應(yīng)用程序


SQL Server Express 提供的易用、可靠的數(shù)據(jù)庫平臺功能豐富,可用于這些情況。特別要注意安裝和部署的易用性和可靠性使 ISV 的使用和重新發(fā)布變得輕松。



SQL Server 2005 Express Edition 的主要功能


SQL Server Express 使用的數(shù)據(jù)庫引擎與其他 SQL Server 2005 版本相同,并且所有編程功能也相同。有關(guān)上述主題的其他信息,請參閱 SQL Server 2005 聯(lián)機叢書。下面詳細介紹了 SQL Server Express 特有的、并且/或者對客戶有較顯著影響的功能。


引擎規(guī)范


SQL 引擎支持 1 個 CPU、 1 GB RAM 和 4 GB 的數(shù)據(jù)庫大小。此機制允許通過定義適當?shù)臄帱c來輕松區(qū)別于其他 SQL Server 2005 版本。另外,沒有工作負荷中止值,并且引擎的執(zhí)行方式與其他版本相同。對可以附著到 SQL Server Express 的用戶數(shù)沒有硬編碼限制,但其 CPU 和內(nèi)存限制實際上限制可以從 SQL Server Express 數(shù)據(jù)庫獲取可接受響應(yīng)次數(shù)的用戶數(shù)。


SQL Server Express 可以安裝并運行在多處理器計算機上,但是不論何時,只使用一個 CPU。在內(nèi)部,引擎將用戶調(diào)度程序線程數(shù)限制為 1,這樣一次只使用 1 個 CPU。因為一次只能使用一個 CPU,所以不支持執(zhí)行諸如并行查詢這樣的功能。


1 GB RAM 限制是對緩存池的內(nèi)存限制。緩存池用于存儲數(shù)據(jù)頁和其他信息。但是,跟蹤連接、鎖等所需的內(nèi)存不計入緩存池限制。因此,服務(wù)器使用的總內(nèi)存有可能大于 1 GB,但用于緩存池的內(nèi)存絕不會超過 1 GB。不支持或不需要地址窗口化擴展插件 (AWE) 或 3 GB 數(shù)據(jù)訪問。


4 GB 數(shù)據(jù)庫大小限制僅適用于數(shù)據(jù)文件,而不適用于日志文件。但是,不限制可以附著到服務(wù)器的數(shù)據(jù)庫數(shù)。SQL Server Express 的啟動略有變化。用戶數(shù)據(jù)庫不會自動啟動,分布式事務(wù)處理協(xié)調(diào)器也不會自動初始化。雖然對于用戶體驗而言,除了啟動速度更快之外,感覺不出什么變化。仍建議要使用 SQL Server Express 的編程人員在設(shè)計自己的應(yīng)用程序時,牢記這些變化。


多個 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 的命名實例。這個特殊的實例可以在多個應(yīng)用程序和應(yīng)用程序供應(yīng)商之間共享。建議您使用此實例,除非您的應(yīng)用程序具有特殊配置要求。


可用于編程 SQL Server Express 的 API 與用于編程 SQL Server 2005 的 API 相同,這樣如果用戶選擇轉(zhuǎn)到其他 SQL Server 2005 版本,他們也不會感到有任何不適應(yīng)。支持 SQL Server 2005 中的所有新功能(例如公共語言運行時 (CLR) 集成)、新數(shù)據(jù)類型(例如 VARCHAR(MAX) 和 XML)、用戶定義類型和用戶定義聚合。此外,SQL Server Express 數(shù)據(jù)庫可以附著到 SQL Server 2005,而且使用 SQL Server Express 實例編寫的應(yīng)用程序同樣可以與 SQL Server 2005 實例一起協(xié)調(diào)運行。還支持復(fù)制和 SQL Service Broker 功能,該功能將在后面詳細介紹。


工具支持


SQL Server Express 是以易于使用為目的而設(shè)計的,其圖形用戶界面 (GUI) 工具甚至可以使數(shù)據(jù)庫初學(xué)者輕松使用 SQL Server Express 中的基本數(shù)據(jù)庫功能。名為 SQL Server Management Studio Express Edition 的新 GUI 工具可以作為獨立的 Web 下載文件獲得。SSMS-EE 可以使您輕松管理數(shù)據(jù)庫、執(zhí)行查詢分析功能,并且可以免費重新發(fā)布。


SSMS-EE 可以連接到 SQL Server Express 和其他 SQL Server 2005 版本、SQL Server 2000 以及 MSDE 2000。連接時,會顯示一個簡單的連接對話框,引導(dǎo)用戶選擇要使用的實例和身份驗證方法??梢赃M行本地連接和遠程連接。對象資源管理器將以分層方式枚舉并顯示使用的公共對象(例如實例、表、存儲過程等),有助于用戶實現(xiàn)對數(shù)據(jù)庫訪問的可視化。


從對象資源管理器的快捷菜單中,可以訪問所有數(shù)據(jù)庫管理功能。SSMS-EE 的功能(如創(chuàng)建和修改數(shù)據(jù)庫、表、視圖、登錄帳戶和用戶)與其他版本中的完整 SQL Server Management Studio 相同。這使您在升級到 SSMS 完整版后,可以立即應(yīng)用在 SSMS-EE 中學(xué)到的技能。


許多數(shù)據(jù)庫用戶更喜歡使用 T-SQL 來管理其服務(wù)器,因為與使用圖形用戶界面相比,這種方法可以進行更精密細致的控制。SSMS-EE 中的查詢編輯器允許用戶開發(fā)和執(zhí)行 T-SQL 語句和腳本。查詢編輯器的功能豐富,例如關(guān)鍵字顏色代碼、結(jié)果窗格(用于以數(shù)據(jù)網(wǎng)格形式返回結(jié)果)。錯誤消息(如果有)也將顯示在結(jié)果窗格中。SSMS-EE 支持 SSMS 的所有查詢編輯器功能,包括圖形查詢計劃。


ms345154.sseoverview01L(zh-cn,SQL.90).gif


圖 1:查詢編輯器

SSMS-EE 將通過獨立的 Web 下載文件進行發(fā)布。用戶只需單擊可執(zhí)行文件就可以啟動安裝程序。如果已安裝 SSMS,將無法安裝 SSMS-EE,因為不需要安裝。同樣,用戶通過重新啟動該安裝程序或使用“控制面板”中的“添加/刪除程序”菜單可以卸載 SSMS-EE。


SQL Server Express 附帶的一些工具包括 SQL 計算機管理器、SQL 命令 和 BCP。SQL 計算機管理器用于啟動和停止 SQL Server 服務(wù),以及啟用和禁用網(wǎng)絡(luò)協(xié)議。SQL 命令用于使用命令行進行連接和查詢,而 BCP 用于大容量復(fù)制數(shù)據(jù)。


SQL 計算機管理器允許管理員配置基本服務(wù)和網(wǎng)絡(luò)協(xié)議,在 SQL Server 2005 中,與以前的工具(如服務(wù)器網(wǎng)絡(luò)實用工具、客戶端網(wǎng)絡(luò)實用工具和服務(wù)管理器)等效。SQL 計算機管理器不用于調(diào)整性能特征或 SQL Server 的操作。


在計算機管理器中,有一個名為“Microsoft SQL Servers”的節(jié)點,其中包含所有服務(wù)、服務(wù)器網(wǎng)絡(luò)協(xié)議和客戶端網(wǎng)絡(luò)協(xié)議。服務(wù)節(jié)點列出了所有可用的 Express 服務(wù),并提供了諸如服務(wù)器實例名稱、服務(wù)狀態(tài)和啟動類型之類的詳細信息。您可以選擇某個特定服務(wù),然后執(zhí)行諸如啟動、停止、暫?;蛑匦聠臃?wù)之類的操作?!胺?wù)器網(wǎng)絡(luò)協(xié)議”節(jié)點枚舉了計算機上每個實例的協(xié)議列表。右鍵單擊某個協(xié)議(例如 TCP 協(xié)議),可以從打開的快捷菜單中啟用或禁用該協(xié)議,也可以更改其屬性。“客戶端網(wǎng)絡(luò)協(xié)議”節(jié)點也提供類似選項。請注意,“服務(wù)器網(wǎng)絡(luò)協(xié)議”節(jié)點直接處理 SQL Server 實例上的協(xié)議設(shè)置,而“客戶端網(wǎng)絡(luò)協(xié)議”節(jié)點處理客戶端(如 MDAC 或 SQL Native Client 提供程序)的協(xié)議設(shè)置。使用“客戶端網(wǎng)絡(luò)協(xié)議”節(jié)點可以創(chuàng)建別名,該別名是 SQL Server 的備用名稱,可以包含服務(wù)器名稱、使用的協(xié)議、連接字符串以及加密信息之類的信息。


SQL 命令是現(xiàn)有 osql 工具的 OLE DB 版本,不僅嘗試保持與 osql 的功能性兼容,還支持新的 SQL Server 2005 數(shù)據(jù)類型。所有命令行選項都將信息輸出到標準輸出,操作失敗時可能出現(xiàn)的錯誤消息除外。SqlCmd -? 命令顯示 sqlcmd 開關(guān)的語法摘要。


SQL 計算機管理器和 SQL 命令對于 SQL Server Express 和其他 SQL Server 2005 版本相同。


網(wǎng)絡(luò)支持


盡管用戶可以顯式打開其他支持的協(xié)議(例如 TCP/IP 和 Named Pipes),但默認情況下,SQL Server Express 只能訪問本地計算機上的共享內(nèi)存連接類型。SQL Server Express 不支持 VIA 協(xié)議和 HTTP 協(xié)議。因為默認情況下只能使用共享內(nèi)存,所以除非打開網(wǎng)絡(luò),否則無法從遠程計算機連接到 SQL Server Express??梢酝ㄟ^以下方式打開網(wǎng)絡(luò):




  • 使用外圍應(yīng)用配置器工具啟用網(wǎng)絡(luò),并啟用和啟動 SQLBROWSER 服務(wù)。



  • 使用 SQL Server 配置管理器啟用相關(guān)協(xié)議,并啟動 SQL Browser。圖 2 介紹了如何使用此工具啟用網(wǎng)絡(luò)協(xié)議。



  • 如果您預(yù)先知道需要網(wǎng)絡(luò)支持,請在安裝命令行中使用 DISABLENETWORKPROTOCOLS=0。



  • 使用基于 SMO 的腳本啟用協(xié)議。


在 SQL Server 2005 中,SQL Browser 是一項新服務(wù),用于標識命名實例監(jiān)聽的端口。由于共享內(nèi)存不使用該服務(wù),因此默認情況下,該服務(wù)在 SQL Server Express 中處于關(guān)閉狀態(tài)。這意味著用戶必須啟動該服務(wù),網(wǎng)絡(luò)訪問才可以進行。


注意:一個有趣的事實是 SQL Browser 監(jiān)聽 UDP 1434 端口。但是,占用 UDP 1434 端口的早于 SQL Server 2000 SP3 之前的版本可能會導(dǎo)致 SQL Browser 名稱解析失敗,因為它們可能拒絕放棄該端口。解決方法是:將計算機上的所有 SQL Server 2000/MSDE 實例都升級到 SP3 版本或更高版本。


ms345154.sseoverview02L(zh-cn,SQL.90).gif


圖 2. 使用 SQL Sever 配置管理器啟用協(xié)議

數(shù)據(jù)訪問支持


SQL Server 2005 Express 支持的本機提供程序和托管提供程序與其他 SQL Server 2005 版本相同。這樣會有巨大的好處:為 SQL Server Express 編寫的應(yīng)用程序可以無縫用于其他 SQL Server 版本。


SQL Server 2005 Express 支持使用 ADO.NET 進行托管訪問。我們建議您使用 SqlClient 數(shù)據(jù)提供程序來開發(fā)新的應(yīng)用程序,因為大多數(shù)應(yīng)用程序 XCopy 功能僅能與 SqlClient 一起使用。ADO.NET 2.0 數(shù)據(jù)提供程序(Visual Studio 2005 中提供)支持 varchar(MAX) 和 XML 之類的新 SQL Server 數(shù)據(jù)類型以及用戶定義類型。


從 SQL Server 2005 開始,服務(wù)器中的邏輯會話與物理連接分離??蛻舳藗鬏攲雍头?wù)器傳輸層都將更新為提供多路復(fù)用功能,這樣只使用一個物理連接就可以建立多個邏輯會話。這使得客戶端針對同一個連接可以有多個活動的結(jié)果集 (MARS)。請注意,一般而言,MARS 并不是為了避免使用多個連接。在 SQL Server 2005 中,MARS 默認情況下處于關(guān)閉狀態(tài),使用 MARS 可以交替執(zhí)行 SQL 操作。例如,您可以對一個結(jié)果集進行操作,也可以在處理該結(jié)果集時對數(shù)據(jù)庫執(zhí)行語句,而無需打開新的連接。在許多情況下,MARS 可以有效替代服務(wù)器游標,當數(shù)據(jù)檢索操作和更新操作在同一個事務(wù)中進行時,尤為有用。


SQL Server 2005 客戶端也支持異步輸入輸出 (I/O),這樣應(yīng)用程序線程不會再被數(shù)據(jù)傳輸操作阻塞,客戶端應(yīng)用程序就可以盡快作出響應(yīng)。在這種模式下,I/O 調(diào)用將會立即返回,完成后將異步通知應(yīng)用程序。這使得應(yīng)用程序可以繼續(xù)其他處理過程,并在以后檢查 I/O 完成事件。


SQL Server 2005 時間范圍內(nèi)的數(shù)據(jù)訪問組件將分成兩部分:MDAC 堆棧(屬于操作系統(tǒng))和 SQL Native Client 提供程序(向 SQL Server 提供用于本機數(shù)據(jù)訪問的特定數(shù)據(jù)訪問庫)。SQL Native Client 針對 SQL OLEDB、SQL ODBC 和 ADO 客戶,這些客戶正在編寫新的應(yīng)用程序或增強現(xiàn)有應(yīng)用程序以利用 SQL Server 2005 的新功能。


SQL Native Client 將 SQL Server 2005 添加項包含到 SQL OLE DB、SQL ODBC、SQL BCP 和 SQL 網(wǎng)絡(luò)接口。只有 C 或 C++ 程序員才可以通過 SQL Native Client 使用 SQL Server 2005 功能,例如 MARS、用戶定義類型、XML 數(shù)據(jù)類型等。SQL Native Client 由新的組件構(gòu)成(新類 ID),這些組件獨立于 MDAC 中的現(xiàn)有組件,并且與其不同。例如,使用的 OLE DB Progid 是 SQLNCLI;ODBC 驅(qū)動程序名稱是 SQL Native Client;使用的頭文件是 SQLNCLI.h。


SQL Native Client 作為單個 dll (SQLNCLI.dll) 提供,而不作為操作系統(tǒng)組件提供,這樣可以簡化服務(wù),使重新發(fā)布和部署應(yīng)用程序變得更輕松。隨著新版 SQL Server 的發(fā)布,將會提供更新的 SQL Native Client 版本,應(yīng)用程序可以顯式更改其配置清單以使用較此提供程序的更高版本。


在 MDAC 提供程序和 SQL Native Client 提供程序之間存在一些基于交互的有趣動態(tài)。例如,MDAC 2.5、2.7 或 2.8 無法使用共享內(nèi)存連接到 SQL Server 2005。這會影響使用 SQL OLE DB 或 SQL ODBC 的所有本機應(yīng)用程序,不僅包括現(xiàn)有本機應(yīng)用程序,而且還包括托管的 OLE DB 或 ODBC 應(yīng)用程序,因為它們在內(nèi)部都使用了 MDAC。通常,對于 SQL Server,如果共享內(nèi)存連接失敗,將使用網(wǎng)絡(luò)協(xié)議(例如 TCP/IP)。但是,對于 SQL Server Express,因為網(wǎng)絡(luò)在默認情況下是關(guān)閉的,所以這些應(yīng)用程序?qū)⑼耆珶o法連接。解決辦法是:將應(yīng)用程序改為使用 SQL Native Client 提供程序,或者啟用網(wǎng)絡(luò)傳輸控制協(xié)議 (TCP) 并啟動 SQL Browser。


安全性


對于 SQL Server Express,我們的一個目標是為不同組件提供安全的默認值。例如,關(guān)閉網(wǎng)絡(luò)協(xié)議(如 TCP/IP 和 Named Pipes)。不啟動 SQL Browser 服務(wù),除非用戶在安裝命令行中顯式請求啟動。如果使用 Windows 身份驗證,則默認情況下禁用 SA 帳戶或系統(tǒng)管理員帳戶。計算機上的普通用戶幾乎沒有對 SQL Server Express 實例的權(quán)限。服務(wù)器上的本地管理員必須向普通用戶顯式授予相關(guān)權(quán)限,這些用戶才能使用 SQL 功能。


在 SQL Server 中,SA 登錄帳戶是一個特殊的登錄帳戶,是系統(tǒng)管理員 (sysadmin) 角色的成員。主要用于使用 SQL 身份驗證模式的配置中,而不用于 Windows 身份驗證模式。出于安全原因,SQL 驗證模式要求輸入強 SA 密碼,在 GUI 安裝和無提示 SQL 身份驗證模式安裝期間,用戶必須輸入強 SA 密碼。但是,對于無提示 Windows 身份驗證安裝,不需要 SA 密碼。原因是使用 Windows 身份驗證模式時,如果用戶未指定密碼,無提示 SQL Server Express 安裝程序會提供一個隨機的強 SA 密碼。在這種情況下,安裝程序也會禁用 SA 帳戶,因此如果您想要使用 SA 帳戶,必須稍后使用 T-SQL 顯式啟用該帳戶。這樣,在使用 Windows 身份驗證時,ISV 就不必提供密碼了,從而不會阻塞大規(guī)模部署情況。在將來的版本中,此功能可能還會擴展到基于 GUI Windows 的安裝。


復(fù)制支持


用戶通過復(fù)制可以使用“發(fā)布服務(wù)器 - 訂閱服務(wù)器”模式以用戶定義的間隔保持多個站點的數(shù)據(jù)副本同步。SQL Server Express 支持訂閱合并發(fā)布、快照發(fā)布和事務(wù)性發(fā)布,但不允許自己發(fā)布。在 SQL Server Express 中,復(fù)制訂閱完全正常運行。但是,因為 SQL Server Express 不附帶 SQL 代理,所以計劃訂閱比較困難。您可以通過以下方法同步 SQL Server Express 訂閱:




  • 使用復(fù)制管理對象 (RMO) 以編程方式同步。



  • 將 Windows 同步管理器用于計劃同步。


SQL Service Broker


SQL Service Broker (SSB) 是 SQL Server 2005 中一個新的、可靠的消息傳送基礎(chǔ)結(jié)構(gòu)。該服務(wù)程序可以選擇通過對等消息交換約定(稱為對話框)進行通信。此功能可以通過 T-SQL 語言的擴展插件來訪問。


SQL Server Express 只有在與其他 SQL Server 2005 版本一起使用時,才可以使用 Service Broker。如果 SQL Server Express 接收到一條來自另一個 SQL Server Express 實例的 Broker 消息,并且另一個 SQL Server 2005 版本未處理該消息,則該消息將被刪除。因此,消息可以源于一個 SQL Server Express 實例而終止于另一個 SQL Server Express 實例,但是如果要這樣,該消息必須通過非 SQL Server Express 實例進行路由。您可以檢查 Message Drop 跟蹤事件,該事件可以通過事件探查器訪問,也可以使用跟蹤存儲過程來跟蹤此類事件。與刪除的消息關(guān)聯(lián)的錯誤消息包括與以下消息類似的消息:"This message has been dropped due to licensing restrictions."(“由于授權(quán)限制,此消息已被刪除?!保?


以擴展情況為例。應(yīng)用程序在收銀機上部署了 100 個 SQL Server Express 實例。它們正連接到后端的非 SQL Server Express 服務(wù)器上。只要后端服務(wù)器涉及所有對話框,就會發(fā)生這種情況。SQL Server Express 實例無法在不經(jīng)過后端服務(wù)器的情況下成功進行會話。


用戶實例


用戶實例是 SQL Server Express 中的新功能,可以像處理文件一樣處理數(shù)據(jù)庫?,F(xiàn)在,本地數(shù)據(jù)庫可以隨應(yīng)用程序一起移動、復(fù)制或通過電子郵件傳送。在新的位置,不需要進行額外配置就可以使其正常運行。用于在 SQL Server Express 中啟用應(yīng)用程序用戶實例支持的主要功能有三個:連接字符串中的 AttachDBFilename 選項、不需要指定邏輯數(shù)據(jù)庫名稱和“用戶實例”選項。


在用戶實例支持中,暗含著幾個假設(shè)。假設(shè)實例名為 SQLEXPRESS 的 SQL Server Express 已安裝在計算機上。還假設(shè)它是一個僅托管堆棧解決方案,您必須使用 .NET SQL Server 數(shù)據(jù)訪問接口開發(fā)可部署的 XCopy 應(yīng)用程序。也就是說,不能使用 SQL Native Client 或 MDAC 來開發(fā)可用于用戶實例的應(yīng)用程序。


通常,應(yīng)用程序開發(fā)人員僅將用戶數(shù)據(jù)庫和日志文件隨應(yīng)用程序一起復(fù)制。但是,在 SQL Server 中,一個特定數(shù)據(jù)庫(稱為 master 數(shù)據(jù)庫)中存在多個配置條目。依賴于 master 數(shù)據(jù)庫中的條目的功能包括 SQL 身份驗證(建議您盡可能使用 Windows 身份驗證)。如果您的應(yīng)用程序依賴于 master 數(shù)據(jù)庫中的任何條目,則應(yīng)用程序開發(fā)人員必須確保將這些配置條目復(fù)制到目標系統(tǒng)中。一個方法是:當將運行的應(yīng)用程序安裝到目標計算機上時,要隨之包括一個 SMO、DMO 或 T-SQL 配置腳本。對于大多數(shù)使用 Windows 身份驗證運行的應(yīng)用程序,從 master 數(shù)據(jù)庫復(fù)制信息并不難。


AttachDBFileName


您可以為 AttachDBFileName 連接字符串條目指定相對文件路徑或絕對文件路徑。當打開連接時,將附著指定的數(shù)據(jù)庫文件,此數(shù)據(jù)庫用作該連接的默認數(shù)據(jù)庫。如果調(diào)用 AttachDBFileName 時該數(shù)據(jù)庫已附著,則附著操作不會產(chǎn)生任何影響。此關(guān)鍵字支持稱為 |DataDirectory| 的特定字符串,該字符串在運行時指向存儲數(shù)據(jù)庫文件的應(yīng)用程序的數(shù)據(jù)目錄。此特定字符串應(yīng)位于文件路徑的起始處,僅對本地文件系統(tǒng)有效,并且會檢查 \..\ 語法以便該文件路徑不高于替換字符串指向的目錄。


使用 AttachDBFileName 時,日志文件的用法有些變化。日志文件名的格式必須為:_log.ldf,并且在使用 AttachDBFileName 時,沒有用于指定日志文件名的選項。例如,如果數(shù)據(jù)庫文件名為 myDb.mdf 且位于 c:\myApp,則日志文件名應(yīng)為 myDb_log.ldf。如果 SQL 在數(shù)據(jù)庫文件所在的目錄中找不到此文件,則在附著過程中將創(chuàng)建一個新的日志文件。這意味著,在使用 AttachDBFileName 時,不支持用戶定義的日志文件名。


SQL Server 支持對一個數(shù)據(jù)庫使用多個數(shù)據(jù)和日志文件,這些文件可以分布在多個文件組中。AttachDBFileName 語法不支持此功能,也不支持網(wǎng)路共享、HTTP 路徑或通用命名約定 (UNC) 遠程數(shù)據(jù)庫。


邏輯數(shù)據(jù)庫名稱


如果在連接字符串中未指定邏輯數(shù)據(jù)庫名稱,則將為要附著的數(shù)據(jù)庫自動生成一個名稱。該名稱是基于 .mdf 文件的相對文件路徑生成的。例如,如果文件位于 c:\myDocuments\Myapp\myDB.mdf,則邏輯數(shù)據(jù)庫名稱將基于完整路徑。如果文件路徑的字符多于 128 個,則此功能將使用現(xiàn)有路徑和一個哈希來生成邏輯數(shù)據(jù)庫名稱。這是 SQL Server Express 中的新功能,因為在 SQL Server 2000 中不指定數(shù)據(jù)庫名稱將導(dǎo)致出現(xiàn)錯誤。支持的語法包括 database=;initial catalog=;,或者用戶也可以在連接字符串中完全省略它們。


在同一臺計算機上移動或復(fù)制數(shù)據(jù)庫時,此功能非常有用,因為基于文件路徑的邏輯名稱是唯一的。如果沒有此功能,則在使用同一個邏輯名稱打開兩個不同目錄中的數(shù)據(jù)庫時,SQL Server 中將會發(fā)生命名沖突。計算機之間還支持應(yīng)用程序 XCopy。


請注意,仍然可以使用關(guān)鍵字 databaseInitial Catalog 來顯式指定邏輯數(shù)據(jù)庫名稱。用戶在使用復(fù)制、使用 SQL Service Broker、在 T-SQL 查詢中使用多個部分組成的名稱或使用跨數(shù)據(jù)庫方案時,可能想要顯式指定邏輯數(shù)據(jù)庫名稱。


自動關(guān)閉


SQL 2000 具有自動關(guān)閉功能,此功能在 SQL Server Express 中,默認情況下處于啟用狀態(tài)。此功能在不存在到用戶數(shù)據(jù)庫的活動連接時,解除對用戶數(shù)據(jù)庫的文件鎖定。這樣,在使用該數(shù)據(jù)庫的應(yīng)用程序關(guān)閉后,就可以移動或復(fù)制該數(shù)據(jù)庫了。


但是,在用戶看來,自動關(guān)閉功能并非始終有效,特別是在發(fā)生意外客戶端終止或使用連接池時。對于意外客戶端終止,連接最終會被超時機制清除。連接池啟用后,用戶調(diào)用連接關(guān)閉時,連接實際上并沒有關(guān)閉,而是返回到連接池。為了關(guān)閉所有連接,通常不得不關(guān)閉應(yīng)用程序域或所有打開的連接。ADO.NET 還包含 ClearPool 之類的函數(shù),用于手動重設(shè)。


用戶實例


用戶實例允許非管理員用戶附著和管理 SQL Server Express 數(shù)據(jù)庫。他們通過創(chuàng)建 SQL Server 專用副本來進行附著和管理,該副本運行在打開與某個數(shù)據(jù)庫的連接的用戶的安全上下文中。打開連接的用戶成為用戶實例的服務(wù)帳戶,從而具有完整的數(shù)據(jù)庫系統(tǒng)管理員權(quán)限。這些權(quán)限允許非管理員 Windows 用戶具有數(shù)據(jù)庫管理員權(quán)限,從而允許用戶使用 AttachDBFilename 附著數(shù)據(jù)庫。這些權(quán)限還允許用戶創(chuàng)建任何必要的數(shù)據(jù)庫對象;使得此模式對于開發(fā)數(shù)據(jù)庫應(yīng)用程序比較理想。


安裝和部署


SQL Server Express 安裝程序是 SQL Server 2005 安裝程序的簡化版本,它功能強大、可靠,并且支持 GUI 和無提示安裝兩種模式。僅支持基于 Windows 安裝程序 (.msi) 的技術(shù)。


SQL Server Express Web 下載文件使用稱為 SFXCab 的 Microsoft 安裝技術(shù)被打包成一個可執(zhí)行文件。您可以從 Microsoft 下載中心下載 SQL Server Express。雙擊 .exe 文件將自動啟動安裝進程。


Visual Studio 2005 版本的 .NET Framework 是安裝 SQL Server Express 的必備組件,如果在計算機上找不到正確版本,安裝程序?qū)⑸慑e誤。在安裝程序?qū)嶋H運行之前,會運行一個稱為系統(tǒng)配置檢查 (SCC) 的組件。此組件驗證系統(tǒng)是否滿足安裝的最低要求;包括最低硬件要求、最低操作系統(tǒng)要求、掛起的重新啟動要求等。許多用戶可能無法滿足掛起的重新啟動要求,這意味著用戶必須重新啟動計算機,SQL Server Express 安裝才能繼續(xù)。SCC 的主要優(yōu)點是可以及早標識出因計算機配置此外引起的常見安裝錯誤,進而向用戶顯示相應(yīng)的警告和錯誤消息。例如,如果計算機只有 256 MB 的內(nèi)存,SCC 將顯示警告,但會繼續(xù)安裝。下面的圖 3 顯示了 SCC 屏幕快照示例。


ms345154.sseoverview03(zh-cn,SQL.90).gif


圖 3. 系統(tǒng)配置檢查

安裝程序啟動后,您可以看到屏幕被簡化了,任何開發(fā)人員都可以進行訪問。例如,默認情況下,使用“隱藏高級配置”復(fù)選框隱藏了一些復(fù)雜的對話框(如用于處理排序規(guī)則和服務(wù)帳戶的對話框)。如果用戶沒有選中此選項,則會顯示高級配置對話框。默認情況下,安裝日志記錄功能被打開,這樣用戶可以使用 \Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG 目錄中創(chuàng)建的日志文件輕易了解所有安裝故障。


默認情況下,SQL Server Express 安裝為一個名為 SQLEXPRESS 的命名實例,建議應(yīng)用程序使用共享的 SQLEXPRESS 實例。默認情況下,SQL 中有幾項功能也被關(guān)閉,因此您必須顯式選擇要安裝的組件。下面顯示了功能組件樹屏幕,從中您可以手動復(fù)選要安裝的項目。安裝命令行 ADDLOCAL=All 將選擇安裝所有組件。下面的表 1 中顯示了功能組件樹 GUI 條目和相應(yīng)的命令行選項。


表 1. SQL Server Express 功能組件樹

























功能組件 GUI


功能組件命令行參數(shù):提供逗號分隔的列表,要安裝的功能與 ADDLOCAL 之間沒有空格。


SQL Server Database Services


SQL_Engine


數(shù)據(jù)文件


SQLEngine_Data_Files


復(fù)制


SQL_Replication


客戶端組件


Client_Components


SQL 命令行工具


Server_tools


連接組件


Connectivity


軟件開發(fā)工具包


SDK




當您自己安裝產(chǎn)品時,建議您使用 GUI 安裝模式。通常,您可以從 Microsoft 站點下載 SQL Server Express,也可以從應(yīng)用程序 CD 獲得。


建議您在安裝應(yīng)用程序過程中安裝 SQL Server Express 時使用無提示安裝模式。在這種模式下,您可以驗證計算機中是否存在名為 SQLEXPRESS 的實例,如果不存在,請進行無提示安裝。有兩種方法可以很容易地確定計算機上是否存在 SQL Server Express 實例:




  • SQL Windows Management Instrumentation (WMI) 提供程序中的 ServerInstance 包含 SQL 版本和版本信息。



  • T-SQL 命令 Select SERVERPROPERTY("ENGINEEDITION") 返回值 4,代表 SQL Server Express。


您可以使用安裝引導(dǎo)程序或 Visual Studio“單擊一次”技術(shù)來包括 SQL Server Express Microsoft Windows Installer (MSI) 或 Web 下載文件 exe,這對于 ISV 特別有用。如果 SQLEXPRESS 實例已經(jīng)存在,就不應(yīng)該繼續(xù)安裝 SQL Server Express。需要注意的重要一點是:Microsoft 不支持 .msi 鏈接,因而不應(yīng)該使用。SQL Server Express 也不支持合并模塊。如果某個現(xiàn)有 MSDE 安裝未顯示在“控制面板”的“添加/刪除程序”菜單中,則必須清除 SQL Server Express 的安裝。


以下列出了一些常用的命令行參數(shù)。




  • SAPWD 用于提供 SA 帳戶的密碼,主要與 SECURITYMODE=SQL 一起使用。SECURITYMODE=SQL 用于啟用混合模式身份驗證,對于提供強 SA 密碼很重要。對于 Windows 身份驗證,不需要此參數(shù)。



  • ADDLOCAL=ALL 用于選擇安裝所有 SQL Server Express 組件。



  • DISABLENETWORKPROTOCOLS 用于啟用/禁用網(wǎng)絡(luò)協(xié)議。默認情況下,值為 1,意味著默認情況下,禁用網(wǎng)絡(luò)協(xié)議。使用 DISABLENETWORKPROTOCOLS=0 可以在實例中啟用網(wǎng)絡(luò)協(xié)議。



  • /qn 用于無提示安裝。



  • INSTANCENAME 參數(shù)用于指定命名實例的名稱。建議的默認值為 SQLEXPRESS。


語言支持


SQL Server Express 數(shù)據(jù)庫引擎支持 MSDE 支持的全部 12 種語言。目標語言包括:英語、葡萄牙語(巴西)、荷蘭語、簡體中文、繁體中文、法語、德語、意大利語、日語、朝鮮語和西班牙語。


支持注意事項


通過新聞組、基于 Web 的文檔和資源(例如 SQL 聯(lián)機叢書和白皮書),對 SQL Server Express 提供支持。


硬件/軟件要求




  • 硬件要求




    • 處理器頻率最小為 600 mHz



    • 處理器頻率建議為 1 GHz



    • RAM 最小為 256MB(安裝程序會發(fā)出警告)



    • RAM 建議為 512MB



    • 硬盤空間最小為 170 MB(系統(tǒng)中必須裝有 Microsoft .NET Framework)



    • 視頻設(shè)備分辨率最低為 800 x 600,256 色



    • 視頻設(shè)備分辨率建議為 1024 x 768,增強色 - 16 位



  • 軟件要求:




    • Microsoft Internet Explorer 6.0 SP1 或更高版本



    • Microsoft .NET Framework 2.0



  • 操作系統(tǒng)




    • Microsoft Windows 2000 SP4 Professional



    • Microsoft Windows 2000 SP4 Server



    • Microsoft Windows 2000 SP4 Advanced



    • Microsoft Windows 2000 SP4 Data Center



    • Microsoft Windows XP SP1 Professional 或更高版本



    • Microsoft Windows 2003 Server 或更高版本



    • Microsoft Windows 2003 Enterprise 或更高版本



    • Microsoft Windows 2003 Data Center 或更高版本



    • Microsoft Windows Small Business Server 2003 Standard 或更高版本



    • Microsoft Windows Small Business Server 2003 Premium 或更高版本


64 位支持


SQL Server Express 將支持 x64 平臺上的 Windows on Windows (WOW)。WOW 實質(zhì)上是在 64 位計算機上運行 32 位 SQL Server Express。SQL Server Express 不能安裝在 IA64 計算機上。


SQL Server Express 沒有的功能


其他 SQL 版本具有的某些功能,SQL Server Express 卻不具有,這些功能包括:




  • 可用性功能,例如數(shù)據(jù)鏡像、群集等



  • 全文搜索



  • SQL 代理



  • Reporting Services



  • 商業(yè)智能平臺,例如 Notification Services 和 Analysis Services



  • SQL Management Studio,是新的 GUI 工具,用于替換 SQL 2000 企業(yè)管理器


請注意,在 2006 年,全文搜索和 Reporting Services 功能將添加到 SQL Server Express Edition 中。



Visual Studio 集成


SQL Server Express 隨所有 Visual Studio 版本一起安裝。Visual Studio 使用實例名稱 SQLEXPRESS 安裝 SQL Server Express。在 SQL Server Express 中,應(yīng)用程序依賴于 SQLEXPRESS 實例名稱。集成 Visual Studio 和 SQL Server Express 是為了讓使用 SQL Server Express 訪問數(shù)據(jù)庫與使用 Jet 訪問一樣簡單容易。這對于客戶端應(yīng)用程序和 ASP.NET Web 服務(wù)器兩種情況都是如此。


例如,在 Visual Studio 項目中引入了一個數(shù)據(jù)庫對象,該對象模板 SQL Server 數(shù)據(jù)庫。當用戶在 Visual Studio 項目中選擇“添加新對象”選項時,將顯示此對象。將數(shù)據(jù)庫添加到項目后,將對該數(shù)據(jù)庫自動進行連接管理,這樣用戶就可以單擊該數(shù)據(jù)庫來查看數(shù)據(jù)庫中的所有對象,例如表、存儲過程等。我們?yōu)槟峁┝酥苯訉⑾嚓P(guān)表拖放到表單中的功能。如果使用 Visual Web Developer,將自動創(chuàng)建 GridViewSqlDataSource,而不需要用戶在代碼行中鍵入。您也可以僅通過拖放操作,將某個控件(如文本框)自動綁定到某個數(shù)據(jù)庫值。所有連接字符串設(shè)置都存儲在中心 Web.config 文件中,這樣用戶便必須在一個單獨的位置才能進行修改。


Visual Studio 使用 SQL Server Express 中的用戶實例,所以在 Visual Studio 項目中,可以像處理 Windows 文件一樣處理 SQL Server 數(shù)據(jù)庫文件。例如,您可以像處理 Jet 文件一樣,重命名、刪除、復(fù)制或移動數(shù)據(jù)目錄中的數(shù)據(jù)庫 (.mdf) 文件。對關(guān)聯(lián)日志文件 (.ldf) 的操作與 .mdf 文件一樣,因為 Visual Studio 保持這些文件之間的關(guān)聯(lián)。Visual Studio 管理這些操作,即使運行的 ASP.NET 頁面或進程針對的是數(shù)據(jù)庫,這些操作也會成功。這意味著通常的 Visual Studio 應(yīng)用程序開發(fā)人員不需要在設(shè)計和開發(fā)期間擔心日志文件。但是,在部署期間,日志文件必須與數(shù)據(jù)庫文件一起傳輸。



與其他免費 Microsoft 數(shù)據(jù)庫的比較


與 MSDE 的比較


在 SQL Server 2005 中,SQL Server Express 代替了 Microsoft SQL Server Desktop Engine (MSDE),提供了很多易用的功能,可供非專業(yè)開發(fā)人員或愛好者使用。MSDE 基于 SQL 2000 技術(shù),建議用于 Windows 9x 平臺,而 SQL Server Express 基于 SQL Server 2005 技術(shù)。SQL Server Express 具有諸如應(yīng)用程序 XCopy、有效的安裝程序 UI、CLR 支持、GUI 工具和 Visual Studio 集成之類的功能,而 MSDE 不具有這些功能。但是,與 MSDE 相比,有些功能 SQL Server Express 也不具有。這些功能包括:DTS、復(fù)制發(fā)布和 SQL 代理。


在 MSDE 中,一直可以在部署時使用合并模塊功能,而 SQL Server Express 不具有此功能。MSDE 中的工作負荷中止值有時難以理解和使用。在 SQL Server Express 中,不再使用此中止值,引擎改為使用 CPU、RAM 和數(shù)據(jù)庫大小限制,這與其他版本不同。下表顯示了這兩個產(chǎn)品的比較結(jié)果。


表 2. MSDE 與 SQL Server Express 的比較














































SQL Server Express 2005


MSDE 2000


用戶實例支持


沒有此功能


獨立下載中的 DTS


具有 DTS 運行時


因為沒有 MDAC 而容易部署


安裝時會同時安裝 MDAC


只有 MSI,服務(wù)順利


MSI 和 MSM,MSM 服務(wù)困難


支持訂閱服務(wù)器的事務(wù)復(fù)制、合并復(fù)制和快照復(fù)制


除了支持復(fù)制訂閱外,還支持合并/快照發(fā)布


有效的安裝程序 UI


基本的安裝程序 UI


沒有代理


具有代理


支持 Windows 2000 SP4、Windows XP SP1 和 Windows 2003


支持 Windows 98、Windows Me、Windows 2000、Windows XP、Windows NT4 和 Windows 2003


CLR 支持


無 CLR 支持


提供 GUI 工具


不提供 GUI 工具


數(shù)據(jù)庫大小限制:4 GB


數(shù)據(jù)庫大小限制:2 GB


1 個 CPU,1 GB RAM


2 個 CPU,2 GB RAM


沒有中止值


工作負荷中止值限制為 5 個并發(fā)工作負荷


與 Visual Studio 深度集成


與 Visual Studio 基本集成




與 Jet 的比較


SQL Server Express 基于最新的 SQL Server 2005 技術(shù),而 Jet 相當長的一段時間內(nèi)一直處于 Servive Pack 和維護階段。僅 SQL Server Express 提供所有最新、最強大的功能,例如 CLR 集成和 XML 支持。SQL Server Express 的可靠性和可伸縮性也明顯優(yōu)于 Jet。為 SQL Server Express 編寫的應(yīng)用程序可以輕松移植到 SQL Server Workgroup Edition、SQL Server Standard Edition 或 SQL Server Enterprise Edition,而 Jet 實現(xiàn)這種伸縮比較困難。SQL Server Express 還對其數(shù)據(jù)庫對象提供更加細化的安全性控制。使用 Visual Studio 2005 集成和用戶實例功能,我們將 Jet 的易用性引入 SQL Server。



結(jié)論


SQL Server Express 是一款重要的 Microsoft 產(chǎn)品版本,因為該產(chǎn)品專用于非專業(yè)開發(fā)人員、ISV 和愛好者。它免費、易用、具有強大的功能,并且可以無縫升級到其他 SQL Server 版本。有一些功能(例如用戶實例)是此 SQL Server 版本的專有功能,并且默認情況下,安裝和部署都是安全的。與現(xiàn)有的免費 Microsoft 數(shù)據(jù)庫(Jet 和 MSDE)相比,SQL Server Express 的優(yōu)勢明顯。SQL Server Express 與 Visual Studio 2005 的集成也簡化了您的數(shù)據(jù)庫設(shè)計和部署操作。


該文章在 2011/3/16 18:00:42 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved