以编程方式加载和使用数据库到MS SQL Server 2008

时间:2015-02-23 15:17:42

标签: c# sql-server entity-framework

我使用实体框架,有MS SQL Server 2008和用C#编写的程序。如果不使用任何第三方工具,我可以:

  1. 每日备份到数据库中只有某些表的文件吗?
  2. 以编程方式告诉SQL Server"这里是带有一些表的文件,将其恢复到新的数据库A"然后连接到数据库A并使用数据,如果需要,删除数据库并加载下一个文件?

1 个答案:

答案 0 :(得分:1)

你可以。每日备份应该由SQL完成,然后您的程序将用于查找备份并将其还原到新数据库。您可以在SQL之外进行备份,但不确定为什么需要/想要。

步骤将是 - 创建新的空DB - 将备份恢复到新的空DB - 修复DB上的用户权限(如果适用)

您可以重载EF模型的构造函数,以接收基于您刚刚重新加载的数据库动态创建的连接字符串。

至于备份和恢复某些表格,您可能需要尝试以下操作。

  1. 为“数据繁重”项目创建单独的数据库,您不需要经常备份和恢复,也不需要为此过程设置任何值。
  2. 将这些项目从当前数据库移至新数据库
  3. 在原始数据库中添加与移出的表具有相同名称的视图,并在第二个数据库中提取新表的视图
  4. 只要视图名称100%与您移动的表名相同,并且视图仅在单个表上,您的程序应该不知道区别,但您现在可以备份较小的DB而不是包括所有文件和图像数据。希望这是有道理的

    如果您有更尖锐的问题,可以尝试提供更多信息