【问题标题】:Would you use Sql Server Compact for a desktop application? [closed]您会将 Sql Server Compact 用于桌面应用程序吗? [关闭]
【发布时间】:2010-09-29 19:47:39
【问题描述】:

将 SQL Server Compact 用于桌面应用程序是否有意义?

  • 它能处理多少数据?
  • 是否可以与多个用户一起使用?有什么限制?
  • 当数据库文件损坏时会发生什么?是否可以通过编程方式恢复或远程解决问题是否容易?

【问题讨论】:

  • 为什么不改用 SQL Express?
  • 我们正在努力做出决定。 SQL Express 需要更多空间,作为单独的服务运行(服务数量是我们的限制),即使不使用也会使用资源,需要安装 msi 等。

标签: sql-server-ce


【解决方案1】:

我当然会(并且会)。 SQL Compact (SQLCE) 在某些场景中具有明显的优势。现在它绝不意味着要替代 SQL Server。它不能扩展,不能运行数千个并发连接,也不能用于报告服务等。

但它的足迹很小。安装只是复制 DLL 的问题。备份它是一个简单的文件副本。如果您使用直接表或 BCP,它可以快速存储和检索。哦,它是免费的。如果您只需要一个应用程序的本地数据存储,那么 SQL Server 的部署和配置会很麻烦。 SQLCE 很简单。此外,它可以作为复制订阅者在与完整 SQL Server 相同的沙箱中运行(大多数其他小型 DB 不能)。

编辑:忘记回答您的具体问题:

  • 它可以处理多少数据? 在什么方面?数据库大小?吞吐量?桌子尺寸?行大小? 我的经验是我已经将数据库运行到几百 MB 没有问题。我认为它可以容纳 4GB(截至 4.0)。吞吐量与您将数据放入或取出的方式直接相关。我们在一个解决方案中使用它,我们每秒可以毫无问题地捕获 1k 行。您可以有 1024 列,最大行大小为 8k。
  • 多个用户?好吧,它可以处理多个同时连接(从 3.5 开始),所以是的,应该可以。我使用了来自一个用户的多个连接,而不是来自多个用户。
  • 数据库损坏?定义“破碎”。发动机有一个“紧凑和修理”的方法。它和其他文件一样 - 如何修复损坏的可执行文件?如果这就是您要问的,我没有在现场看到任何损坏(我们在一台存储卡损坏的 CE 设备上做过,但这不是引擎的问题)。

【讨论】:

  • 损坏:损坏的数据库文件。例如如果电脑突然关机怎么办? db文件会损坏吗?如果发生这种情况,是否可以自动恢复?
  • 数据库和其他文件一样。如果您将其打开并在拉电时对其进行写入,那么可以肯定,这可能会导致损坏。任何数据库都可以这样说。引擎本身是 ACID,我们在修复测试中的损坏功能方面取得了不错的成功。
  • 一旦我们发现了 SqlCeDataReader 和 SqlCeResultSet,我绝对喜欢 CE。速度太快了。
【解决方案2】:

如果您想要一个小型数据库,请使用 SQLLite 之类的东西。

但这里是article about using compact edition on a server

【讨论】:

    【解决方案3】:

    我将它用于一个应用程序并且效果很好。我遇到的唯一问题是,出于某种原因,SQL Server 2005 Management Studio 不支持最新版本的 SQL Server CE 的所有设计器功能(例如,您不能编辑表)。我认为你必须使用 2008 版本。

    它足够快,但不可否认,我将它用于小型数据集。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-05
      • 2012-04-16
      • 2011-02-15
      • 2012-05-04
      • 1970-01-01
      相关资源
      最近更新 更多