SQL Server 与 SQL Express 的异同
??? SQL Server Express 2005(以下簡(jiǎn)稱 SQLExpress) 是由微軟公司開發(fā)的 SQL Server 2005(以下簡(jiǎn)稱 SQL2005)的縮減版,這個(gè)版本是免費(fèi)的,它繼承了 SQL Server 2005 的多數(shù)功能與特性,如:安全性設(shè)置、自定義函數(shù)和過程、Transact-SQL、SQL、CLR 等,還免費(fèi)提供了和它配套的管理軟件 SQL Server Management Studio Express 。
??? SQLExpress 有幾個(gè)主要的限制:
??? 1. 僅允許本地連接。
??? 2. 數(shù)據(jù)庫(kù)文件的最大尺寸為4GB,此限制只對(duì)數(shù)據(jù)文件(后綴名為 mdf),日志文件(后綴名為 ldf)不受此限。
??? 3. 只使用一個(gè)CPU來運(yùn)算,不能充分利用多CPU服務(wù)器的性能。
??? 4. 可使用的記憶體量最高只有1GB。
??? 5. 沒有 SQL Agent,若要做排程服務(wù)必須自己編寫。
??? 因此它是 SQL Server 產(chǎn)品系列中面對(duì)低端的產(chǎn)品,是面對(duì)桌面型應(yīng)用,或者小型的內(nèi)部網(wǎng)絡(luò)應(yīng)用的。
??? 所謂面對(duì)桌面型應(yīng)用的軟件,是指單用戶在一臺(tái)電腦就能完成操作的軟件,強(qiáng)調(diào)操作指令和數(shù)據(jù)處理一體化,不考慮多用戶共享權(quán)限和并發(fā)處理問題。與此相對(duì)的是 客戶/服務(wù)器(或?yàn)g覽器/服務(wù)器)模式軟件,SQL2005 就是客戶/服務(wù)器應(yīng)用模式中的服務(wù)器端軟件,SQL2005 只能管理附加(Attach)到服務(wù)器實(shí)例內(nèi)的數(shù)據(jù)庫(kù)文件(mdf文件),而此數(shù)據(jù)庫(kù)文件也唯一歸屬于該SQL2005實(shí)例,不能被其它程序調(diào)用(當(dāng)然, 也不能被客戶程序直接調(diào)用),必須由SQL2005實(shí)例執(zhí)行分離(Dettach)該數(shù)據(jù)庫(kù)文件后,才能由其它程序調(diào)用。
??? 為了適應(yīng)桌面應(yīng)用,SQLExpress 比 SQL2005 新增了一項(xiàng)標(biāo)志性的功能:不需將外置的數(shù)據(jù)庫(kù)附加到 SQLExpress 服務(wù)器中,就能夠直接調(diào)用,即在連接數(shù)據(jù)庫(kù)語句中增加了 AttachDBFilename 選項(xiàng)。有此功能后,我們用 Microsoft Visual Studio 設(shè)計(jì)桌面型應(yīng)用程序時(shí),使用Access數(shù)據(jù)庫(kù)或SQLExpress數(shù)據(jù)庫(kù)的方式幾乎相同,由于SQLExpress數(shù)據(jù)庫(kù)的功能更多、擴(kuò)展性更強(qiáng),而 且是嵌入到 Visual Studio 軟件中的默認(rèn)數(shù)據(jù)庫(kù),相關(guān)幫助文檔更多,在編程中使用SQLExpress數(shù)據(jù)庫(kù)甚至比Access更方便。唯一缺點(diǎn)是包含SQLExpress的軟件尺 寸較大,與使用Access數(shù)據(jù)庫(kù)的軟件相比,尺寸約大40兆,但現(xiàn)在的電腦硬盤容量有上百G,幾十兆已不是問題。
??? 從桌面數(shù)據(jù)庫(kù)的發(fā)展過程來看,Foxpro 曾經(jīng)很受軟件開發(fā)者喜愛,后來微軟公司開發(fā)的 VB、C# 等編程語言主推Access做桌面數(shù)據(jù)庫(kù),使得 Foxpro 逐漸衰落。當(dāng)今 Internet 網(wǎng)絡(luò)快速普及,純桌面數(shù)據(jù)管理軟件已經(jīng)落伍,取而代之的是帶有網(wǎng)絡(luò)功能的客戶/服務(wù)器(C/S)軟件,或?yàn)g覽器/服務(wù)器(B/S)軟件,與之對(duì)應(yīng)編程語言 就是 Visual Studio 。使用 Visual Studio + SQLExpress 編寫的面對(duì)桌面的數(shù)據(jù)管理軟件,能夠很容易升遷到客戶/服務(wù)器應(yīng)用(甚至就是二者兼?zhèn)?#xff09;,有此推斷,SQLExpress 也將逐漸替代 Access 。
??? 目前,網(wǎng)絡(luò)服務(wù)器和虛擬主機(jī)服務(wù)商提供的數(shù)據(jù)庫(kù)產(chǎn)品主要就是 SQL Server 2000-2008 和 Access ,幾乎沒有 SQLExpress 。這是因?yàn)?SQLExpress 只能使用1GB內(nèi)存,和一個(gè)CPU,在多用戶共享應(yīng)用時(shí),隨著用戶增多,效能下降的很快,這個(gè)缺點(diǎn)與Access類似(也可能比Access強(qiáng)點(diǎn)有限)。 由于SQLExpress和SQL2005管理的是同一種數(shù)據(jù)庫(kù)文件,如果軟件編程得當(dāng),就應(yīng)該二者兼?zhèn)?。因?#xff0c;在有SQL2005的服務(wù)器上,就沒有必 要再應(yīng)用SQLExpress了。作為特例,在小型企業(yè)內(nèi)部網(wǎng)中,由于SQL2005的購(gòu)置費(fèi)較高,也可使用SQLExpress作為客戶端/服務(wù)器系統(tǒng) 中的服務(wù)器端軟件。
??? 如果要編寫兼容SQLExpress和SQL2005的軟件,在編程時(shí)只需將連接數(shù)據(jù)庫(kù)字符串抽離出來,用自定義函數(shù)來替代(該函數(shù)的返回值等于“連接數(shù)據(jù)庫(kù)字符串”),就可以了。
總結(jié)
以上是生活随笔為你收集整理的SQL Server 与 SQL Express 的异同的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ObjectDataSource未能找到
- 下一篇: SQL Server 2000 索引视图