C# 数据库损坏

C# 数据库损坏,c#,linq-to-sql,localdb,C#,Linq To Sql,Localdb,我计划在下一个项目中使用localdb,并考虑对数据库进行轮换备份(它将正常分离,只有在软件运行时才会连接)。我在想如何从备份中进行自动恢复。这需要我知道数据库是否已损坏。我找不到关于这个主题的任何东西 我猜,人们并不关心数据库的完整性。备份和维护是IT的一项工作,SQL Express有几十种工具 我的数据库将是本地的PC机,而不是大的。我想说得很简单: 检测数据库是否损坏(如何损坏?) 为用户提供从最新备份恢复数据库的选项(这很容易) 旁白:也许我对SQLExpress、localdb、

我计划在下一个项目中使用
localdb
,并考虑对数据库进行轮换备份(它将正常分离,只有在软件运行时才会连接)。我在想如何从备份中进行自动恢复。这需要我知道数据库是否已损坏。我找不到关于这个主题的任何东西

我猜,人们并不关心数据库的完整性。备份和维护是IT的一项工作,SQL Express有几十种工具

我的数据库将是本地的PC机,而不是大的。我想说得很简单:

  • 检测数据库是否损坏(如何损坏?
  • 为用户提供从最新备份恢复数据库的选项(这很容易)
旁白:也许我对SQLExpress、localdb、LINQtoSQL一无所知。这就是为什么这个问题非常笼统


得到答案后,我将使用简单的选项:

  • 如果数据库无法打开且文件存在-数据库已损坏,则提供恢复(不存在-创建空数据库并进行初始设置)
  • 提供以下选项(如果用户在更新过程中发现异常或错误等):检查数据库
    DBCC CHECKDB(0,修复\u重建)
    (最好先尝试)或恢复
自动检测似乎成本高昂。而是保留每周/每月备份以进行手动恢复(如果旧数据确实需要这样做的话),并在每次运行时创建mdf文件备份,以将损失降至最多1天(在我的情况下,对于数据库损坏等异常情况,这完全可以)

我计划在下一个项目a中使用localdb

您的意思是,您计划运行一个明确不是为在生产中运行而设计的数据库

我在想如何从备份中进行自动恢复。这需要我知道 数据库已损坏。我找不到关于这个主题的任何东西

阅读SQL文档。Backusp、恢复都是使用标准SQL命令的doe。很容易做到

我想说得很简单: 检测数据库是否损坏(如何损坏?)

DBC Checkdb命令。不过,这可能需要很多时间,具体取决于数据库

也许我对SQLExpress、localdb、LINQtoSQL一无所知

这可以通过阅读文档来解决。例如,我永远不会在任何产品上使用localdb

阅读文档?它从第一行开始:

Microsoft SQL Server 2014 Express LocalDB是SQL Server Express的一种执行模式 面向程序开发人员


因为某人心情不好而否决投票=DNot用于在生产中试运行。这将是一个本地PC软件,我需要存储一些数据,因此使用数据库是一个好主意(以前使用过mdb),我的同事使用的是
localdb
,请向我们解释一下我们做错了什么。谢谢,这听起来像是对我的回答!不过我得先测试一下。好吧,那是生产,我至少会使用-express。明智的事情。