Bagaimana cara mengakses database SQL Server dari komputer lain yang terhubung ke workgroup yang sama?

11

Saya telah membuat aplikasi C # yang menggunakan database SQL Server. Saya memiliki komputer lain yang terhubung dengan saya dan satu sama lain dalam kelompok kerja. Saya telah berbagi aplikasi C # dengan orang lain. Ketika mereka membuka aplikasi mereka mendapatkan kesalahan

Terjadi kesalahan terkait jaringan atau spesifik-contoh saat membuat koneksi ke SQL Server. server tidak ditemukan atau tidak dapat diakses

Tetapi aplikasi ini bekerja dengan baik di PC saya. String koneksi yang saya gunakan adalah

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

yang disimpan dalam .configfile.

Aplikasi ini berfungsi dengan baik di PC saya. Apa yang harus saya lakukan? Saya telah mengaktifkan TCP / IP di server tetapi kesalahan yang sama tetap ada. Beberapa perubahan dalam string koneksi atau yang lainnya?

Komunitas
sumber
1
coba gunakan alamat IP untuk 'sumber data'
Mitch Wheat
1
Cobalah untuk Matikan Windows Firewall ... juga periksa technet.microsoft.com/en-us/library/hh231672.aspx . Ini seharusnya bekerja untuk Anda.
3
Tidak perlu mematikan Windows Firewall - tolong hentikan penyebaran mitos itu! Lihat jawaban saya di bawah ini.
Jon Seigel

Jawaban:

17

Ada dua tingkat keamanan yang perlu diubah untuk memungkinkan akses jarak jauh.

  1. Konfigurasi SQL Server . Secara default di edisi Express, Developer, dan Enteprise Evaluation, menghubungkan dengan protokol TCP / IP dinonaktifkan . Aktifkan ini menggunakan SQL Server Configuration Manager.

  2. Windows Firewall . Meskipun menonaktifkan firewall sepenuhnya akan berfungsi untuk komponen ini, melakukannya bukan merupakan praktik terbaik keamanan (juga tidak diperlukan). (Catatan: di bagian ini, saya menganggap konfigurasi default . Ada banyak pengaturan yang dapat diubah yang sedikit mempengaruhi langkah-langkah ini.)

    Ada dua kasus tergantung pada jenis contoh SQL Server yang Anda hubungkan:

    1. Contoh default (terhubung dengan nama komputer saja). Tambahkan aturan masuk yang diizinkan baik pada port TCP 1433 atau layanan engine database.

    2. Named instance (terhubung dengan nama komputer + nama instance). Tambahkan aturan masuk yang diizinkan pada port UDP 1434 untuk mengakses ke layanan SQL Browser. Tambahkan aturan masuk yang diizinkan pada layanan mesin basis data.

Prosedur ini sepenuhnya didokumentasikan di sini , atau Anda dapat melihat saya menjelaskan dan kemudian berjalan melalui konfigurasi untuk contoh bernama di sini .

Jon Seigel
sumber
0

Anda harus mengatur Network-Settings yang benar dalam SQL-Server Anda: TCP / IP Aktif dalam SQL-Server Juga pastikan, bahwa Server Browser-Service Anda berjalan, karena jika dihentikan, Anda tidak dapat mengakses SQL- Server.

BendEg
sumber
0

Pastikan layanan sqlbrowser dinyalakan seperti yang disebutkan oleh bendeg, dan bahwa UDP 1434 terbuka pada mesin Anda sehingga klien dapat menekan sqlbrowser untuk menyelesaikan nama. Juga buka port TCP / IP instance bernama.

Untuk menemukan port instans Anda, sambungkan menggunakan awalan tcp: di Studio Manajemen seperti: tcp: ASHISHPC1 \ SQLEXPRESS dan hasil dari kueri di bawah ini adalah port yang harus Anda paparkan ke klien di workgroup Anda.

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID
Robert Gannon
sumber
-1

Saya mematikan windows firewall untuk Home Network dan itu bekerja dengan baik .. Terima kasih semua .. :)

pengguna27553
sumber
5
Jika ini pertanyaan Anda, Anda harus masuk di sini dengan kredensial yang sama dengan yang Anda gunakan di situs asli ( Stack Overflow ) sehingga Anda mendapatkan kepemilikan atas pertanyaan di sini.
jcolebrand