You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell连接SQL Server LocalDB失败,.NET及开发者PS可正常连接

问题描述

我编写了一段PowerShell脚本用于连接SQL Server LocalDB,代码如下:

$connection = New-Object System.Data.SqlClient.SqlConnection;
$connection.ConnectionString = "Data Source=(localdb)\mssqllocaldb; Initial Catalog=master; Persist Security Info=True; Integrated Security=False; User ID=sa; Password=123; MultipleActiveResultSets=true; TrustServerCertificate=True;";
$connection.Open();

执行后连接失败,报错信息:

(provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

但使用相同逻辑的.NET 8代码却可以正常连接:

var connection = new System.Data.SqlClient.SqlConnection();

connection.ConnectionString = "Data Source=(localdb)\\mssqllocaldb; Initial Catalog=master; Persist Security Info=True; Integrated Security=False; User ID=sa; Password=123; MultipleActiveResultSets=true; TrustServerCertificate=True;";
connection.Open();

另外我发现,使用Visual Studio开发者PowerShell运行相同的PowerShell代码可以成功连接,怀疑普通PowerShell缺少必要的环境路径。请问我的PowerShell脚本是否存在遗漏,或需要配置什么环境?


解决方案

1. 验证LocalDB实例的可访问性

普通PowerShell可能未加载LocalDB相关环境变量,导致无法定位实例。先执行以下命令确认实例是否能被检测:

sqllocaldb info mssqllocaldb

如果命令报错,说明当前环境找不到sqllocaldb.exe,需要手动添加路径。

2. 添加LocalDB的环境路径

sqllocaldb.exe的常见路径(根据Visual Studio版本或安装方式可能不同):

  • Visual Studio 2022社区版:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\SQLDB\LocalDB\130\
  • 独立安装的LocalDB:C:\Program Files\Microsoft SQL Server\150\Tools\Binn\

可以临时在PowerShell会话中添加路径:

$env:Path += ";C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\Extensions\Microsoft\SQLDB\LocalDB\130\"

也可以将路径永久添加到系统环境变量Path中。

3. 调整连接字符串的转义格式

对比.NET代码的连接字符串,PowerShell中可尝试将单反斜杠改为双反斜杠(虽然PowerShell默认单反斜杠无需转义,但部分场景下可能存在解析问题):

$connection.ConnectionString = "Data Source=(localdb)\\mssqllocaldb; Initial Catalog=master; Persist Security Info=True; Integrated Security=False; User ID=sa; Password=123; MultipleActiveResultSets=true; TrustServerCertificate=True;";

4. 确保LocalDB实例处于运行状态

若实例未启动,也会导致定位失败,执行以下命令启动实例:

sqllocaldb start mssqllocaldb

内容的提问来源于stack exchange,提问作者Thiago Romam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 06:22:36