sql-server - 在还原 SQL Server 数据库之前等待连接关闭

标签 sql-server sql-server-2008 replication

我有一个使用两个数据库的 Web 应用程序。 DB1 用户执行他们的 CRUD(创建、读取、更新、删除)操作。数据库 DB2 是我用于报告目的的不同服务器上的只读数据库。我的 DB1 每小时都会保存事务日志,并且在 DB2 上我有一项工作在 DB2 上恢复它们​​以使其保持最新状态。

我面临的问题是,如果有用户在 DB2 上运行报告(经常发生),当我获得恢复数据库的独占访问权限时,他们会与 sql 服务器断开连接。恢复每个日志所需的时间在 1-4 分钟之间。

我如何实现让我们称之为等待-n-恢复功能,我的工作在将数据库切换到独占访问和恢复日志之前等待用户的查询完成?

我的两台机器都运行 SQL Server 2008 64 位标准版

最佳答案

我的问题的很大一部分是使用池连接 - 在这种情况下,即使没有执行报告,连接也保持事件状态。我修改了我的连接字符串,将连接池设置为 false 并在循环中检查打开的用户连接到您的报告数据库,直到值为 0。幸运的是,我不必创建触发器来让用户退出。

关于sql-server - 在还原 SQL Server 数据库之前等待连接关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1045412/

相关文章:

sql-server - 向sql server 2008表中插入数据

session - Tomcat 上 session 复制的缺点是什么?

sql-server - 如何检索 SQL Server 检查约束依赖列

sql-server - 查找单元格中的项目总数?

asp.net - 如何检测 ASP.net 应用程序中的 SqlServer 连接泄漏?

c# - 将 DataTable 导入 SQL Server 的最快方法是什么?

sql - 如何在SQL Server中检索意外关闭的修改过程

mysql - 如何为多源复制删除 mariaDB 指定的 Connection_name

php - MySQL 复制如何保持同步?

sql-server - 使用 XPath 从 XML 中排除孙子