CHỈNH SỬA KHÁC
Cory, nếu bạn đã cài đặt các phiên bản SQL Server trước đó (ví dụ:2008), thì đó là phiên bản của sqlcmd
bạn đang sử dụng. Để kết nối với LocalDb, bạn cần sử dụng phiên bản SQL Server 2012 của sqlcmd
. Vì vậy, hướng dẫn của bạn cho người dùng của bạn phải đảm bảo rằng họ sử dụng phiên bản SQL Server 2012 bằng cách chạy:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Điều này đã làm việc cho tôi. Điều tôi chưa xác minh là liệu đường dẫn này và phiên bản của sqlcmd
khả dụng cho những người dùng có chỉ đã cài đặt sqllocaldb.msi. Xin lỗi nhưng tôi không có bất kỳ máy nào chưa cài đặt SQL Server 2012 (hoặc chỉ cài đặt các phiên bản trước) để thử điều này một cách triệt để. Nhưng vui lòng cho tôi biết nếu gọi rõ ràng phiên bản 110 của sqlcmd
thực hiện thủ thuật.
Tôi nghĩ rằng bạn cũng có thể hướng dẫn người dùng thay đổi các biến hệ thống của họ để 110 phiên bản đến trước (IMHO sẽ là trường hợp tự động).
FileTimeToSystemTime
đã được xác nhận là một lỗi bởi một trong những đồng nghiệp của Krzysztof. Vì vậy, vẫn không có cách khắc phục nào mà tôi biết đối với những người không phải là chủ sở hữu kết nối qua sqllocaldb
. Nhưng tôi đã chỉ ra rằng cả SSMS và sqlcmd
có thể được thực hiện để hoạt động, vì vậy tôi hy vọng điều đó giúp bạn tiến gần hơn đến việc chạy.
CHỈNH SỬA
Bạn cần thêm bất kỳ người dùng không phải là chủ sở hữu nào vào phiên bản, ví dụ:CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
và bất kỳ quyền thích hợp nào. Trong bài đăng nhập thử nghiệm của tôi không thành công và tạo ra thông báo lỗi sai (thông báo lỗi "FileTimeToSystemTime" là một lỗi). Bạn cũng cần GRANT CONNECT
. Khi bạn làm điều này, bạn sẽ có thể kết nối từ người dùng thứ hai bằng Management Studio với kết nối này (kết nối duy nhất tôi đã thử):
(localdb)\.\MySharedInstance
Nhưng từ sqlcmd
, Tôi vẫn gặp lỗi cho dù tôi cố gắng kết nối bằng cách nào:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Tất cả lợi nhuận:
Mặc dù tôi đã xác minh rằng phiên bản được thiết lập để chấp nhận các kết nối từ xa. Vì vậy, có một số vòng khác sqlcmd
phải trải qua.
Và liên quan đến sqllocaldb
exe, làm thế nào để điều này tuân theo bất kỳ logic nào? Tôi có thể thấy trường hợp ở đó thông qua info
, Tôi nhận được thông báo lỗi thích hợp khi tôi cố gắng dừng nó, tôi nhận được thông báo rằng nó đã [đã] bắt đầu khi tôi cố gắng khởi động nó, nhưng tôi không thể kết nối với nó?
Vì vậy, trừ khi bạn cần sqlcmd
truy cập, trước mắt, tôi sẽ yêu cầu người dùng thứ cấp thực hiện công việc của họ với SSMS (sau khi bạn đã cấp đủ quyền) và hy vọng Krzysztof sẽ có thêm thông tin về các mục khác.
Về bản cập nhật 4.0.2, từ http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :