我在不同的webhosts上有一对SQL Server,我正在寻找一种方法来定期使用另一台服务器更新一台服务器。这就是我要找的东西:
最初,我正在考虑编写一些内容,这些内容需要对每个数据库进行预定的完整备份,一旦完成后将备份从一台服务器FTP到另一台服务器,然后新服务器将其选中并恢复它。我能看到的唯一缺点是,在开始传输备份之前无法知道备份是否完成 - 这些备份是否可以同步完成?此外,正在刷新的服务器是我们的测试服务器,因此如果移动数据涉及一些停机时间,那很好。
有没有人有更好的想法,或者我正在考虑最好的非复制方式?感谢大家的帮助。
更新 我最终设计了一个自定义解决方案,使用BAT文件,7Zip,命令行FTP和OSQL完成此操作,因此它以完全自动的方式运行,并聚合来自全国十几个服务器的数据。 I've detailed the steps in a blog entry
感谢您的所有投入!
答案 0 :(得分:4)
这是SSIS / DTS的主要目的。我经常使用SSIS做到这一点。如果您之前没有使用过SSIS sqlis.com是一个很好的起点(除非您使用的是SQL2000,否则您将使用DTS,在这种情况下以sqldts.com开头)。关于这个主题还有许多好书。
但是考虑学习SSIS绝对值得你花时间。阅读你的问题,SSIS是迄今为止最好的路线。您不需要编写一行代码,它具有内置的所有工具来完成工作。您也可以安排它按间隔运行。
答案 1 :(得分:3)
我会为此编写一个.NET控制台应用程序。执行备份就像打开SQL连接并执行“BACKUP DATABASE [] TO DISK = N”一样简单。然后使用内置的.NET FTP库将其推送到另一台服务器。您甚至可以投入{ {3}}首先将其压缩。然后将其投入计划任务。
另一方面,设置一个Windows服务,使用sharpziplib监视ftp传输到的文件夹,然后在完成后恢复备份。
答案 2 :(得分:2)
我找到了一个开源工具,有些人可能觉得它很有用,可以修改以满足他们的需求。
SQL Server Database Copy Tool
“通过备份将sql server数据库从一台服务器复制到另一台服务器,将备份文件复制到目标服务器并恢复数据库。”
答案 3 :(得分:0)
您可以通过分离每个数据库并复制MDF / LDF文件来获得更快的“备份” - 这确实意味着您的数据库在很短的时间内处于脱机状态。除此之外,我会选择克里斯的评论。
答案 4 :(得分:0)
使用“复制数据库向导”。 - 右键单击源数据库 - 选择“任务” - “复制数据库”。
在指南中您也可以选择为作业创建计划。
答案 5 :(得分:-1)
使用Import&导出向导以创建新表或附加到现有表。您也可以使用查询在向导中进行数据传输。