未来如何发展MVC3站点的SQL Server数据库,避免数据丢失

本文关键字:数据 数据库 Server 何发展 MVC3 站点 SQL 未来 | 更新日期: 2023-09-27 18:01:19

我准备用c#,实体框架和SQL Server开发一个MVC 3网站。

这个网站是为关键工作和数据丢失是绝对不允许的!据我所知,我没有发展数据库的经验,但我知道这个项目应该能够在使用增量开发方法的同时发展。我可以知道有什么可以遵循的指导方针,以及我如何在没有任何错误的情况下发展它吗?在数据库初始设计或其他方面。只是,0数据丢失是最高优先级的要求。

我需要这两个问题的答案,希望一些经验可以指导我解决这个问题

  1. 如何在不影响同一表中其他数据的情况下更新数据库包括表、列
  2. 如何更新远程数据库(例如c#窗口应用程序和数据库不与我)

表示1。问题数据库位于我的web服务器,但问题2数据库是留在用户端。

未来如何发展MVC3站点的SQL Server数据库,避免数据丢失

答案是:以满足需求的方式设计升级过程是您的责任。没有自动魔法可以为你做这些。

这个过程通常包括创建升级SQL脚本,它将修改数据库结构,如果需要的话,它也可以将数据移动到临时表,而主表的结构被改变,这样数据就不会丢失。您还可以在一些特殊的表中维护数据库版本,并在运行更新之前检查它,以确保更新脚本在预期的旧版本上运行。

有像RedGate SQL比较和Visual Studio数据库工具(只有高级版和终极版)这样的工具,它们能够将旧数据库,新数据库和创建差异脚本,以便旧数据库模式可以升级到较新的数据库。这适用于大多数场景,但您必须始终非常仔细地在测试环境中测试结果。如果可能的话,最好在生产数据库的备份上进行测试。

如果出现问题,如何避免数据丢失?只有一种非常简单的方法在您做任何更改之前备份数据库,并在出现任何错误时恢复旧数据库。甚至可以用SQL编写备份脚本。没有成功的备份,永远不要碰你的生产数据库。

如何升级客户端数据库?您将使用相同的过程,但是您将把它全部封装在一些安装包(.msi)中,例如使用WiX创建的。