Sql-Server

在 PowerShell 中通過 SQLCMD 連接到 LocalDB

  • December 25, 2015

我正在嘗試使用 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:錯誤:Microsoft ODBC Driver 11 for SQL Server:命名管道提供程序:無法打開與 SQL Server 的連接

$$ 53 $$

其他注意事項:我可以使用以下連接字元串連接到伺服器並在 C# 控制台應用程序中使用名為testdb01的數據庫:System.Data.SqlClient

"Data Source=(localdb)\\mssqllocaldb;Initial Catalog=testdb01;Integrated Security=SSPI;"

實例名稱的大小寫無關緊要。

你需要嘗試:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d testdb01

“localdb”部分需要括在括號中,因為這是一種特殊語法,它指向 SQL Server Express LocalDB 特定的 API,允許在連接字元串中引用時自動啟動實例。整個實例名稱需要用雙引號括起來。上面顯示的命令行對我有用,至少在 PowerShell 之外。

引用自:https://dba.stackexchange.com/questions/124544