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