Sql server 如何修复本机客户端错误';连接正忙于处理另一个命令的结果';?

Sql server 如何修复本机客户端错误';连接正忙于处理另一个命令的结果';?,sql-server,ssis,connection,Sql Server,Ssis,Connection,当SSIS包运行时,SQLServer本机客户端驱动程序发出另一个命令的结果,导致连接忙。仅当与SQLServer2000对话时。与SQLServer2005对话的另一部分似乎总是运行良好。有什么想法吗?与此相关: 修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息 症状 在压力条件下,执行链接服务器活动时,您可能会收到以下错误消息: Server: Msg 7399, Level 16, State 1, Procedure <storedProcedureName

当SSIS包运行时,SQLServer本机客户端驱动程序发出另一个命令的结果,导致连接忙。仅当与SQLServer2000对话时。与SQLServer2005对话的另一部分似乎总是运行良好。有什么想法吗?

与此相关:

修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息 症状 在压力条件下,执行链接服务器活动时,您可能会收到以下错误消息:

Server: Msg 7399, Level 16, State 1, Procedure <storedProcedureName>, Line 18 OLE DB provider 'SQLOLEDB' reported an error. 
OLE/DB Provider 'SQLOLEDB' ::GetSchemaLock returned 0x80004005:

OLE DB provider SQLOLEDB supported the Schema Lock interface, but returned 0x80004005 for GetSchemaLock .]. 
OLE/DB provider returned message: Connection is busy with results for another command 
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ::CreateSession returned 0x80004005.
Server:Msg 7399,级别16,状态1,过程,第18行OLE DB提供程序“SQLOLEDB”报告了一个错误。
OLE/DB提供程序“SQLOLEDB”::GetSchemaLock返回0x80004005:
OLE DB提供程序SQLOLEDB支持架构锁接口,但为GetSchemaLock返回0x80004005。]。
OLE/DB提供程序返回消息:连接正忙,正在处理另一个命令的结果
OLE DB错误跟踪[OLE/DB提供程序'SQLOLEDB'::CreateSession返回0x80004005。
注意错误的OLE DB来源可能不同。但是,错误消息的所有变体都包含文本“连接正忙,其他命令的结果”

决议 要解决此问题,请获取Microsoft SQL Server 2000的最新service pack

如上所述,该问题首先在SQL Server 2000 Service Pack 4中得到纠正

RDA公司的高级软件工程师马克·梅耶洛维奇(Mark Meyerovich)也提供了一些见解(现在已存档,因为原始链接已失效):

SQL Server service pack升级

在Google上快速搜索会发现以下文章(): 修复:运行链接服务器查询时出现“连接正忙于处理另一个命令的结果”错误消息

这基本上意味着问题是一个bug,并建议升级到Service Pack 4。我们从SQL Server 2000 SP3开始,我们在等式中有一些链接服务器,因此我们尝试一下。升级到SP4后–相同的结果


正如我刚刚发现的,如果您没有启用MARS,在SQL 2005上也可能发生这种情况。我甚至不知道它在默认情况下是禁用的,但它确实是。请确保您正在使用 “本机OLEDB\SQL本机客户端”连接类型。如果您使用的是“OLEDB.1”类型的连接(或其他类型的连接…),MARS甚至不是一个选项,您会得到SQL 2000行为,这是令人讨厌的

您可以通过打开连接属性,单击“全部”并在ManagementStudio中向下搜索来启用MARS


我知道你的问题早就得到了回答,但我只是为了下一个像我这样被这个问题烧死的傻瓜而做。

如果有人在使用带有ODBC的PHP PDO时遇到这个恼人的错误,请使用
closeCursor()
查询执行后的方法。

今天SQL Server for Linux到SQL Server连接的MS ODBC驱动程序11出现此错误。考虑到这是我进行搜索时的第一个Google搜索结果,希望帮助下一个搜索者

您需要在/etc/odbc.ini中设置MARS_连接,如下所示:

[ConnName]
Driver=ODBC Driver 11 for SQL Server
Server=192.168.2.218,1433
Database=DBNameHere
MARS_Connection=yes

谈到MS ODBC Linux驱动程序:这是一个完整的PITA来处理它,但我坚持使用本机解决方案。我经历了太多的障碍,尤其是在使用ZF2时,然而,我可以说,每个问题都有一个驱动程序的解决方案。只是为了鼓励使用它的人尽快放弃。

如果其他人有这个解决方案,请参考问题。我试着通过ODBC和嵌入式sql在SQLEXPRESS上通过Fujitsu的NetCobol进行连接,为了解决这个问题,我必须更改注册表中的一个值,即

\HKLM\Software\ODBC\ODBC.INI\MyDSN
使用MyDSN作为字符串值:

Name - MARS_Connection
Value - Yes

如果有帮助的话,我只是把信息放在这里。

非常感谢。我在Prolog中遇到了这个问题,使用ODBC驱动程序,在阅读您的评论之前,我无法解决这个问题。谢谢您,朋友。