Mengapa saya mendapatkan "Tidak Dapat Terhubung ke Server - Galat terkait-jaringan atau khusus-contoh"?

379

Saya mendapatkan kesalahan berikut ketika mencoba terhubung ke SQL Server:

Tidak dapat terhubung ke 108.163.224.173.

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, galat: 40 - Tidak dapat membuka koneksi ke SQL Server) (Microsoft SQL Server, Galat: 1326)

Kesalahan ini dilemparkan ketika saya mencoba mengkonfigurasi database saya ke gridview di Visual Studio 2010. Saya bingung bagaimana cara men-debug kesalahan ini.

Bagaimana Anda men-debug kesalahan ini? Langkah apa yang harus saya ambil untuk menentukan apa yang sebenarnya terjadi di sini, selain yang disebutkan dalam pesan kesalahan?

Sasa Shree
sumber
11
Ping tidak dapat diandalkan untuk menguji konektivitas SQL Server, permintaan echo ICMP dinonaktifkan secara default di Windows Server. Nama pengguna atau kata sandi yang tidak valid sama sekali bukan kesalahan yang memberitahu Anda, itu kesalahan yang sangat berbeda.
Sean Airey
1
Coba artikel ini, cukup melalui semua langkah yang Anda perlukan untuk memecahkan masalah konektivitas Anda: social.technet.microsoft.com/wiki/contents/articles/…
Sean Airey
3
Lihat jawaban saya di sini dengan tangkapan layar saya jika Anda menerima kesalahan ini dengan SQL Server {version} Express, saat mengaturnya untuk pertama kalinya. Saya kembali ke StackOverflow dan menggunakan jawaban saya lagi karena hanya itu yang berhasil. stackoverflow.com/questions/1391503/…
MacGyver
Saya memiliki Masalah ini di Server virtual saya ketika saya ingin terhubung ke localhost. Tampaknya ada beberapa jenis kesalahan saat meluncurkan OS - dalam kasus saya semuanya diselesaikan untungnya dengan reboot bersih.
Qohelet
Hari ini saya menghabiskan banyak waktu untuk hal ini, akhirnya yang berhasil bagi saya adalah: Buka Manajer Konfigurasi Server Sql -> Protokol untuk <INSTANCE> -> TCP / IP -> Alamat IP (Tab) . Pergi ke entri terakhir IP All dan sebutkan TCP Port 1433 . Sekarang restart SQL Server (INSTANCE) menggunakan services.msc . Setelah ini, masalah terselesaikan.
ani627

Jawaban:

301

Saya menemukan teknik-teknik berikut bermanfaat:

  1. Pastikan mesin basis data Anda dikonfigurasi untuk menerima koneksi jarak jauh :

    • Mulai> Semua Program> SQL Server 2005> Alat Konfigurasi> Konfigurasi Area Permukaan SQL Server
    • Klik pada Konfigurasi Area Permukaan untuk Layanan dan Koneksi
    • Pilih contoh yang mengalami masalah> Mesin Basis Data> Koneksi Jarak Jauh
    • Aktifkan koneksi lokal dan jarak jauh
    • Mulai ulang contoh
  2. Anda mungkin perlu membuat pengecualian pada firewall untuk contoh SQL Server dan port yang Anda gunakan:

    • Mulai> Jalankan> Firewall.cpl
    • Klik pada tab pengecualian
    • Tambahkan sqlservr.exe (biasanya terletak di C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, periksa instal Anda untuk jalur folder yang sebenarnya) dan port (standarnya adalah 1433)
    • Periksa string koneksi Anda juga
  3. Periksa apakah layanan SQL server Anda sudah aktif dan berjalan dengan benar:

    • Buka Semua Program> Microsoft SQL Server 2008> Alat Konfigurasi> Manajer Konfigurasi Server SQL> Layanan Server SQL
    • Periksa untuk memastikan status layanan SQL Server Menjalankan.

    Selain itu, pastikan server jauh Anda berada di jaringan yang sama . Jalankan sqlcmd -Luntuk memastikan apakah server Anda termasuk dalam daftar jaringan Anda.

  4. Aktifkan TCP / IP dalam Konfigurasi SQL Server

    Ketika dua atau lebih Server SQL terhubung di jaringan mereka melakukan semua komunikasi menggunakan TCP / IP. Port default instalasi SQL Server adalah 1433. Port ini dapat diubah melalui SQL Server Configuration Manager. TCP / IP harus diaktifkan agar SQL Server terkoneksi.

    • Pergi ke Semua Program >> Microsoft SQL Server 2008 >> Alat Konfigurasi >> Manajer Konfigurasi Server SQL >> Pilih TCP / IP
    • Klik Kanan pada TCP / IP >> Klik Aktifkan

    Anda harus memulai kembali Layanan SQL Server untuk semua perubahan agar berlaku. Klik kanan dan pergi ke properti menu untuk memilih lokasi di mana port default SQL Server dapat diubah.

Teo Chuen Wei Bryan
sumber
10
Mengaktifkan TCP / IP dalam Konfigurasi SQL Server adalah solusi bagi saya ketika menggunakan SQL Server 2014 Express.
Mike Richards
73
Hari ini saya menghabiskan banyak waktu untuk hal ini, akhirnya yang berhasil bagi saya adalah: Buka Manajer Konfigurasi Server Sql -> Protokol untuk <INSTANCE> -> TCP / IP -> Alamat IP (Tab) . Pergi ke entri terakhir IP All dan sebutkan TCP Port 1433 . Sekarang mulai ulang SQL Server (<INSTANCE>) menggunakan services.msc . Setelah ini, masalah terselesaikan!
ani627
1
Saya juga menghadapi masalah tertentu pada server Sql lokal saya dan diselesaikan dengan memeriksa layanan lokal dari sistem operasi dan Mencari layanan Sql tertentu dan mulai satu per satu. Itu bekerja dengan sempurna.
Faisal Naseer
4
Saya juga punya masalah yang sama, masuk ke server sql menemukan bahwa layanan mssqlserer dihentikan, memulainya. Dapat terhubung ke instance sekarang
Rak
15
Juga INGAT untuk ENABLE SQL Server Browserlayanan. Siapkan sejumlah server SQL di waktu saya ... Namun langkah ini sepertinya selalu melibatkan berbagai skenario :)
mschr
125

Saya mendapat Solusi untuk saya:

Buka "Manajer Konfigurasi SQL Server"

Sekarang Klik pada "Konfigurasi Jaringan SQL Server" dan Klik pada "Protokol untuk Nama "

Klik kanan pada "TCP / IP" (pastikan Diaktifkan) Klik Properti

Sekarang Pilih "Alamat IP" Tab -dan- Pergi ke entri terakhir "IP Semua"

Masukkan "Port TCP" 1433.

Sekarang Restart "SQL Server .Name." menggunakan "services.msc" (winKey + r)

Ini Akan Bekerja ...

Irshad Khan
sumber
Mencoba ini, namun untuk beberapa alasan ketika saya mengklik kanan dan memilih "Properties" pada "TCP / IP" di windows10, itu tidak menarik jendela dialog untuk itu. Node lain secara umum di treeview melakukan dialog pop up dengan baik. Adakah yang punya masalah dan ide untuk melewatinya?
Ryan Betker - healthNCode
3
Dalam SQL Server 2014 gunakan (localdb) \ mssqllocaldb alih-alih (localdb) \ v11.0
Shalva Avanashvili
67
Salin menempel komentar saya (yang diposting pada 24 Februari 2015 - 7 bulan sebelum posting Anda) sebagai jawaban tanpa memberi saya kredit! : P
ani627
2
Ini berhasil. Saya tidak dapat terhubung ke SQL Server 2016. Membuat perubahan ini dan berhasil! Terima kasih.
Ankur
1
ini bekerja untuk saya. baru saja memulai layanan di "service.msc" setelah mengaktifkan TCP / IP dan Named Pipes di manajer konfigurasi.
Alif Noushad
100

Menambahkan komentar saya yang banyak dipilih sebagai jawaban dengan tangkapan layar.

Saya menghabiskan banyak waktu untuk hal ini, akhirnya yang berhasil bagi saya adalah:

1) Buka Manajer Konfigurasi Sql Server -> Konfigurasi Jaringan SQL Server -> Protokol untuk <(INSTANCE)> -> TCP / IP (klik dua kali di atasnya).

masukkan deskripsi gambar di sini

2) Pilih -> Alamat IP (Tab) .

3) Pergi ke entri IP Semua terakhir dan sebutkan TCP Port 1433 .

masukkan deskripsi gambar di sini

4) Tekan Win+Rdan masukkan services.msc .

5) Sekarang restart SQL Server <(INSTANCE)> .

masukkan deskripsi gambar di sini

Setelah ini, masalah terselesaikan!

ani627
sumber
Bekerja untuk saya, SQL Express 2012
lost_in_magento
Bekerja untuk saya di sql server 2012 setelah mengaktifkan TCP, Menambahkan nomor Port 1433 ke TCP ALL, dan restart layanan!
Chirag Khatsuriya
Bagi saya tambahan saya harus mengizinkan TCP 1433 dan UDP 1434 di Firewall
MarkusEgle
83

Saya memecahkan masalah itu dengan membuka Layanan kemudian mulai menjalankan layanan Sql Server (Sqlexpress) .

Gambar layanan

Anik Saha
sumber
3
Saya telah melihat di mana layanan windows SQL Server diatur ke tipe Startup Manual, sehingga tidak me-restart pada reboot. Itu harus diatur ke Otomatis.
robertburke
2
Ini adalah persis apa yang saya lakukan, Status Saya Sedang Berjalan dan StartupType Otomatis, tetapi saya masih menghadapi masalah, jadi saya menggunakan layanan dari jenis jendela Jalankan services.msckemudian saya mengklik kanan SQL Server (SQL EXPRESS) untuk menu konteks dan hanya Berhenti dan Mulai layanan lagi dan berfungsi dengan baik untuk saya, semoga membantu.
shaijut
22

Kesalahan ini terutama terjadi ketika Layanan SQL dihentikan. Anda harus me-restart layanan. Untuk pergi ke jendela ini Anda harus mencari Layanan seperti ini- masukkan deskripsi gambar di sini

Kemudian Cari SQLSERVER (MSSQLSERVER) dan Restart layanan.

masukkan deskripsi gambar di sini

Semoga ini berhasil.

Debendra Dash
sumber
18

Tekan window + R (Run window Open)dan dalam menjalankan jenis jendela "services.msc"dan layanan baru buka temukan SQL SERVER dengan nama contoh dalam kasus saya itu SQL SERVER(SQLEXPRESS)kemudian mulai layanan ini dan coba lagi itu berfungsi untuk saya Semoga Berhasil untuk Anda juga.masukkan deskripsi gambar di sini

Hafiz Asad
sumber
Jawabannya diberikan sebelumnya. Jangan mendapatkan alasan apa pun mempostingnya lagi
Anik Saha
8
sobat menghadapi masalah yang sama tetapi saya tidak tahu jendela layanan terbuka panas maka saya menemukan cara dan saya pikir berbagi dengan orang
Hafiz Asad
Terima kasih, @HafizAsad. Jawaban Anda cocok untuk saya.
Adnan Ahmad
@AdnanAhmad sama-sama. Terima kasih atas penghargaannya.
Hafiz Asad
16

Jika Anda mungkin menggunakan Edisi Express :

Tambahkan "\SQLEXPRESS"setelah nama server Anda

misalnya "MY-SERVER\SQLEXPRESS"

masukkan deskripsi gambar di sini

Abdulrahman Bres
sumber
13

Saya memiliki kesalahan yang sama ketika saya ingin menjalankan proyek WinForms saya (yang termasuk bekerja dengan database SQL Server dan yang bekerja dengan baik pada PC saya) pada PC lain. Masalahnya ada di Windows Firewall di PC saya. Saya memecahkan ini dengan menambahkan dua aturan. Ini adalah keseluruhan prosedur bagaimana mengizinkan SQL Server melalui Windows Firewall:

  1. Buka "Run" dan masukkan services.msc
  2. Temukan layanan untuk SQL Server (nama contoh) dan SQL Server Browser. Satu per satu, klik kanan, pilih "Properties", salin path ke file exe
  3. Kemudian buka firewall.cpl, klik izinkan aplikasi atau tambahkan aturan, tambahkan jalur yang sebelumnya disalin (ada prosedur yang harus Anda ikuti), periksa Domain dan Pribadi, hapus centang Publik.

Ini adalah tautan YouTube tempat Anda dapat melihat prosedur ini: Izinkan SQL Server melalui Windows Firewall

Alat pemecah buah keras
sumber
Berfungsi sempurna untuk saya. Penting: Tambahkan browser dan server di firewall! +1
BendEg
Saya mengalami kesulitan menemukan file sqlservr.exe, ini melakukan trik dalam menemukan itu.
Stan
11

Jika tidak ada solusi di atas yang berfungsi (tidak ada yang berhasil untuk saya) maka cukup RESTART komputer Anda dan Anda akan dapat terhubung ke server sql Anda (localhost).

Eugen Sunic
sumber
Alasan mengapa ini akan berhasil, itu karena Anda baru saja menginstal Sql Server dan belum me-restart komputer seperti yang diminta oleh instalasi. Jadi, lakukan dan kemudian layanan akan dibuat dan semua konfigurasi yang diperlukan tidak ada.
Sterling Diaz
10

Setelah melakukan semua yang disebutkan di sini:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- koneksi-ke-sql-server-microsoft-sql-server-error / Masih tidak bekerja untuk saya.

Langkah-langkah berhasil bagi saya:

Start > Run > cmd > sqlcmd -L

Ini akan menanyakan nama server Anda. Pastikan nama server ini sama dengan yang Anda coba sambungkan di kotak CONNECT TO SERVER di studio manajemen SQL.

Saya membuat kesalahan konyol ini dan terus menggunakan MSSQLSERVERnama server ini.

Semoga ini bisa membantu orang-orang yang membuat kesalahan konyol seperti saya.

Terima kasih.

Denn
sumber
7

Saya menggunakan SQL Server 2016 dan Window 10.

masukkan deskripsi gambar di sini

Hal pertama adalah mengizinkan koneksi jarak jauh ke SQL Server. Apa yang saya lakukan adalah mengetikkan sqlservermanager13.msc pada menu mulai untuk membuka Manajer Konfigurasi Server SQL. Pastikan status TCP / IP diaktifkan. masukkan deskripsi gambar di sini

Periksa nomor port TCP Anda dengan mengklik dua kali nama protokol TCP / IP. Biasanya ini adalah 1433 secara default.

masukkan deskripsi gambar di sini

Prosedur berikut mengonfigurasi Windows Firewall dengan menggunakan Windows Firewall dengan snap-in Microsoft Management Console (MMC) Keamanan Tingkat Lanjut. Windows Firewall dengan Keamanan Lanjutan hanya mengonfigurasi profil saat ini.

Untuk membuka port di firewall Windows untuk akses TCP

  1. Di menu Mulai, klik Jalankan, ketik WF.msc, lalu klik OK.
  2. Di Windows Firewall dengan Keamanan Tingkat Lanjut, di panel kiri, klik kanan Aturan Masuk, lalu klik Aturan Baru di panel tindakan.
  3. Di kotak dialog Tipe Aturan, pilih Port, lalu klik Berikutnya.
  4. Dalam kotak dialog Protokol dan Port, pilih TCP. Pilih port lokal spesifik, dan kemudian ketikkan nomor port instance dari Database Engine, seperti 1433 untuk instance default. Klik Selanjutnya.
  5. Di kotak dialog Tindakan, pilih Izinkan koneksi, lalu klik Berikutnya.
  6. Di kotak dialog Profil, pilih profil yang menggambarkan lingkungan koneksi komputer saat Anda ingin terhubung ke Mesin Database, dan kemudian klik Berikutnya.
  7. Di kotak dialog Nama, ketik nama dan deskripsi untuk aturan ini, lalu klik Selesai.

Hal lain yang perlu dikonfigurasi.

Untuk membuka akses ke SQL Server saat menggunakan port dinamis

  1. Di menu Mulai, klik Jalankan, ketik WF.msc, lalu klik OK.
  2. Di Windows Firewall dengan Keamanan Tingkat Lanjut, di panel kiri, klik kanan Aturan Masuk, lalu klik Aturan Baru di panel tindakan.
  3. Di kotak dialog Tipe Aturan, pilih Program, lalu klik Berikutnya.
  4. Di kotak dialog Program, pilih jalur program ini. Klik Browse, dan arahkan ke contoh SQL Server yang ingin Anda akses melalui firewall, dan kemudian klik Open. Secara default, SQL Server berada di C: \ Program Files \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Binn \ Sqlservr.exe. Klik Selanjutnya.
  5. Di kotak dialog Tindakan, pilih Izinkan koneksi, lalu klik Berikutnya.
  6. Di kotak dialog Profil, pilih profil yang menggambarkan lingkungan koneksi komputer saat Anda ingin terhubung ke Mesin Database, dan kemudian klik Berikutnya.
  7. Di kotak dialog Nama, ketik nama dan deskripsi untuk aturan ini, lalu klik Selesai.

Lihatlah Microsoft doucmentation Mengkonfigurasi Windows Firewall untuk Akses Mesin Basis Data

Fred
sumber
Pada PC saya Windows 10 contoh sql server adalah di C: \ Program Files \ Microsoft SQL Server \ MSSQL13.SQLEXPRESS \ MSSQL \ Binn \ Sqlservr.exe
Mayer Spitzer
7

Anda dapat menguji metode berikut.

  • Sebuah

    1. Periksa string koneksi proyek.
  • b

    1. Pergi ke layanan dan restart SQLServer Instance.
  • c

    1. Buka 'Manajer Konfigurasi SQLServer'
    2. Di panel kiri pilih 'SQLServer Network Configuration' dan perluas
    3. Pilih 'Protokol untuk MSSQLServer'
    4. Di panel kanan, klik dbl pada 'TCP / IP'
    5. Di tab 'Protokol', atur 'Diaktifkan' ke 'Ya'
    6. Di tab 'Alamat IP' gulir ke bawah
    7. Dalam 'IPAll' atur 'TCP Port' ke 1433
  • d
    1. Buka 'Firewall dengan keamanan tingkat lanjut'
    2. Di tab kanan pilih 'Aturan Masuk'

Di tab tengah temukan catatan bahwa 'Port lokal' adalah 1433, Jika Anda tidak dapat menemukannya, coba buat dengan level berikut

  • Di menu Mulai, klik Jalankan, ketik 'WF.msc', lalu klik OK
  • Di panel kiri klik 'Windows Firewall with Advanced Security'
  • Di panel kanan klik kanan 'Aturan Masuk', dan kemudian klik 'Aturan Baru'
  • Di kotak dialog Tipe Aturan, pilih 'Port', lalu klik Berikutnya
  • Di kotak dialog Protokol dan Port, pilih 'TCP', dan pilih 'Port Lokal Tertentu', lalu ketikkan nomor port 1433, Klik Selanjutnya
  • Di kotak dialog Tindakan, pilih Izinkan koneksi, lalu klik Berikutnya
  • Di kotak dialog 'Profil', centang Domain, Pribadi dan Publik, Lalu klik Berikutnya
  • Di kotak dialog 'Nama', ketikkan 'SQL 1433 Port' dan untuk deskripsi tulislah deskripsi sendiri. Kemudian klik Finish
  1. Kemudian di tab tengah klik dua kali item yang ditemukan (Instance) atau item yang dibuat dari nama 'SQL 1433 Port' oleh Anda.
  2. Pilih tab 'Cakupan' di kotak dialog terbuka (Properti SQL Server)
  3. Di PC Lokal, Buka google.com di Browser Anda dan cari 'My IP'.
  4. lalu salin 'IP' Anda
  5. Pergi ke server jarak jauh dan di kotak dialog 'SQL Server Properties' tab 'Ruang Lingkup', di 'Alamat IP Jarak Jauh' pilih opsi 'Alamat IP ini' dan klik tombol 'Tambah'
  6. Di kotak dialog yang terbuka (Alamat IP) pilih opsi 'Alamat IP atau Subnet' ini dan tempel 'IP' Anda, klik tombol OK.
Mohammad Sooori
sumber
7

Solusi ini memecahkan kedua masalah network error dan di servicebelakang SQL server

Saya menjawab pertanyaan serupa di sini, Anda perlu stat yang lain open Run type-> services.msc- di bawah layanan -> sort by stoppedAnda akan melihat banyak layanan SQL yang dihentikanRight click and start

Untuk memulai - ada 4 masalah yang dapat menyebabkan kesalahan konektivitas Server LocalDb SqlExpress Sql umum SQL Network Interfaces, error: 50 - Local Database Runtime error occurred , sebelum Anda mulai, Anda perlu mengganti nama v11 atau v12 menjadi (localdb) \ mssqllocaldb


Troubleshooting Steps
  1. Anda tidak memiliki layanan yang menjalankan jalankan cmd ini , net start MSSQLSERVERataunet start MSSQL$ instancename
  2. Anda tidak memiliki port firewall yang dikonfigurasi di sinimasukkan deskripsi gambar di sini
  3. Instalasi Anda memiliki dan mengeluarkan / merusak (langkah-langkah di bawah ini membantu Anda memulai dengan baik)
  4. Anda tidak mengganti nama V11 atau 12 menjadi mssqllocaldb / SqlServer

Saya menemukan bahwa yang paling sederhana adalah dengan melakukan di bawah ini - Saya telah melampirkan foto dan langkah-langkah untuk bantuan.


Resolution Steps:

Pertama-tama verifikasi instance mana yang telah Anda instal, Anda dapat melakukan ini dengan memeriksa registri dan dengan menjalankan cmd

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" jika langkah ini gagal, Anda dapat menghapus dengan opsi dcmd> Sqllocaldb.exe d "someDb"
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png

transformator
sumber
5

Saya mengalami masalah yang sama dan masalahnya adalah bahwa saya memiliki beberapa proyek dalam solusi ( Webdan Droid) dan meskipun Default projectdipilih di Package Manager Consoledalamnya menggunakan string koneksi dari Droidproyek:

PM> update-database -Verbose
Using StartUp project 'Droid'. <-- DROID
Using NuGet project 'Web'. <-- WEB
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
<!-- BAD TARGET DATABASE -->
Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   [REMOVED TEXT]
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Setelah mengatur Startup Projectto Webdan Default Projectin Package Manger Consolesaya mulai bekerja.

Westerlund.io
sumber
5

Saya harus menjalankan layanan SQL Server Browser ke dalam SQL Server Configuration Manager . Instalasi tidak dapat menemukan layanan yang baru dibuat tanpa ini.

MarkosyanArtur
sumber
1
Saya belum ada di sana tapi saya semakin dekat. Di Visual studio setelah melakukan ini juga putuskan dan hubungkan kembali, masih mendapatkan kesalahan yang sama tetapi sekarang setidaknya dari belakang VS2015 saya tidak dapat membuat tabel, dan database saya membuat jahitan untuk dijalankan sekarang. (ea, tidak ada ikon tanda silang gelap di atasnya)
user3800527
1
perhatikan setelah perintah Anda, ini menghasilkan nama server pada mesin lokal Mulai> Jalankan> cmd> sqlcmd -L
user3800527
4

Sementara solusi di atas harus bekerja di 90% kasus, tetapi jika Anda masih membaca jawaban ini !!! Anda mungkin mencoba terhubung ke server yang berbeda dari yang dimaksudkan. Ini mungkin karena file konfigurasi yang menunjuk ke server SQL yang berbeda dari server sebenarnya yang Anda pikir Anda coba sambungkan.

Terjadi pada saya setidaknya.

Arjmand
sumber
1
Terjadi pada saya juga. Seharusnya sudah memeriksa itu sebelum memeriksa mencoba mendiagnosis firewall. Saya memiliki string koneksi yang tepat, tetapi saya menjalankan proyek yang salah dalam solusi ...
VSO
4

Saya pindah dari laptop kantor di Windows 7 ke laptop kantor di Windows 10. Saya telah berhasil menggunakan SSMS2016 di Windows 7.

Masalah yang sama diterapkan menggunakan SSMS2012 atau SSMS2016. Akses saya ke server 10 sql menggunakan otentikasi windows masih sama. Saya bisa menguji ini dari server lain. Namun, 2 dari 10 server tidak akan terhubung dari laptop saya . Keduanya adalah ms sql server 9 tetapi saya dapat terhubung ke database sql server 9 lainnya.

Solusinya adalah menambahkan aturan firewall (menggunakan Windows Firewall dengan Keamanan Lanjutan).

Buat aturan masuk untuk setiap SSMS misalnya C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ Ssms.exe

Saya bukan pakar jaringan jadi saya tidak menyertakan detailnya tetapi mudah-mudahan ini akan mengarahkan Anda ke arah yang benar.


Pesan kesalahan (aturan firewall sebelumnya) "Kesalahan yang berhubungan dengan jaringan atau contoh khusus terjadi saat membuat koneksi ke SQL Server. Server tidak ditemukan atau tidak dapat diakses. Pastikan nama instance sudah benar dan bahwa SQL Server dikonfigurasi untuk memungkinkan koneksi jarak jauh. (penyedia: SQL Network Interfaces, error: 26 - Error Locating Server / Instance Specified) (.Net SqlClient Data Provider) "

JohnC
sumber
4

Mengapa kesalahan ini sangat membosankan dan berisik, hanya karena itu dapat terjadi dalam situasi yang bervariasi.

Saya telah melakukan semua pendekatan di atas di sini, dan masih terhisap. Jadi pastikan Anda telah melakukan hal yang sama dengan saya sebelum menjelajah ke bawah.

Mungkin saya tidak dapat memperbaiki situasi Anda secara instan, tetapi saya dapat menunjukkan arah atau berpikir kepada Anda (Orang yang akhirnya meluncur ke sini). Saya sudah mulai merenungkan kesalahan dari program saya yang sedang berjalan yang terjadi setelah saya memastikan bahwa nama instance jelas benar dan mengatur database saya untuk memungkinkan remote control mengikuti metode di atas. Setelah itu, saya curiga ada yang salah terjadi dalam potongan kode koneksi SQL saya.

Solusi masalah saya:

  • Periksa fungsi koneksi sql saya

  • Klik untuk melihat konfigurasinya

  • Koneksi baru

masukkan deskripsi gambar di sini

  • Pilih nama server Anda

masukkan deskripsi gambar di sini

Ini bekerja untuk saya dengan merenungkan apa yang sebenarnya terjadi dalam proses koneksi. Semoga pemikiran saya akan membuat Anda membunuh kesalahan Anda.

Chase07
sumber
Ini membantu saya menemukan bahwa saya perlu MEMINDAHKAN nomor port untuk string koneksi LocalDB, ketika menggunakan Entity Framework.
ryanwebjackson
4

Saya mencoba semua jawaban lain pada pertanyaan ini dan beberapa jika tidak semua mungkin berperan dalam membuat ini bekerja untuk saya, tetapi saya masih tidak dapat terhubung ke DB dari jarak jauh. Saya menggunakan SQL Server pada Azure VM.

Saya akhirnya ingat bahwa VM memiliki titik akhir yang dikendalikan oleh proksi akun Azure, jadi saya pergi ke Portal Azure dan menambahkan 1433 sebagai titik akhir yang tersedia dan saya dapat terhubung ke instance SQL saya.

Semoga ini bisa membantu seseorang yang telah mencoba semua jawaban lain dan masih belum beruntung!

John
sumber
4

Ringkasan

Untuk memperbaiki masalah ini yang dihadapi saat menjalankan aplikasi lokal vs basis data jauh , gunakan SQL Server Configuration Manager untuk menambahkan alias untuk basis data jauh.

Detail

Saya telah mengalami masalah ini baru-baru ini ketika beralih dari laptop Windows 7 ke Windows 10. Saya menjalankan lingkungan pengembangan dan runtime lokal yang mengakses basis data Dev kami pada server jarak jauh. Kami mengakses database Dev melalui pengaturan alias server melalui Utilitas Jaringan Klien SQL Server (cliconfg.exe). Setelah mengkonfirmasikan bahwa alias diatur dengan benar dalam versi 64 dan 32 bit dari utilitas dan bahwa server database dapat diakses dari laptop baru melalui SSMS, saya masih mendapatkan kesalahan yang dilihat oleh OP (bukan alamat IP OP, dari tentu saja).

Itu perlu untuk menggunakan SQL Server Configuration Manager untuk menambahkan alias untuk server basis data Dev jauh. Memperbaiki semuanya.

masukkan deskripsi gambar di sini

Jarum Tagihan
sumber
4

Anda dapat memeriksa status layanan MS SQL Server 2014. Di Windows 7 Anda dapat melakukannya dengan:

  1. Pergi ke pencarian dan Ketik "SQL Server 2014 Configuration Manager
  2. Kemudian klik "SQL Server Service" di menu sebelah kiri
  3. Periksa contoh status layanan SQL Server jika berhenti atau berjalan
  4. Jika telah berhenti, silakan ubah status untuk menjalankan dan masuk ke SQL Server Management Studio 2014
Chamara
sumber
3

Masalah saya mulai ketika saya mencoba mengubah server dari IIS Express ke IIS Lokal (saat menggunakan LocalDB ).

masukkan deskripsi gambar di sini

Saya menggunakan LocalDB (untuk tujuan dev), dan ketika saya pergi untuk mengembalikan dari IIS Lokal ke IIS Express, Visual Studio telah mengalihkan sumber data saya dari Data Source = (LocalDb) \ MSSQLLocalDB ke Data Source =. \ SQLEXPRESS

String koneksi salah

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

String koneksi yang benar

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

Semoga ini bisa membantu seseorang di luar sana.

megamaiku
sumber
Juga jangan membuat kesalahan konyol menggunakan / bukannya \ dalam string koneksi.
andrew pate
3

Seiring dengan mencoba segala sesuatu seperti yang disarankan oleh Teo Chuen Wei Bryan, pastikan Anda juga merujuk ke nama Server / Instance yang benar dalam string koneksi.

Jika Anda menggunakan bentuk pendek dari nama host / Instance di server database atau di file web.config, pastikan Anda menggunakan nama domain (FQDN) / Instance yang sepenuhnya memenuhi syarat

Juga, untuk menguji konektivitas dari server di mana klien SQL server TIDAK hadir,

-> buat file teks dan ubah ekstensi file menjadi .udl

-> Klik kanan file dan Anda dapat melihat tab koneksi.

-> Masukkan nama server dan masuk informasi untuk menguji koneksi ke server database.

Semoga ini membantu.

SanthoshM
sumber
3

Jika Anda tiba-tiba menemukan kesalahan ini mengatakan dalam lingkungan produksi dan tidak ada yang berubah, coba 4 item berikut dalam urutan di bawah ini untuk melihat apakah itu diperbaiki.

  1. restart layanan server sql.
  2. restart layanan (katakanlah IIS) yang memanggil ke sql server. (Masalahnya mungkin di sini jika waktu antara dimulainya panggilan layanan ke SQL server dan waktu Anda akhirnya mendapatkan kesalahan respon super pendek (sekitar satu atau dua detik).
  3. restart server sql server aktif.
  4. restart server di mana layanan panggilan aktif.
Barka
sumber
3

Ketika saya mengalami kesalahan ini di Visual Studio,

“Kesalahan yang berhubungan dengan jaringan atau spesifik-contoh terjadi 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) ”

... itu selama eksekusi kode C # berikut, yang berusaha untuk mendapatkan data SQL Server saya untuk menampilkannya dalam kotak. Pemutusan terjadi tepat pada baris yang mengatakan connect.Open ():

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

Itu tidak bisa dijelaskan karena permintaan SQL sangat sederhana, saya memiliki string koneksi yang tepat, dan server database tersedia. Saya memutuskan untuk menjalankan query SQL aktual secara manual sendiri di SQL Management Studio dan itu berjalan dengan baik dan menghasilkan beberapa catatan. Tapi satu hal yang menonjol dalam hasil kueri: ada beberapa teks HTML yang dikodekan dengan tidak benar di dalam bidang tipe varchar (max) di dalam tabel Friends (khususnya, beberapa simbol komentar yang dikodekan dari jenis yang <!--tersimpan dalam data kolom "Narrative"). Baris data tersangka tampak seperti ini:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

Perhatikan simbol HTML yang disandikan " &lt;", yang merupakan karakter "<". Entah bagaimana itu masuk ke dalam database dan kode C # saya tidak bisa mengambilnya! Gagal setiap kali tepat di jalur connect.Open ()! Setelah saya mengedit secara manual satu baris data di tabel database Friends dan memasukkan karakter "<" yang diterjemahkan, semuanya bekerja! Seperti apa seharusnya baris itu:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

Saya mengedit satu baris buruk yang saya miliki dengan menggunakan pernyataan UPDATE sederhana di bawah ini. Tetapi jika Anda memiliki beberapa baris HTML disandikan yang menyinggung, Anda mungkin perlu pernyataan UPDATE yang lebih rumit yang menggunakan fungsi REPLACE:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

Jadi, moral dari cerita ini (setidaknya dalam kasus saya), membersihkan konten HTML Anda sebelum menyimpannya di database dan Anda tidak akan mendapatkan kesalahan SQL Server samar ini di tempat pertama! (Eh, membersihkan / mendekode ulang konten HTML Anda dengan benar adalah subjek diskusi lain yang layak dilakukan pencarian StackOverflow terpisah jika Anda memerlukan informasi lebih lanjut!)

ShieldOfSalvation
sumber
3

Coba tambahkan a ,dan nomor port (seperti dalam ,1433) ke akhir string koneksi Anda.

Kalyan Hurkat
sumber
3

Pengaturan tag xml di Web.config penting

Pertama

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

Setelah

<connectionStrings>
  <add name="SqlConnectionString" connectionString="Data Source=.; Initial Catalog=TestDB; Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
pejman
sumber
3

Dalam situasi saya layanan MSSQLSERVER punya masalah jadi saya memulai kembali layanan dan masalah terpecahkan.

Jadi saya sarankan untuk pergi ke aplikasi Services dengan: Windows key, cari "Services" , kemudian temukan instance Sql Anda biasanya "SQL Server (MSSQLSERVER)" di untuk Microsoft sql server. Klik kanan pada layanan dan klik Mulai, jika dinonaktifkan klik Restart.

Mohamad Reza Shahrestani
sumber
2

Kesalahan ini terjadi ketika contoh server sql Anda stopped.

PERGI ke semua Program> SQL Server> Alat konfigurasi> SQL SERVER CONFIGURATION MANAGER

kemudian klik pada LAYANAN SQL sERVER, daftar instance akan muncul, pilih instance dalam pertanyaan dan klik ikon play pada bilah alat teratas, semoga ini akan membantu.

jawaban ini sangat terlambat (tapi lebih baik terlambat daripada tidak sama sekali;)

Alex
sumber
2

Saya menyelesaikan masalah ini dengan mengatur proyek yang menggunakan Entity Framework sebagai proyek awal dan kemudian menjalankan perintah "update-database".

pengguna1796440
sumber