我使用Microsoft Team Foundation Server自动构建和发布。我有一个任务,每天都在整个DEV平台部署(我们被迫一次部署大约30个应用程序,因为它们相互依赖)。在部署期间,TFS连接到其自己的数据库服务器以获取部署参数。我使用以下Connect-String:
<connectionStrings>
<add name="Devdeploy"
providerName="System.Data.SqlClient"
connectionString="Server=tcp:192.192.192.255;database=someDevDB;Persist Security Info=True;User ID=cooluser;Password=thatsnotmypassword;MultipleActiveResultSets=True;Application Name=myTokenizingApplication;Connect Timeout=60"/>
</connectionStrings>
连接字符串确实有效。而且它也没有。它是随机的,有时我的两个日常部署工作一周,然后一个失败,但那天晚些时候再次工作。
当然它是一个开发平台,因此开发人员有时会犯错,我的部署也无法正常工作。但是我试图弄清楚的错误与人手产生的错误完全无关。
所以当我的连接字符串不起作用时我得到的错误(从昨晚开始登录):
2018-02-07T00:42:24.2709713Z未处理的异常:System.Data.Entity.Core.EntityException:底层提供程序在Open上失败。 ---&GT; System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)---&gt; System.ComponentModel.Win32Exception:找不到网络路径
SQL Server及其服务的可用性不在讨论范围内,因为如果某些内容无法正常运行,我可以通过监控来了解它。
您认为这种随机性会导致什么?也许同时有多个连接?