且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

更新Windows后出现SqlClient错误-“传入表格数据流(TDS)远程过程调用> (RPC)协议流不正确"

更新时间:2023-02-09 10:52:32

我的名字叫Peter Carlin,我在SQL Server团队工作.我首先要为这一事件以及对.NET Framework 4.7.2用户的影响表示歉意.接下来,我要解释发生了什么以及Microsoft如何更详细地修复它.

My name is Peter Carlin and I work in the SQL Server team. I first want to apologize for this incident and the impact on users of .NET Framework 4.7.2. I next want to explain what happened and how Microsoft is fixing it in more detail.

问题是由于SQL中始终加密"功能的改进所致.这些改进扩展了可以在始终加密"中完成的操作集,但是它们尚未准备好供应用程序使用.这些改进涉及对SqlClient和SQL Server端的更改.我们在.NET Framework 4.7.2中引入了一个错误,使得在某些情况下(与MARS有关),SqlClient错误地认为所添加的功能正在使用中,并向SQL发送无效的请求. SQL拒绝那些在此线程中看到错误消息的应用程序.仅当连接到也支持附加功能的SQL Server时,才会发生这种情况. SQL DB是第一个获得最新SQL更改的人,最近又部署了添加的功能.

The issues is due to improvements to the Always Encrypted functionality in SQL. These improvements expand the set of operations that can be done in Always Encrypted, however they are not yet ready for applications to use. These improvements involve changes to both SqlClient and SQL server side. We introduced an error in .NET Framework 4.7.2 such that in some circumstances (related to MARS) SqlClient incorrectly thinks the added functionality is in use and sends invalid requests to SQL. SQL rejects those with the error messages seen in this thread. This only happens if connected to a SQL server that has support for the added functionality as well. SQL DB is the first to get the latest SQL changes, and recently deployed the added functionality.

我们的紧急解决方案是确保SQL DB的行为就好像它没有添加的功能一样,因此不会遇到4.7.2中的SqlClient侧错误.这就是为什么我们能够通过SQL DB方面的更改来解决此问题.

Our immediate fix is to ensure the SQL DB acts as if it does not have the added functionality, so the SqlClient side bug in 4.7.2 is not encountered. This is why we are able to fix the issue with a SQL DB side change.

我们正在尽快/安全地部署,验证和修复此修复程序.目前,此修复程序已部署到我们生产能力的大约10%,预计将于5月21日星期一完成.

We are working as quickly as wise/safe to deploy, validate, the fix. At this point the fix is deployed to approximately 10% of our production capacity, with expected completion by Monday May 21st.