我们的产品在Windows机器(笔记本电脑)上使用MS SQL Compact Edition。它基本上是我们在文件系统上拥有的文件的元数据索引。最近我们看到数据库被破坏了。
当机器非常忙于移动文件并且必须同时进行一些数据库更改时,就会发生这种情况。
我有点震惊,尽管如此。我希望无论在什么情况下数据库都能保持一致。
当然我们做错了什么。到目前为止我们检查过的事情是:
数据库只能由一个应用程序访问,一个基于.net的Windows服务。还有其他问题吗?
答案 0 :(得分:3)
您可能需要考虑将flush interval属性添加到SqlCeConnection对象的连接字符串中。来自MSDN:
flush interval-or-ssce:flush interval - >指定所有提交之前的间隔时间(以秒为单位) 事务被刷新到磁盘。如果 未指定,默认值为 10。
您可能还想考虑创建代码以尝试repair your database。没有保证,但值得一试。