2009-01-06 65 views
22

對於桌面應用程序使用SQL Server Compact有意義嗎?您是否將Sql Server Compact用於桌面應用程序?

  • 它可以處理多少數據?
  • 是否可以將它與多個用戶一起使用?有什麼限制?
  • 當數據庫文件被破壞時會發生什麼?是否有可能以編程方式恢復,或者是否可以輕鬆地遠程解決問題?
+0

爲什麼不使用SQL Express呢? – ChrisW 2009-01-06 14:31:46

+2

我們正在努力做出決定。 SQL Express需要更多的空間,作爲單獨的服務運行(服務數量是我們的限制),甚至在不使用時使用資源,需要msi安裝等。 – 2009-01-06 14:35:35

回答

32

我當然會(並且做)。 SQL Compact(SQLCE)在某些情況下具有明顯的優勢。現在它絕不意味着成爲SQL Server的替代品。它沒有擴展性,它並不是爲了運行數千個併發連接而設計的,它並不適用於報告服務等。

但它有一個微小的佔用空間。安裝只需複製DLL即可。備份它是一個簡單的文件副本。如果您使用table direct或BCP,它可以快速存儲和檢索。哦,它是免費的。如果您只需要一個應用程序的本地數據存儲,那麼SQL Server就很難部署和配置。 SQLCE很簡單。此外,它可以作爲複製訂閱者與完整的SQL Server在同一個沙箱中播放(大多數其他小型數據庫不能)。

編輯:忘了回答您的具體問題:

  • 多少數據可以處理? 在什麼方面?數據庫大小?吞吐量是多少?桌子大小?行大小? 我的經驗是,我已經將數據庫運行到幾百MB而沒有問題。我認爲它可以容納4GB(從4.0開始)。吞吐量與您將數據放入或取出的方式直接相關。我們在一個解決方案中使用它,我們每秒捕獲1k行,沒有任何問題。您可以有1024列,最大行大小爲8k。
  • 多個用戶?那麼它可以處理多個simulataneous連接(從3.5),所以是的,這應該工作。我從一個用戶使用了多個連接,而不是從多個連接。
  • 破損的數據庫?定義「破碎」。該引擎具有「緊湊和修復」的方法。這是一個像任何其他文件 - 你如何修復一個破損的可執行文件?我沒有看到現場有任何損壞,如果這就是你要求的(當然,我們在一臺有不良存儲卡的CE設備上做過,但這不是發動機的故障)。
+0

損壞的:損壞的db文件。對於例如如果電腦突然關機會發生什麼?數據庫文件可以被損壞嗎?如果發生這種情況,是否可以自動恢復? – 2009-01-06 14:38:00

0

我用了一個應用程序,它運作良好。我遇到的唯一問題是,出於某種原因,SQL Server 2005 Management Studio不支持最新版本的SQL Server CE的所有設計器功能(例如,您不能編輯表)。你必須使用我認爲的2008版。

它速度夠快,但我承認我使用它的小數據集。

相關問題