【问题标题】:SSIS - A transport-level error has occurred when receiving results from the serverSSIS - 从服务器接收结果时发生传输级错误
【发布时间】:2013-12-10 10:23:04
【问题描述】:

我有一个简单的 SSIS 包,用于在两台服务器之间传输数据,比如说从 SERVER01(源)到 SERVER02(目标)。当我在本地测试我的 SSIS 包时,一切都很好。当我在 SERVER02 上部署它时,它失败并出现错误:

从服务器接收结果时发生传输级错误。 (提供者:TCP Provider,错误:0 - 指定的网络名称不再可用。)

所以我直接在 SSMS 中测试了我的“选择查询”:在我的笔记本电脑上执行 - 好的。在 SERVER02 上的 SSMS 中执行 - 失败并显示相同的错误消息。在其他服务器上执行 - 好的。

所以这意味着它与SERVER02有关。它是运行 Windows 2012 和 SQL Server 2012 的虚拟机。我可以 ping SERVER01 没有任何问题。数据大约有 170.000 行和 20 列。

查询会在一段时间后中断,而且是随机的。有时我会在它打破之前获得 10.000 条记录,有时是 80.000 条

有人能指点我如何解决这个问题吗?

【问题讨论】:

  • 你能从运行包的地方访问两台服务器吗?
  • 是的 - 我可以毫无问题地运行其他较小的查询。我忘了提到查询会在一段时间后中断,而且是随机的。有时我会在它打破之前获得 10.000 条记录,有时是 80.000 条。
  • 尝试在 sql server 中运行查询,然后你的虚拟需要更多内存,或者你的连接有问题
  • 我们有 4GB 可用 RAM(从 16GB 开始)。当我运行查询时,内存使用率没有变化(70%)
  • 对我来说是一次,小查询没问题,但如果我插入大查询,即使没有运行(或有时运行)sql server 也会出现此错误。在我的情况下,IT 管理员在安装了 sql server 的 windows server 中禁用了防病毒软件,然后就可以了。

标签: sql-server ssis


【解决方案1】:

SERVER01 是否定义为 SERVER02 上的链接服务器?执行包的用户是否对相关对象拥有正确的权限?

考虑连接管理器中的连接超时属性。

【讨论】:

  • 不,不是。我刚刚将 SERVER01 添加为 SERVER02 上的链接服务器,但我的结果与以前相同 - 一段时间后查询中断。用户拥有所有权限,我可以毫无问题地运行其他较小的查询。
  • 尝试增加分配给虚拟机的内存
  • 我们有 4GB 可用 RAM(从 16GB 起)。当我运行查询时,内存使用率没有变化(70%)
猜你喜欢
  • 2015-05-30
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多