msde全稱是ms sql server desktop engine,俗稱mssql的桌面版,它是一個基于 sql server 核心技術(shù)構(gòu)建的數(shù)據(jù)引擎。msde 2000 支持單處理器和雙處理器,是面向小型應(yīng)用程序桌面擴展的可靠的存儲引擎和查詢處理器。msde與sql server完全兼容,它只支持數(shù)據(jù)庫容量2g,并發(fā)用戶不超5個,沒有圖型管理工具,但是免費的 。
sql server系列產(chǎn)品具有各種發(fā)行版本,用以滿足在不同的環(huán)境下對處理的數(shù)據(jù)量、并發(fā)用戶數(shù)和硬件的不同要求。一般來說,msde適合在并發(fā)用戶數(shù)小于5 人,數(shù)據(jù)量低于2gb的情況下使用。當數(shù)據(jù)量和并發(fā)用戶數(shù)超過上面的配額的時候,sql server成為了更好的選擇。由于msde與sql server完全兼容,開發(fā)人員可以使用同樣的數(shù)據(jù)訪問語言在規(guī)模相對較小的msde數(shù)據(jù)庫系統(tǒng)和規(guī)模較大的sql server數(shù)據(jù)庫系統(tǒng)之間實現(xiàn)無縫轉(zhuǎn)換,并且,當所在組織的規(guī)模擴大后對數(shù)據(jù)庫系統(tǒng)的功能和性能提出新的需求時,則可以在不修改現(xiàn)有數(shù)據(jù)庫應(yīng)用程序中的 任何代碼的情況下,將它完全移植到基于sql server的平臺上運行。
msde不包含圖形界面,是通過命令行管理程序osql來連接的。
msde為多個 microsoft 產(chǎn)品(包括 microsoft visual studio 和 microsoft office developer edition)的組件提供。它的版本和 sql server 版本之間有直接關(guān)系。msde 1.0 基于 sql server 7.0;msde 2000 基于 sql server 2000。雖然是微軟的免費數(shù)據(jù)庫,但msde不適用大量用戶訪問。
本文講述了什么是msde,并把msde放在一個與microsoft jet和microsoft sql server 7.0相關(guān)的角度去討論,同時還介紹了msdn的應(yīng)用。
msde(microsoft data engine)是微軟發(fā)布的供visual studio 6.0企業(yè)版或者專業(yè)版的注冊用戶下載的數(shù)據(jù)引擎。它是一個同sql server百分之百兼容的數(shù)據(jù)引擎。像access一樣,我們可以在pc機上使用msde。msde還可以在任何包含access的office 2000中獲得。在access 2000中,我們既可以選擇msde也可以選擇新版本的jet作為數(shù)據(jù)引擎。
msde的特征
為什么要推出msde這一新的數(shù)據(jù)引擎呢?access,由于它易用性,非常適合開發(fā)工作。當準備推出產(chǎn)品或者access驅(qū)動的web站點擁有太多的訪客時,我們可以遷移到sql server上。msde省掉這個遷移步驟。如果代碼和數(shù)據(jù)庫可以在msde上運行,它們就可以在sql server上運行。就這么簡單!
還有,如果我們使用microsoft office developer 2000或者visual studio 6.0來為客戶演示應(yīng)用程序的示例版本,我們不需要繳納特許費就可以分發(fā)msde。我們可以把msde同示例數(shù)據(jù)庫以及代碼捆綁在一起,讓它們可以通過web下載。
msde同jet比較
jet是隨同access和foxpro一起發(fā)行的數(shù)據(jù)庫引擎,并且在過去幾年一直是這兩個系統(tǒng)的主要引擎。隨著access 2000的發(fā)行,微軟同時發(fā)布了jet數(shù)據(jù)庫引擎的4.0版,它的新特性是行級鎖定(row-level locking)。
jet和msde之間最基本的區(qū)別是它們的結(jié)構(gòu)。jet是一個文件服務(wù)器數(shù)據(jù)庫管理系統(tǒng)(file-server database management system)。所有的數(shù)據(jù)庫信息都包含在一個單獨的.mdb文件中。而msde就像sql server一樣,是作為一種客戶-服務(wù)器服務(wù)運行的,很像一個web服務(wù)器。雖然在你創(chuàng)建一個msde數(shù)據(jù)庫的同時也需要創(chuàng)建一個文件,但是那個文件其實是一個保存數(shù)據(jù)庫結(jié)構(gòu)的信息的項目文件,msde引擎將使用這些信息來管理你的數(shù)據(jù)庫。
然而,你也許更關(guān)心究竟該在你的應(yīng)用程序中使用jet還是msde。如果你已經(jīng)有一大堆jet應(yīng)用程序在運行,而你又不想支持另外的數(shù)據(jù)庫引擎,那么請務(wù)必堅守你現(xiàn)有的系統(tǒng)。如果你一直在等待下面我們要討論的一些特殊的數(shù)據(jù)庫特性,那么msde也許值得考慮。
性能圖可以提供了一些有意思的比較結(jié)果。如果你不準備把你的msde應(yīng)用程序移植到sql server,那么jet大概比msde支持更多的并發(fā)用戶。msde在5個或者更少并發(fā)用戶的環(huán)境里性能優(yōu)選。隨著用戶數(shù)量的上升,性能也隨之下降。嚴格的講,msde的性能是系統(tǒng)負載的函數(shù),而不是用戶數(shù)量的函數(shù)。如果人們對你的msde數(shù)據(jù)庫的訪問集中在很少一些查詢或者紀錄上面,那么性能下降的速度比負載被均勻分布在不同的數(shù)據(jù)元素或者功能上的時候性能下降的速度要快的多。
access在理論上可以支持到255個并發(fā)用戶,但是實際上這個數(shù)字將會被限制在20個或者更少——如果你想要保險的話,最好是10個或者更少。對msde數(shù)據(jù)庫大小的限制是2gb。雖然jet也被限制在2gb文件大小,但是你可以把多個文件連接起來從而擴展了這個尺寸限制。
如果你希望進入企業(yè)級或者高通信量的解決方案,那么msde就是入場券。msde像sql server一樣,支持許多工業(yè)級的數(shù)據(jù)庫特性,例如事務(wù)日志,存儲過程,觸發(fā)器,分布式事務(wù),動態(tài)備份和恢復(fù),以及自動恢復(fù)。如果你想要你的web、intranet或者分布式應(yīng)用程序能長時間滿足大量的通信量,msde提供了一個到巨無霸數(shù)據(jù)引擎sql server 7.0的無縫的升級路徑。
msde的安裝
1.office 2000用戶安裝msde
jet是隨同access安裝的缺省引擎,因此在使用msde引擎之前,必須先安裝它。直接點擊office 2000軟件包的第一張cd上的文件夾“\sql\x86\setup”中的 setupsql.exe(不是sqlstp.exe)文件,就可以安裝msde了。
2.visual studio 6.0用戶安裝msde
msde的本來目的并不是用作開發(fā)工具,但是它仍然可以成功的用于visual studio開發(fā)環(huán)境。msde for visual studio有兩個安裝版本,一個是面向intel x86系列兼容結(jié)構(gòu)的版本,另一個是面向基于alpha結(jié)構(gòu)的機器的版本。
對于visual studio 6.0的開發(fā)人員來說,在配置解決方案時,安裝msde的最快的方法是將msde for visual studio 6.0安裝命令行包含在用于配置解決方案的安裝程序中。msde for visual studio 6.0的安裝程序通過一個響應(yīng)文件來允許它本身被一個單獨的命令行語句調(diào)用并運行。
msde數(shù)據(jù)庫
1.office 2000用戶
msde一旦安裝完成,我們就可以通過創(chuàng)建一個項目(project.)來創(chuàng)建一個msde數(shù)據(jù)庫。在access 2000中,新的msde數(shù)據(jù)庫被歸類為“access項目”(.adp文件)。相比之下,一個“access數(shù)據(jù)庫”(.mdb文件),是基于jet 4.0引擎的。要創(chuàng)建一個access項目,啟動access 2000,并且從選單上選取文件→新建。在常用標簽下,選取項目(新數(shù)據(jù)庫)。數(shù)據(jù)庫視圖如圖1所示。這樣的access項目文件將維持一個到msde服務(wù)器的ole db連接。通過項目文件使用access,可以獲得sql兼容數(shù)據(jù)庫的附加特征,而這些特性是access jet數(shù)據(jù)庫中的連接表所不支持的。
圖1 新的數(shù)據(jù)庫視圖
新的msde數(shù)據(jù)庫創(chuàng)建好之后,還不能立刻訪問它。msde同jet不一樣,它使用windows nt challenge/response驗證方式,因此需要修改我們的訪問許可,來允許access看到msde。
2.visual studio 6.0用戶
visual studio 6.0用戶在分發(fā)msde解決方案的時候,創(chuàng)建一個新的數(shù)據(jù)庫的最快的方法是:首先使用sql server開發(fā)人員版創(chuàng)建一個數(shù)據(jù)庫,然后分離該數(shù)據(jù)庫,最后再用sql-dmo把該數(shù)據(jù)庫配屬給一個msde服務(wù)器。在配置應(yīng)用程序時,創(chuàng)建一個新的數(shù)據(jù)庫的最快的方法是:首先用sql server開發(fā)人員版創(chuàng)建數(shù)據(jù)庫,然后備份該數(shù)據(jù)庫,最后用transact-sql把該數(shù)據(jù)庫恢復(fù)到一個msde服務(wù)器。
當分發(fā)帶有嵌入的msde數(shù)據(jù)庫的應(yīng)用程序時,也許需要使一個新的msde數(shù)據(jù)庫的創(chuàng)建自動化。visual studio 6.0可以選擇使用諸如visual basic這樣的visual studio工具來創(chuàng)建一個新的定制應(yīng)用程序以分發(fā)msde和建立數(shù)據(jù)庫。
msde表
在access 2000中,一旦本地msde服務(wù)注冊成功,我們就可以來創(chuàng)建一個msde表了。access 2000的表向?qū)樵趍sde中創(chuàng)建新的表提供了一個最快而又最容易的方法。msde表還可以通過access項目文件用access 2000創(chuàng)建。按照下面的步驟就可以在access 2000中創(chuàng)建一個新的msde表:從access選單上,選取視圖→數(shù)據(jù)庫對象→表,在設(shè)計視圖中選擇創(chuàng)建表。設(shè)計視圖允許我們直接在表中填入域。
總的說來,msde作為微軟發(fā)布新的數(shù)據(jù)引擎,擁有強大的能力和靈活性。它支持許多工業(yè)級的數(shù)據(jù)庫特性,是我們進入企業(yè)級或者高通信量解決方案的入場券。
該文章在 2010/6/26 1:15:11 編輯過