如何解决System.InvalidOperationException: 内部连接致命错误错误状态:15,令牌:143
当应用程序服务器和数据库服务器之间发生 API 调用以获取数据时,我们在应用程序中经常收到此错误。
在对问题进行故障排除时,重新启动了应用程序和数据库服务器(使用我的帐户登录服务器)并且没有运气。后来我们发现,当使用用作站点应用程序池标识的服务帐户登录服务器时,问题解决了。
注意:并非所有 API 调用都会出现此问题。仅适用于涉及使用 SQL Server Always Encrypted 方法获取加密数据的调用。
因此,在其他日子或每当我们注意到问题时,我们都会使用服务帐户登录应用服务器以解决此问题。
我们使用的是 windows server 2016,IIS10。
谁能帮助我们为什么会发生这种奇怪的行为?
提前致谢
System.InvalidOperationException:内部连接致命错误。错误状态:15,令牌:143
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj,Boolean& dataReady)
在 System.Data.SqlClient.SqlDataReader.TryCloseInternal(Boolean closeReader)
在 System.Data.SqlClient.SqlDataReader.Close()
在 System.Data.Common.DbDataReader.Dispose(Boolean disposing)
在 System.Data.Entity.Core.Common.Internal.Materialization.Shaper1.Finally() at System.Data.Entity.Internal.LazyEnumerator
1.Dispose()
在 System.Collections.Generic.List1..ctor(IEnumerable
1 个集合)
在 System.Linq.Enumerable.ToList[TSource](IEnumerable`1 源)
解决方法
是否已将应用程序池添加到可以登录 SQL Server 的用户中。当应用程序池本身添加为登录用户时,无论其身份如何,都可以连接到数据库。
打开您希望应用程序池可以登录的数据库。选择安全-> 登录,右键单击和新登录...
以同样的方式创建一个新的登录名 NT AUTHORITY\SYSTEM。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。