2009-11-15 67 views
1

这就是挑战。我需要使用C#从远程数据库服务器本地备份数据库,我们唯一共享的是\\ computer \ c $。如何进行数据库备份并将其存储在本地?

如果答案是备份到远程数据库服务器上的某个位置,然后复制该本地,则假定远程位置上没有共享。只是B/C我有权访问数据库并不意味着我有权访问文件系统。

本Q/A看起来接近我想要的,但请记住数据库中的常规帐户无法访问网络。 Sample sql script to zip and transfer database backup file

考虑到所有这些......任何人都做了这样的事情,并在意分享?或者有一个如何做到这一点的想法?

更新:我故意含糊不清。这里的背景是这样的:

  1. 我没有访问数据库所在的服务器上的文件。
  2. 我在客户端凭据下从客户端运行C#,所以我完全控制了客户端计算机,并且可以在此域中执行任何操作。

我觉得其实我也想通了什么,我们会做虽然:

  1. 在当前用户的应用程序数据区域创建一个特殊的文件夹。
  2. 创建文件共享到该文件夹​​
  3. 将权限添加到该特定共享和文件夹的所有人。
  4. 根据该共享处理备份。
  5. 删除共享并重置权限。

如果有人想了解这个问题指的是什么:RoundhousE

+0

你得到了一定的悲伤你可能不值得 - 你需要提供为什么你不能得到更多的上下文在数据库你需要备份。 – Murph 2009-11-15 23:45:44

+0

谢谢你。我将不那么模糊 – ferventcoder 2009-11-16 22:44:24

回答

0

觉得其实我也想通了什么,我们要做的:

  1. 在当前用户的应用程序数据区域创建一个特殊的文件夹。
  2. 创建文件共享到该文件夹​​
  3. 将权限添加到该特定共享和文件夹的所有人。
  4. 根据该共享处理备份。
  5. 删除共享并重置权限。

如果有人想了解这个问题指的是什么:RoundhousE

-1

如果你想/需要备份数据库,那么在一般情况下,为保证数据库一致性的目的,数据库服务器将需要要么完全关闭,要么至少完全处于只读模式。

你的问题听起来像你的“挑战者”已经带你去任务备份远程服务器,而这些条件都不满足。对这样的挑战唯一明智的答案是它不能完成。

+0

今天的大多数数据库引擎都允许进行热备份,这将是一致的。 – 2009-11-15 23:38:08

+0

如果OP有他的DBMS的“hotbackup”功能,那么他不必问这个问题。 再次是一个白痴不讨厌读这个问题(关键字是“遥远的”),也没有考虑答案的愚蠢downvote。 thankalot。 – 2009-11-16 00:29:27

+0

OH,我差点忘了另一个关键字“备份远程服务器,[备份]存储本地”。 – 2009-11-16 00:34:29

1

上下文?甲骨文? MySQL的? SQL Server? Db尺寸?备份时间?可用性要求?加密要求?行数验证?

我猜你正在谈论SQL Server,基于TSQL示例 - 我建议检查DMO对象。这里有一个引物 - http://www.codersource.net/csharp_sqldmo_sqlserver.aspx

如实 - 你问题的模糊性 - 以及它没有上下文的事实给了我一些heebie jeebies。一定要在测试环境中进行测试,而不是在生产数据上运行,好吗?

1

SQL Server的备份系统在服务器上运行整个备份过程,这基本上意味着该文件必须放置在数据库服务器可以放置并可以访问的某个位置。

换句话说,将从服务器写入文件

如果您:

  1. 不能直接访问服务器上的文件,从客户端,以任何方式
  2. 无法从服务器下载文件,到客户端,以任何方式
  3. 不能写文件从服务器,到一个普通的地方,这是客户以任何方式可达

然后,你留下了一种方法:重新实现备份。

如果您的实际问题是:

与所有的这一点...任何人做过这样的事情和保健佳品?

然后我要冒险猜测这个问题的答案是:

你是肯定你不能改变一个可解决的问题?

+0

我其实觉得我可能已经想通了。 http://code.google.com/p/roundhouse/issues/detail?id=3 – ferventcoder 2009-11-16 22:45:22

相关问题