.net SQL Compact Edition数据库损坏
我们的产品在Windows计算机(笔记本电脑)上使用MS SQL Compact Edition。它基本上是文件系统中文件的元数据索引。最近我们看到数据库被破坏 当机器忙于移动文件,并且必须同时进行少量数据库更改时,就会发生这种情况 我有点震惊,这是完全可能的。我期望数据库在任何情况下都保持一致 当然,我们做错了什么。到目前为止,我们检查的内容包括:.net SQL Compact Edition数据库损坏,.net,sql-server-ce,.net,Sql Server Ce,我们的产品在Windows计算机(笔记本电脑)上使用MS SQL Compact Edition。它基本上是文件系统中文件的元数据索引。最近我们看到数据库被破坏 当机器忙于移动文件,并且必须同时进行少量数据库更改时,就会发生这种情况 我有点震惊,这是完全可能的。我期望数据库在任何情况下都保持一致 当然,我们做错了什么。到目前为止,我们检查的内容包括: 每个线程仅使用一个db连接 指定打开数据库时的最大大小 数据库只能由一个应用程序访问,这是一个基于.net的windows服务。还有其他的抓到
- 每个线程仅使用一个db连接
- 指定打开数据库时的最大大小
数据库只能由一个应用程序访问,这是一个基于.net的windows服务。还有其他的抓到你了吗 > P>您可能需要考虑将刷新间隔属性添加到对象的连接字符串中。从MSDN: 冲洗间隔或ssce:冲洗间隔 ->指定所有提交之前的间隔时间(以秒为单位) 事务被刷新到磁盘。如果 未指定,默认值为 十,
您可能还想考虑创建代码来尝试。没有保证,但值得一试。
你说的“腐败”是指在你的记录中随意乱说,还是说数据库无法读取;或者,您的意思是数据库处于不一致的状态(但可读,尽管数据不正确)?@Kyralessa:数据库无法再打开。您使用的是什么版本的SqlCe?@jdv:可能想看看这篇关于私有部署的伟大文章-只是为了确保Windows Update不会升级您的最终用户版本的SQL CE:谢谢,我会检查这些。我们永远不会知道原始问题的原因,但是谢谢分享你的建议。