有人可以告诉我完成以下任务的最佳方法:将大约10个表中的所有数据 - 从大约200到2,000,000行 - 转移到另一台服务器。我查看了Log Shipping,备份和恢复数据库(虽然我不确定我是否只能备份特定的表?)。这需要每天进行。
是否可以/建议将它们设置为链接服务器,并创建一个作业,从源表中选择所有数据到目标表?
目标服务器仅用于报告目的,即不要求它作为主服务器的备份。
感谢任何建议。
由于
答案 0 :(得分:2)
Sql Server 2005 - 2008R2
如果您使用的是Sql 2005到2008 R2版本,则可以使用以下选项来创建报告服务器。
<强>复制强>
允许您在单独的服务器上获得实时近乎实时的数据来提取报告。复制的服务器(报告服务器)可用于读写。
<强>镜像强>
还将从主服务器提供几乎实时的数据副本,镜像数据库(报告服务器)将始终处于恢复状态,因为镜像数据库上的日志将从主数据库中不断恢复。因此,数据库不可用于直接读/写。您需要创建该镜像数据库的快照,并将报告应用程序的调用直接发送到它们的快照。
日志传送
将辅助数据库置于待机模式,即您可以从中读取但不能写入。当用户恢复日志时,它将断开用户的连接。或者其他选择是等待,直到没有用户连接到数据库,这可能会留下一个很好的数据。
Sql Server 2012-2014
始终在可用性组
始终在可用性组上。 Sql server 2012中引入的新功能要求您拥有Sql Server Cluster,并且您可以拥有该主数据库的多个副本。请阅读此处了解更多详情Overview of AlwaysOn Availability Groups (SQL Server)
答案 1 :(得分:0)
它可能不是您的最佳选择,(太多其他可能的考虑因素),但您可以将您想要每天传输的所有表放入他们自己的文件组中。然后,您可以备份/恢复该文件组以传输数据。