从非域计算机的SQL Server 2005备份?

我们需要做一个MS SQL Server 2005数据库的备份。 数据库所在的计算机位于自己的工作组中,不在我们的域中。 它也没有出现供应商将支持我们将PC添加到域。 所以我们需要find一种方法来获得SQL备份保存到我们的域名。

我不是一个SQL大师,但我可以看到,我们为其他数据库运行的SQL维护计划让我们指定我们希望放置备份的位置。 但是我们使用的数据库,用户和份额都在我们的领域。 看来我们的挂断是,SQL维护计划必须作为非域PC上的本地pipe理员运行,但是我没有一个很好的方式将该用户权限授予我们的networking共享。

我唯一能提出的其他select是在我们的域名上隐藏了一个Everyone R / W访问权限的共享,这使得我的皮肤爬行。

我确信我们可以在SQL维护计划在本地运行之后编写一个文件副本。 我们只是将凭据embedded到脚本中。 但是我们认为,如果维护计划能够自己处理这件事情会更好一些 – 在我看来,这不是那么活跃的部分。

我觉得周一我很累,这应该比我做的更简单。 我错过了什么?

谢谢你的帮助! CC

如果你想坚持使用维护计划,即使我知道大多数DBA的激情恨他们。 您可以使复制脚本成为维护计划中的一个步骤。 这样备份和复制保持同步。 按着这些次序:

  1. 使用您select的脚本语言创build您的副本脚本。 这很容易做一个批处理。
  2. 创build一个SQL Server代理作业创build一个作业并添加一个types为: 操作系统(CmdExec)的步骤并指定要运行的batch file的path,例如。 X:\mssql\backup\copy_db.cmd不要创build一个时间表
  3. 修改维护计划并添加执行SQL Server代理作业任务 。 通过将这个任务从工具箱拖到devise窗口来做到这一点。
  4. 获取执行SQL Server代理作业任务以运行您刚刚创build的作业。
  5. select现有的备份数据库任务 ,然后拖动绿色箭头并将其连接到刚刚创build的代理作业任务。 这将确保复制作业在备份成功完成时启动。

您将不得不在某处存储凭据,因为托pipe数据库的计算机不是该域的成员(因此不能只使用其计算机帐户)。

就我个人而言,我会编写一个脚本在SQL Server计算机上运行,​​作为“计划任务”,使用SQLCMD启动备份。 备份完成后,我会使用该脚本中embedded的凭证将其复制到远程计算机。 在维护计划运行后尝试捕获备份对我来说是有问题的,因为维护计划与复制数据库的脚本是asynchronous的。 我会保持维护计划,但要么删除备份步骤,要么不使用它创build的备份。 在单个脚本中进行备份和复制是很好的,因为它是同步的。