我们在 Visual Studio Online 构建任务中运行集成测试,针对在托管 VSTS 构建代理上运行的 LocalDB 实例执行它们。
我们有一个任务通过执行这些命令来启动 LocalDB:
sqllocaldb create MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
sqllocaldb info MSSQLLocalDB
运行时这似乎没问题:
LocalDB instance "MSSQLLocalDB" started.
Name: MSSQLLocalDB
Version: 13.1.4001.0
Owner: factoryvm-az442\VssAdministrator
Auto-create: Yes
State: Running
集成测试项目的连接字符串如下所示:
Server=(localdb)\\MSSQLLocalDB;Database=MyDatabase;Trusted_Connection=True;MultipleActiveResultSets=true
这已经工作了一年多了,但在过去几天里,我们在尝试运行测试时看到了这一点:
Login failed for user 'factoryvm-az442\VssAdministrator'
由于使用了Trusted_Connection
,不知道为什么不能登录。我也尝试删除它。我还尝试从 sqllocaldb info MSSQLLocalDB
的输出中解析名为管道名称的实例,并在连接字符串中使用它,例如Server=np:\\.\pipe\LOCALDB#1579B709\tsql\query;Database=MyDatabase
,但随后我得到:
A connection was successfully established with the server, but then an error occurred during the login process.
(provider: Named Pipes Provider, error: 0 - No process is on the other end of the pipe.)
知道我们如何让它再次运行吗?
注意:请注意这不与#44724118相同,因为我没有无效的连接字符串,也没有使用 IntegratedSecurity
最佳答案
我还开了一个GitHub issue ,Microsoft 的某人回复说他们更新了 VSTS 代理镜像 - 这似乎已经解决了问题。
关于continuous-integration - 无法连接到 VSTS LocalDB 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51763601/