Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Mengapa saya tidak dapat terhubung ke instance bersama SQL Server 2012 LocalDB?

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 :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klausul KASUS T-SQL:Masalah dalam menentukan WHEN NULL dengan Outer JOIN

  2. Apakah ada cara saya bisa membuat tabel di SQL Server dan kemudian memperbarui migrasi ke proyek saya?

  3. Cara mengembalikan XML dari SQL Server 2008 yang terstruktur dengan beberapa pilihan yang berbagi induk yang sama

  4. kesalahan basis data sql vb6

  5. Bagaimana cara mengotomatiskan pembuatan skrip menggunakan SMO di SQL Server?