EDIT LAIN
Cory, jika Anda telah menginstal SQL Server versi sebelumnya (mis. 2008), itu adalah versi sqlcmd
Anda menggunakan. Untuk terhubung ke LocalDb, Anda harus menggunakan sqlcmd
versi SQL Server 2012 . Jadi, instruksi Anda kepada pengguna Anda harus memastikan bahwa mereka menggunakan versi SQL Server 2012 dengan menjalankan:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Ini berhasil untuk saya. Yang belum saya verifikasi adalah apakah jalur dan versi sqlcmd
ini tersedia untuk pengguna yang hanya menginstal sqllocaldb.msi. Maaf, tetapi saya tidak memiliki mesin telanjang tanpa SQL Server 2012 diinstal (atau dengan hanya versi sebelumnya yang diinstal) untuk mencoba ini secara menyeluruh. Tapi tolong beri tahu saya jika secara eksplisit memanggil versi 110 sqlcmd
berhasil.
Saya pikir Anda mungkin juga dapat menginstruksikan pengguna untuk mengubah variabel sistem mereka sehingga 110 versi didahulukan (yang IMHO seharusnya menjadi kasus secara otomatis).
FileTimeToSystemTime
telah dikonfirmasi sebagai bug oleh salah satu rekan kerja Krzysztof. Jadi masih belum ada perbaikan yang saya ketahui untuk non-pemilik untuk terhubung melalui sqllocaldb
. Tetapi saya telah menunjukkan bahwa SSMS dan sqlcmd
dapat dibuat untuk bekerja, jadi saya harap itu membuat Anda lebih dekat untuk berlari.
EDIT
Anda perlu menambahkan pengguna non-pemilik ke instance, mis. CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
dan izin yang sesuai juga. Dalam pengujian saya, login gagal dan menghasilkan pesan kesalahan yang salah (pesan kesalahan "FileTimeToSystemTime" adalah bug). Anda juga perlu GRANT CONNECT
. Setelah Anda melakukan ini, Anda akan dapat terhubung dari pengguna kedua menggunakan Management Studio dengan koneksi ini (satu-satunya yang saya coba):
(localdb)\.\MySharedInstance
Tapi dari sqlcmd
, saya masih mendapatkan kesalahan tidak peduli bagaimana saya mencoba untuk terhubung:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Semua hasil:
Meskipun saya telah memverifikasi bahwa instance diatur untuk menerima koneksi jarak jauh. Jadi ada beberapa lingkaran lain yang sqlcmd
harus dilalui.
Dan mengenai sqllocaldb
exe, bagaimana ini mengikuti logika apa pun? Saya dapat melihat instance di sana melalui info
, saya mendapatkan pesan kesalahan yang tepat ketika saya mencoba untuk menghentikannya, saya mendapatkan pesan bahwa [sudah] dimulai ketika saya mencoba untuk memulainya, tetapi saya tidak dapat terhubung?
Jadi, kecuali Anda membutuhkan sqlcmd
akses, dalam jangka pendek saya akan meminta pengguna sekunder melakukan hal mereka dengan SSMS (setelah Anda memberikan izin yang memadai) dan mudah-mudahan Krzysztof akan memiliki lebih banyak info tentang item lainnya.
Mengenai pembaruan 4.0.2, dari http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :