在 PowerShell 中通过 SQLCMD 连接到 LocalDB

jmk*_*k22 15 sql-server powershell sqlcmd sql-server-localdb

我正在尝试使用 SQLCMD 实用程序通过 PowerShell 访问我计算机上的“localdb\MSSQLLocalDB”服务器。我使用的是 PowerShell v5、.NET v5.0,服务器名称是(localdb)\MSSQLLocalDB我在 Microsoft SQL Server Management Studio 2014 中连接到它时的名称。

PS C:\> sqlcmd -S localdb\MSSQLLocalDBPS C:\> sqlcmd -S .\localdb\MSSQLLocalDB导致此错误:

Sqlcmd:错误:Microsoft ODBC Driver 11 for SQL Server:SQL Server 网络接口:定位服务器/实例时出错 [xFFFFFFFF]。

我在 Management Studio 中查询服务器名称SELECT @@ServerName-S在上面的命令之后使用它并得到相同的错误。

PS C:\> sqlcmd -S localdb 给出这个错误:

Sqlcmd:错误:用于 SQL Server 的 Microsoft ODBC 驱动程序 11:命名管道提供程序:无法打开与 SQL Server 的连接 [53]

其他注意事项:我能够连接到服务器并使用此连接字符串在 C# 控制台应用程序中使用名为testdb01的数据库System.Data.SqlClient

"Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"
Run Code Online (Sandbox Code Playgroud)

Sol*_*zky 15

实例名称的大小写无关紧要。

你需要尝试:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d testdb01
Run Code Online (Sandbox Code Playgroud)

“localdb”部分需要用括号括起来,因为这是一种特殊的语法,指向 SQL Server Express LocalDB 特定的 API,允许在连接字符串中引用时自动启动实例。整个实例名称需要用双引号括起来。上面显示的命令行对我有用,至少在 PowerShell 之外。