【问题标题】:Unable to connect to VSTS LocalDB instance无法连接到 VSTS LocalDB 实例
【发布时间】:2018-08-09 09:36:33
【问题描述】:

我们在 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

【问题讨论】:

  • 这个MSDN SQL Server Question 可能会提供一些见解。这不是完全相同的问题,但在这种情况下,错误是由于 TCP/IP 未完全启用或配置为本地 DB 以接收外部通信而引起的。
  • 这是旧版本的 SQL Server,而不是 LocalDB。尽管如此,我也尝试过使用命名管道,但我得到了No process is on the other end of the pipe
  • @Cocowalla 你能在本地通过sqllocaldb实用程序成功运行命令吗?
  • @AndyLi-MSFT 是的,在本地运行时一切正常。直到大约一周前,这一切都在 VSTS 中运行良好

标签: continuous-integration azure-devops azure-pipelines localdb


【解决方案1】:

我还打开了GitHub issue,微软的人回复说他们更新了 VSTS 代理图像 - 这似乎已经解决了问题。

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多