Sql server 2008 r2 SQL Server 2008 R2复制失败,出现错误1204

Sql server 2008 r2 SQL Server 2008 R2复制失败,出现错误1204,sql-server-2008-r2,transactional-replication,Sql Server 2008 R2,Transactional Replication,我正在使用SQLServer2008R2服务器 在这个服务器上有两个实例(我们称它们为A和B) A使用事务复制将其一个数据库复制到B 但是,在进行一些维护后,此复制变为非活动状态,快照被删除 我已重新初始化订阅服务器并成功创建了新快照,但当我开始同步时,出现以下错误: SQL Server此时无法获取锁资源。当活动用户较少时,请重新运行语句,或要求系统管理员检查SQL Server锁和内存配置。 (来源:MSSQLServer,错误号:1204) 我已经终止了与数据库B的连接,这些连接不是管理员

我正在使用SQLServer2008R2服务器

在这个服务器上有两个实例(我们称它们为A和B)

A使用事务复制将其一个数据库复制到B

但是,在进行一些维护后,此复制变为非活动状态,快照被删除

我已重新初始化订阅服务器并成功创建了新快照,但当我开始同步时,出现以下错误:

SQL Server此时无法获取锁资源。当活动用户较少时,请重新运行语句,或要求系统管理员检查SQL Server锁和内存配置。
(来源:MSSQLServer,错误号:1204)

我已经终止了与数据库B的连接,这些连接不是管理员(sa登录)的,并且没有运行。这不起作用,我仍然得到错误

我对这方面的知识不是很渊博,而且我也没有DBA可谈,所以非常感谢您的帮助,因为我的想法很快就要用完了

提前谢谢

编辑:在与Razzle-Dazzle交谈后,这里有更多信息

DBCC OPENTRAN-在提供程序和订阅服务器上都找不到打开的事务

sp_who-这表明提供商和订户的连接很少(40岁以下)。处于“后台”或“睡眠”状态之外的唯一连接是我通过SSMS与服务器的连接

DBCC存储器状态-

出版商:


订阅者:

您应该首先调查是否存在任何阻塞,因为无法获取锁资源表明有其他东西已经在相关资产上拥有锁资源。使用诸如sp_who或其他活动会话查询之类的方法查看intance上的活动SPID之间是否存在阻塞链。您还应该检查当前是否有使用DBCC OPENTRAN的开放事务,因为如果它足够大且运行时间较长,也可能会导致问题。感谢您的建议Razzle Dazzle。我继续查看发布者和订阅者的开放事务和活动SPID。未找到打开的事务,并且没有处于睡眠或后台以外状态的SPID不是我正在与服务器建立的SSMS连接。希望这能有所帮助?接下来您可能需要检查SQL Server的内存使用情况。由于获取锁需要内存中的页面,因此在操作系统上确保实例获得良好运行所需的内存量。这是DBCC MEMORYSTATUS还是您在谈论其他内容?我只是想确保我理解了,这样我就可以得到正确的信息。DBCC MemoryStatus当然是了解SQL Server中内存使用情况的一个好方法。您甚至可以执行本文中建议的操作,简要了解是否需要额外的资源:您应该首先调查是否存在任何阻塞,因为无法获得锁资源表明有其他资源已经在相关资产上。使用诸如sp_who或其他活动会话查询之类的方法查看intance上的活动SPID之间是否存在阻塞链。您还应该检查当前是否有使用DBCC OPENTRAN的开放事务,因为如果它足够大且运行时间较长,也可能会导致问题。感谢您的建议Razzle Dazzle。我继续查看发布者和订阅者的开放事务和活动SPID。未找到打开的事务,并且没有处于睡眠或后台以外状态的SPID不是我正在与服务器建立的SSMS连接。希望这能有所帮助?接下来您可能需要检查SQL Server的内存使用情况。由于获取锁需要内存中的页面,因此在操作系统上确保实例获得良好运行所需的内存量。这是DBCC MEMORYSTATUS还是您在谈论其他内容?我只是想确保我理解了,这样我就可以得到正确的信息。DBCC MemoryStatus当然是了解SQL Server中内存使用情况的一个好方法。您甚至可以执行本文中建议的操作,以简要了解您是否需要其他资源: