我可以在不影响主数据库性能的情况下查询数据库的副本吗?

Gra*_*eme 3 sql-server

我正在与一个拥有大型(150,000,000 条记录并且还在不断增长)MSSQL 数据库的合作伙伴合作。他们使用我无法轻易影响的专有软件查询和填充数据库。我也想访问数据库中的数据,但提供软件的公司担心我的额外查询(我可能会做很多,在短时间内)会给已经很紧张的服务器增加太多负载并给他们带来问题.

我在这里有哪些选择?

是否可以设置一个服务器来提供数据的只读副本,以便我可以查询该数据而不会对原始数据库施加太大压力?

Aar*_*and 6

您可以执行诸如日志传送之类的操作。假设您已经在主服务器上进行完整备份和日志备份,那么使用这些备份来维护其他地方的数据库的大部分新鲜副本将根本不会影响主服务器(除非备份的存储是相同的 - 这是一个无论如何,不​​-不)。恢复日志时您无法访问数据库,但假设您知道何时运行查询突发,您可以在这些窗口之外安排恢复/待机操作(只需知道数据不会始终与生产副本,取决于上次日志还原)。

如果供应商或其他人在生产中出错,您的报告副本还可以作为热备份来恢复数据 - 根据日志传送延迟,您可以在不恢复整个数据库的情况下恢复该错误之前的数据。我已经在几个地方看到过这种方法,特别是在很多白痴可以临时访问数据库的地方。:-)