【问题标题】:Switching from using SQL Server Express to SQL Server Compact从使用 SQL Server Express 切换到 SQL Server Compact
【发布时间】:2011-05-18 12:49:15
【问题描述】:

到目前为止,我一直在我的桌面应用程序上使用 SQL Server Express,尽管服务器通常只由同一台计算机上的单个应用程序、单个用户使用。这对我来说总是有点傻,因为完整的服务器相当沉重。

然后我发现有一个叫做 SQL Server Compact 的东西。问题是,我的应用程序已经相当大了。所以我的问题是,如果我想更改为 SQL Server Compact,我们正在讨论对我的代码进行哪些更改(使用 C#)?

我主要想知道是否可以像访问 Express 版本一样访问 Compact 版本,后者使用 ADO.NET 并将其指向 localhost\sqlexpress。那么是否可以使用 Compact 创建另一个实例并将我的应用程序指向该实例,还是以完全不同的方式使用它?

【问题讨论】:

    标签: c# sql sql-server-ce sql-server-express


    【解决方案1】:

    对于独立的桌面产品,它肯定是一个比 SQL Express 更值得考虑的轻量级选项。

    但是,除了连接字符串之外,还需要注意两者之间的差异。例如,SQL CE 不支持存储过程、用户定义函数或触发器。此外,它不支持 Express 支持的所有数据类型。在技​​术层面上,它还与您的应用程序一起运行。

    另一个考虑因素是,虽然 SSMS 可以与 SQL CE 数据库一起使用,但它的功能不如 SQL Express 那样全面。然而,有很多很好的工具可以填补这些空白。请查看 Erik Jensen 的博客以获得良好的概述。

    Everything SQL Server Compact

    还可以查看他用于将 SQL Express 数据库迁移到 SQL Compact 的工具:

    How to Migrate/Downsize a SQL Server database to SQL Server Compact 4.0 (and 3.5)

    最后看看这个 SO 问题,了解两个产品之间的更多背景:

    What are the limitations to SQL Server Compact? (Or - how does one choose a database to use on MS platforms?)

    【讨论】:

    • 那么 Windows 应用程序的最佳选择是什么?快递还是 CE?
    【解决方案2】:

    我最近使用它,顺便说一下,我知道使用它们的事情是 SQL Express 有一个要连接的服务器,而且,Compact 是一个 sdf 文件,所以你必须改变的第一件事就是连接字符串。

    这个改动之后,就没有什么大的改动了,我记得,compact 几乎有 express server 的所有指令,所以,问题不大。

    查看 Microsoft 文档了解更多信息,或访问Wikipedia

    再见。

    【讨论】:

      【解决方案3】:

      我会投票反对 SQL CE:

      1. 它有 no views,这可能是迁移时的问题。
      2. 我们最近做了一些与您描述的类似的事情,并且在从 SQL Server Express 切换到 SQL Server Compact Edition 时产生了巨大的性能影响。

      我的建议是:

      1. 使用SQLite(我们为我提到的项目所做的 - 在我们的例子中它比 SQL CE 性能很多)-或-
      2. 使用VistaDB(我在其他项目中使用过;性能不如 SQL Server Express,但仍然足够)

      这两个数据库都可以 XCOPY 部署,就像 SQL Server Compact Edition 一样。

      【讨论】:

        【解决方案4】:

        SQL CE 的大小限制与 Express 相同,所以你应该很好。

        至于在两者之间移动,我发现this 用于在快速数据库和紧凑型 3.5 数据库之间移动。然后我认为您只需要更改您的connection strings(而不是指向主机/实例,而是指向转换后的文件)。但是,两者之间存在不同的features,因此您可能必须更改原始数据库中的架构才能顺利进行转换。

        【讨论】:

        • 大小限制:SQL CE 4.0 限制为 4GB。从 SQL Express 2008 开始,对 express 的限制已提高 10GB。
        猜你喜欢
        • 1970-01-01
        • 2011-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多