小编sla*_*man的帖子

对链接服务器的某些查询的通信链接失败

当对链接服务器运行一些查询时,我在 SSMS(服务器安装了 Windows Server 2008 和 Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1)中看到以下错误,特别是长时间运行的查询。

跨链接服务器从表中进行简单选择工作正常。这是一个新问题,当已经工作多年的 SP 开始出现故障时,人们注意到了这个问题。

我在服务器上运行了 Wireshark 捕获,捕获到链接服务器主机上端口 1433 的数据包。在捕获的尾部,我看到许多 (10) 个 TCP Keep-Alives 被发出(在关于错误校验和的消息之后),然后是一个 RST 数据包。RST 数据包与以下返回给客户端的错误相关。

我们网络上还有其他数据库服务器,其中链接服务器的配置相同,不会出现此问题。

我找到了一些文章,例如thisthis。我们正在使用受牵连的 Broadcom NIC。烟囱卸载状态设置在服务器上启用。

我们将尝试禁用。关于故障排除的其他想法将不胜感激。

OLE DB provider "SQLNCLI10" for linked server "myServer" returned message "Protocol error in TDS stream".
OLE DB provider "SQLNCLI10" for linked server "myServer" returned message "Communication link failure".
Msg 65535, Level 16, State 1, Line 0
Session Provider: Physical …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 network linked-server

7
推荐指数
1
解决办法
2万
查看次数

SQL Server 疑难解答复制和长时间运行的 fn_dblog 查询

我试图让(拉)事务复制再次为订阅者工作。

目前,在复制监视器中,我在发布者到分发者选项卡和分发者到订阅者选项卡中看到消息。

在订阅者历史记录的分发者中,我看到“发布 'XX' 的并发快照不可用”。在发布者到分发者的历史记录中,我看到日志读取器代理正在初始化,然后等待服务器的响应(每 5 分钟再次记录一次消息)。

最终执行sp_replcmds失败。

我认为可能有许多未复制的事务导致日志读取器代理挂起。遵循LogReader 超时故障排除

我跑了dbcc opentran然后试图跑

select  [Transaction ID], count([Transaction ID]) as 'Count log entries'
from::fn_dblog('42006:31381:2',null) 
where [Description] = 'REPLICATE'
group by [Transaction ID]
Run Code Online (Sandbox Code Playgroud)

此查询在超过 40 分钟后未返回任何结果。此外,当我刚跑步SELECT count(*) FROM ::fn_dblog(NULL, NULL)时,很长一段时间(20 分钟)后我都没有得到结果。

我开始认为我的事务日志的大小有问题,或者某种损坏,或者什么。

任何帮助将不胜感激。

replication sql-server-2008 transaction-log transactional-replication

5
推荐指数
1
解决办法
1668
查看次数