我有一个使用两个数据库的网络应用程序。 DB1 用户执行 CRUD(创建、读取、更新、删除)操作。数据库 DB2 是位于另一台服务器上的只读数据库,我将其用于报告目的。我的 DB1 每小时都会保存事务日志,而在 DB2 上,我有一项工作需要在该 DB2 上恢复这些日志,以使其保持最新状态。
我面临的问题是,如果有用户在 DB2 上运行报告(经常发生),当我获得恢复数据库的独占访问权限时,他们会与 sql 服务器断开连接。恢复每个日志所需的时间范围为 1-4 分钟。
我如何实现让我们称之为等待恢复功能,在该功能中,我的作业等待用户的查询完成,然后再将数据库切换为独占访问并恢复日志?
我的两台机器都运行 SQL Server 2008 64 位标准版
我的问题的很大一部分是使用池连接 - 在这种情况下,即使没有执行任何报告,连接也保持活动状态。我修改了连接字符串,将连接池设置为 false,并循环检查与报告数据库的打开用户连接,直到值为 0。幸运的是,我不必创建触发器来将用户退回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)