Kết nối với LocalDB thông qua SQLCMD trong PowerShell


10

Tôi đang cố gắng truy cập máy chủ "localdb \ MSSQLLocalDB" trên máy tính của mình thông qua PowerShell với tiện ích SQLCMD. Tôi đang sử dụng PowerShell v5, .NET v5.0 và tên máy chủ là (localdb)\MSSQLLocalDBkhi tôi kết nối với nó trong Microsoft SQL Server Management Studio 2014.

PS C:\> sqlcmd -S localdb\MSSQLLocalDBPS C:\> sqlcmd -S .\localdb\MSSQLLocalDBdẫn đến lỗi này:

Sqlcmd: Lỗi: Trình điều khiển Microsoft ODBC 11 cho Máy chủ SQL: Giao diện mạng máy chủ SQL: Lỗi định vị máy chủ / trường hợp được chỉ định [xFFFFFFFF].

Tôi đã truy vấn tên máy chủ trong Management Studio SELECT @@ServerNamevà sử dụng nó sau -Slệnh trên và gặp lỗi tương tự.

PS C:\> sqlcmd -S localdb đưa ra lỗi này:

Sqlcmd: Lỗi: Trình điều khiển Microsoft ODBC 11 cho Máy chủ SQL: Nhà cung cấp ống có tên: Không thể mở kết nối với SQL Server [53]

Lưu ý khác: Tôi có thể kết nối với máy chủ và làm việc với cơ sở dữ liệu có tên testdb01 trong ứng dụng bảng điều khiển C # bằng System.Data.SqlClientchuỗi kết nối này:

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

Câu trả lời:


8

Vỏ của tên dụ không quan trọng.

Bạn cần phải cố gắng:

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

Phần "localdb" cần được đặt trong ngoặc đơn vì đó là một cú pháp đặc biệt trỏ đến API dành riêng cho SQL Server Express LocalDB cho phép khởi động cá thể tự động khi được tham chiếu trong chuỗi kết nối. Toàn bộ tên dụ cần được đặt trong dấu ngoặc kép. Dòng lệnh hiển thị ở trên hoạt động với tôi, ít nhất là bên ngoài PowerShell.


Bao gồm (localdb)trong ngoặc đơn có vẻ như nó phân tách nó như một lệnh và nó đưa ra lỗi sau: Thuật ngữ 'localdb' không được nhận dạng là tên của một lệnh ghép ngắn, hàm, tệp tập lệnh hoặc chương trình có thể hoạt động.
jmk22

@ jmk22 Sau đó thử đặt toàn bộ tên máy chủ trong dấu ngoặc kép : -S "(localdb)\MSSQLLocalDB". Nếu điều đó không hiệu quả thì chúng ta có thể thử thoát dấu ngoặc đơn. Nhưng bằng cách nào đó những parens cần phải ở đó.
Solomon Rutzky

1
Các trích dẫn đã làm điều đó, cảm ơn! Tôi đã chỉnh sửa câu trả lời của bạn để phản ánh điều này.
jmk22
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.