代码之家  ›  专栏  ›  技术社区  ›  Serhat Ozgel

您会将Sql Server Compact用于桌面应用程序吗?[关闭]

  •  22
  • Serhat Ozgel  · 技术社区  · 17 年前

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

    • 它能处理多少数据?
    • 它可以与多个用户一起使用吗?制约因素是什么?
    • 数据库文件损坏时会发生什么?是否有可能以编程方式恢复,或者远程解决问题是否容易?
    3 回复  |  直到 17 年前
        1
  •  32
  •   ctacke    13 年前

    我当然会(也确实会)。SQL Compact(SQLCE)在某些情况下具有明显的优势。现在,它绝不是SQL Server的替代品。它不能扩展,不能运行数千个并发连接,也不是为报告服务而设计的,等等。

    但它有一个 极小的 安装只需在DLL上复制即可。备份它是一个简单的文件副本。如果你使用表直接或BCP,它的存储和检索速度可能会非常快。哦,而且它是免费的。如果你只需要一个应用程序的本地数据存储,SQL Server的部署和配置会很麻烦。SQLCE很简单。此外,它可以作为复制订阅者在与完整SQL Server相同的沙箱中运行(大多数其他小型数据库无法做到这一点)。

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

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

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

    但这里有一个 article about using compact edition on a server

        3
  •  0
  •   Dario Solera    17 年前

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

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