2015-02-23 77 views
0

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

  1. 是否每日备份到只有来自数据库的某些表的文件?
  2. 编程告诉SQL服务器“这里是一些表的文件,将其还原到新的数据库A”,然后连接到数据库A和使用数据,如果需要的话,删除数据库,并加载下一个文件?
+0

为什么不使用SQL Server本身做你的要求? – 2015-02-23 15:20:20

+0

我需要开发一个工具,它允许管理员加载任何过去一天的副本,并在没有技术帮助的情况下在两个数据库之间执行分析。 – 2015-02-23 15:22:38

+1

听起来像你需要聘请一个合格的'DBA'并停止试图削减意义'停止廉价' – MethodMan 2015-02-23 15:24:16

回答

1

,你可以。日常备份应该由SQL完成,然后您将使用程序来定位备份并将其恢复到新的数据库。你可以在SQL之外进行备份,但不知道为什么你需要/想要。

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

可以重载你构造EF模型,采取的连接字符串,您将根据刚刚重新加载的数据库实时创建。

至于ONY备份和恢复你可能想尝试以下一些表。

  1. 为不需要备份和恢复的“数据繁重”项目创建单独数据库,这些项目不需要经常备份和恢复,或者对此过程没有任何价值。
  2. 将这些项目从目前的DB到新的数据库
  3. 添加视图在原数据库具有相同的确切名称为迁出,并在第二DB
  4. 一个观点新表的拉动表

只要视图名称100%相同的名称,你感动,认为是只对单个表程序不应该知道其中的差别,但你现在将能够备份较小的数据库中的表和不包括所有的文件和图像数据。希望这是有道理

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

+0

我知道数据库的完整备份没有问题,并且可以将其设置为服务器管理中的任务(实际上这已经完成)。但是,目前的数据库是500 GB,主要是因为它充满了图像数据。我在每日备份中不需要该图像数据。在SQL Server 2008中可以只备份某些表吗? – 2015-02-23 15:37:42

+0

@Evgeny,看看我的更新,并让我知道如果有帮助 – workabyte 2015-02-23 15:46:06

+0

我看到你在说什么,但该项目是非常大的,所以拆分数据库和创建视图似乎很多工作。事实上,我需要备份少于1%的数据。我只是想找到答案:数据库有表A,表B和表C.我可以备份数据库文件只有表A?如果这不可行,我会将实体对象序列化为XML,并将备份保存为我自己的格式。我只是想确保我不会重蹈覆辙,因为我不熟悉SQL Server。 – 2015-02-23 15:56:29

相关问题