在不同的服务器中创建数据库的辅助只读副本

arn*_*ior 5 sql-server-2005 sql-server sql-server-2012

我们有用户查询我们的产品数据库(主要是通过 MS-Access 的 ODBC)来创建一些海关报告。我们想将我们的数据复制到第二台服务器(复制/日志传送/???),因此生产数据库上的负载较少。Prod DB 中的许多表没有主键并且是 SQL Server 2005。我们的目标 DB 是 SQL Server 2012 Standard(尽管我们可以在必要时降级目标服务器)。

我们怎么能做到这一点?我们尝试过复制,但由于缺少主键而失败。我们也尝试过日志传送,但由于 SQL 版本不同,第二个 DB 无法上线。

谢谢,吉姆

Han*_*non 6

如果您只需要每天更新一次数据库,为什么不干脆让 SQL Server 代理作业每晚将备份从生产数据库还原到辅助机器上呢?

设置简单,并提供一种方便的方式来验证您的备份。


mrd*_*nny 3

如果您需要实时数据源,您需要修复表和复制,或者需要设置为 SSIS 包以将所需的数据复制到第二台服务器。

如果您需要每天一次的副本,那么快照复制将正常工作,并且不需要您更改表。

如果将 SQL 2012 实例降级到 SQL 2005,则可以使用镜像或日志传送。对于镜像,只需每天拍摄一次快照(或您想要的任何频率),用户就可以报告该情况。对于日志传送,只需将日志前滚即可,无论一天需要多少次。对于镜像和日志传送,请记住,当删除并重新创建快照(使用镜像)时,用户将被踢出快照;当日志前滚(通过日志传送)时,用户将被踢出数据库。