Saya baru saja menginstal SQL Server Express 2012 di server rumah saya. Saya mencoba menyambungkannya dari Visual Studio 2012 dari PC desktop saya, dan berulang kali mendapatkan kesalahan yang terkenal:
Terjadi kesalahan terkait jaringan atau spesifik-contoh saat membuat koneksi ke SQL Server. Server tidak ditemukan atau tidak dapat diakses. Verifikasi bahwa nama instance sudah benar dan SQL Server dikonfigurasi untuk memungkinkan koneksi jarak jauh. (penyedia: Penyedia Pipa Bernama, kesalahan: 40 - Tidak dapat membuka koneksi ke SQL Server)
Apa yang telah saya lakukan untuk mencoba memperbaikinya:
- Jalankan SQL Server Configuration Manager di server dan aktifkan SQL Server Browser
- Tambahkan pengecualian Windows Firewall di server untuk TCP, port 1433 dan 1434 pada subnet lokal.
- Verifikasi bahwa saya memiliki login pada contoh SQL Server untuk pengguna yang saya masuk sebagai pada desktop.
- Verifikasi bahwa saya menggunakan Otentikasi Windows pada contoh SQL Server.
- Mulai ulang SQL Server dan seluruh server dang berulang kali.
- Tarik semua rambut saya.
Bagaimana saya bisa mendapatkan SQL Server 2012 Express untuk memungkinkan koneksi jarak jauh !?
Jawaban:
Yah, senang saya bertanya . Solusi yang akhirnya saya temukan ada di sini:
Bagaimana cara mengkonfigurasi SQL Server Express untuk memungkinkan koneksi tcp / ip jarak jauh pada port 1433?
Sejauh ini, sangat bagus, dan sepenuhnya diharapkan. Tapi kemudian:
(Juga, jika Anda mengikuti langkah-langkah ini, Anda tidak perlu mengaktifkan SQL Server Browser, dan Anda hanya perlu mengizinkan port 1433, bukan 1434.)
Kelima langkah tambahan ini adalah sesuatu yang tidak dapat saya ingat pernah saya lakukan di versi SQL Server sebelumnya, Express atau lainnya. Mereka tampaknya diperlukan karena saya menggunakan instance bernama (myservername \ SQLEXPRESS) di server alih-alih instance default. Lihat disini:
Mengkonfigurasi Server untuk Mendengarkan Port TCP Tertentu (Manajer Konfigurasi Server SQL)
sumber
IPAll
pengaturan adalah saran JURUSELAMAT! Milik saya seperti milik Anda ...: Dmyserver\sqlexpress,[portnumber]
tanpa tanda kurung. Perhatikan itu,
dan bukan:
Cara yang benar untuk terhubung ke SQL Server jarak jauh (tanpa membuka port UDP 1434 dan mengaktifkan SQL Server Browser) adalah dengan menggunakan ip dan port alih-alih bernama instance .
Menggunakan ip dan port bukannya bernama instance juga lebih aman, karena mengurangi area permukaan serangan.
Mungkin 2 gambar berbicara 2000 kata ...
Metode ini menggunakan port yang ditentukan (ini yang saya inginkan kebanyakan orang inginkan) ..
Metode ini membutuhkan pembukaan port UDP 1434 dan SQL Server Browser yang berjalan
sumber
Satu hal lagi...
Kyralessa memberikan informasi yang hebat tetapi saya memiliki satu hal lagi untuk menambahkan di mana saya bingung bahkan setelah artikel ini.
Di bawah SQL Server Network Configuration> Protokol untuk Server> TCP / IP Diaktifkan. Klik kanan TCP / IP dan pilih properti. Di bawah Alamat IP Anda perlu mengatur Diaktifkan ke Ya untuk setiap jenis koneksi yang Anda gunakan.
sumber
Anda dapat menggunakan ini untuk mengatasi masalah ini:
Buka START> EXECUTE, dan jalankan CLICONFG.EXE.
Protokol Named Pipes akan menjadi yang pertama dalam daftar. Catatan, dan promosikan TCP / IP.
Uji aplikasi secara menyeluruh.
Saya harap ini membantu.
sumber
Anda juga bisa mengatur
dalam dialog protokol kemudian di alamat IP IP1 (katakanlah)
sumber
Artikel ini membantu saya ...
Cara mengaktifkan koneksi jarak jauh di SQL Server
Semua yang ada di SQL Server telah dikonfigurasi, masalah saya adalah firewall memblokir port 1433
sumber
Saya punya masalah ini baru-baru ini. 2015 Agustus
Dipecahkan dengan membuka SQL Server Configuration Manager
Dapat terhubung ke dengan SQL Server Manager ke mesin: [hostaddress], 1433
Contoh:
sumber
Pada instalasi saya SQL Server 2012 Developer Edition, diinstal dengan pengaturan default, saya hanya perlu memuat Manajer Konfigurasi SQL Server -> Konfigurasi Jaringan SQL Server -> Protokol untuk MSSQLSERVER dan mengubah TCP / IP dari Dinonaktifkan ke Diaktifkan.
sumber
Saya harus menambahkan aturan port masuk firewall untuk membuka port UDP 1434. Ini adalah salah satu Browser Browser Sql mendengarkan.
sumber
Saya lebih suka cara "Rosdi Kasim" karena itu tidak memerlukan konfigurasi detail pada IP.
Saya pasti akan melupakannya lagi ketika saya mencoba untuk membuat server lain lagi.
Keep It Simple Stupid (KISS) hanya dengan mengaktifkan layanan Sql Server Browser, lalu tambahkan \ SQLEXPRESS di belakang IP ketika Anda menghubungkan server.
Langsung menggunakan IP tanpa "\ SQLEXPRESS" adalah titik kegagalan saya karena tidak menggunakan port default.
Terima kasih.
sumber
Saya memiliki masalah yang sama dengan SQL Server 2014 yang diinstal secara lokal bernama instance. Menghubungkan menggunakan
FQDN\InstanceName
akan gagal, sementara menghubungkan hanya menggunakan sayahostname\InstanceName
bekerja. Misalnya: menghubungkan menggunakanmycomputername\sql2014
berhasil, tetapi menggunakanmycomputername.mydomain.org\sql2014
tidak. DNS diselesaikan dengan benar, TCP / IP diaktifkan di dalam SQL Configuration Manager, aturan Windows Firewall ditambahkan (dan kemudian mematikan firewall untuk pengujian untuk memastikan tidak memblokir apa pun), tetapi tidak ada yang memperbaiki masalah.Akhirnya, saya harus memulai layanan " SQL Server Browser " pada SQL Server dan itu memperbaiki masalah konektivitas.
Saya tidak pernah menyadari bahwa layanan Browser SQL Server sebenarnya membantu SQL Server dalam membuat koneksi; Saya mendapat kesan bahwa itu hanya membantu mengisi dropdown ketika Anda mengklik "browse for more" server untuk terhubung, tetapi sebenarnya membantu menyelaraskan permintaan klien dengan port # yang benar untuk digunakan, jika port # tidak secara eksplisit ditetapkan (mirip bagaimana binding situs web membantu mengatasi masalah yang sama pada server web IIS yang menampung beberapa situs web).
Item hubungkan ini adalah yang memberi saya petunjuk tentang layanan SQL Server Browser: https://connect.microsoft.com/SQLServer/feedback/details/589901/unable-to-connect-on-localhost-using-fqdn-machine- nama
Alasan untuk layanan "SQL Server Browser" dari TechNet (penekanan ditambahkan oleh saya): https://technet.microsoft.com/en-us/library/ms181087(v=sql.120).aspx
Dari bagian "Menggunakan SQL Server Browser":
Dan lebih banyak info dari artikel yang sama dari bagian "Bagaimana SQL Server Browser":
sumber
Saya harus menambahkan port melalui Configuration Manager dan menambahkan nomor port di koneksi sql saya [host] \ [db instance name], 1433
Perhatikan, (koma) antara instancename dan port
sumber
Saya memiliki masalah yang berbeda dari apa yang semua jawaban sejauh ini sebutkan!
Saya harus memulai dengan mengatakan bahwa saya memilikinya di Visual Studio, dan bukan SQL Server Express tetapi solusinya harus persis sama.
Ya Tuhan, ini sebenarnya sangat sederhana dan mungkin agak bodoh. Ketika saya mencoba membuat database dan Visual Studio menyarankan nama SQL Server itu memberi saya nama pengguna Windows saya dan karena itu sebenarnya nama server saya pergi untuk itu.
Pada kenyataannya itu sebenarnya adalah nama pengguna Windows saya +
\SQLEXPRESS
. Jika Anda tidak mengubah pengaturan apa pun, ini mungkin juga milik Anda. Jika berhasil, berhentilah membaca; ini jawaban saya Jika tidak berhasil mungkin namanya berbeda.Jika, seperti saya, Anda hanya memiliki masalah ini di Visual Studio untuk memeriksa apa milik Anda, ikuti langkah-langkah ini:
Ini adalah nama server dan inilah yang harus Anda coba sambungkan! bukan yang disarankan Visual Studio!
sumber
Satu hal lagi yang perlu diperiksa adalah Anda telah mengeja instance bernama dengan benar!
Artikel ini sangat membantu dalam pemecahan masalah koneksi: Cara Memecahkan Masalah Menghubungkan ke Mesin Database SQL Server
sumber
Dalam kasus saya, database berjalan pada port non-standar. Pastikan port yang Anda hubungkan sama dengan port yang digunakan basis data. Jika ada lebih banyak contoh SQL server, periksa yang benar.
sumber
Yang perlu Anda lakukan adalah membuka port yang relevan di firewall server.
sumber
Mengalami masalah saat menyambung ke SQL Server?
Coba lepaskan koneksi firewall.
Jika Anda dapat terhubung dengan firewall yang terputus, mungkin Anda melewatkan beberapa aturan input seperti "broker layanan sql", tambahkan aturan input ini ke firewall Anda:
"SQL ADMIN CONNECTION" TCP PORT 1434
"SQL ADMIN CONNECTION" UDP PORT 1434
"LAYANAN ANALISIS SQL" PORT TCP 2383
"LAYANAN ANALISIS SQL BROWSE" TCP PORT 2382
"SQL DEBUGGER / RPC" TCP PORT 135
"SQL SERVER" TCP PORT 1433 dan lainnya jika Anda memiliki port dinamis
"SQL SERVICE BROKER" TCP PORT 4022
sumber