Tidak ada proses di ujung lain pipa (SQL Server 2012)

96

Saya mendapat kesalahan ini:

A connection was successfully established with the server, but then an error occurred
during the login process. (provider: Shared Memory Provider, error: 0 - No process is
on the other end of the pipe.)

(Microsoft SQL Server, Error: 233)

Saya tahu, ada pertanyaan serupa di situs ini, dan jawabannya adalah, mengaktifkan TCP / IP dan pipa. Tapi saya mengaktifkan keduanya, dan tetap tidak berfungsi:

Kesalahan MSSQL

Saya menggunakan Microsoft SQL Server 2012 dan pengguna memiliki izin penuh.

Iter Ator
sumber
coba pinal dave solutions blog.sqlauthority.com/2009/05/21/…
GeoVIP
Ini berfungsi untuk saya ketika saya menyambungkan kembali dari otentikasi server ke otentikasi windows.
ganji raajkumar
1
Apa yang berhasil untuk saya (sql express 2016) ... Menghapus otentikasi campuran meninggalkan hanya windows auth, restart layanan, alihkan kembali ke mixed auth, restart layanan. sampai saya melakukan ini tidak ada yang memperbaiki kesalahan proses Tidak
Rostol
1
Untuk mengetahui nilainya, periksa string koneksi di file konfigurasi Anda. Bagi saya seseorang telah mengubah salah satu nama server dan check in. Kode saya mencoba untuk mencapai database yang tidak ada di server saya.
camainc
tidak berhasil untuk saya juga.
Sam

Jawaban:

126

Server diatur ke Otentikasi Windows hanya secara default. Tidak ada pemberitahuan apa pun, bahwa asal mula kesalahan itu, jadi sulit untuk mengetahuinya. Studio Manajemen SQL tidak memberi tahu, bahkan jika Anda membuat pengguna dengan Autentikasi SQL saja.

Jadi jawabannya adalah: Beralih dari Windows ke Otentikasi SQL :

  1. Klik kanan pada nama server dan pilih properties;
  2. Pilih securitytab;
  3. Aktifkan SQL Server and Windows Authentication mode;
  4. Mulai ulang layanan SQL Server.

Sekarang Anda dapat terhubung dengan login / kata sandi Anda.

Iter Ator
sumber
5
Opsi dicentang dengan benar, jadi saya memeriksa 'Otentikasi Windows', saya memulai ulang layanan kemudian saya memeriksa 'Otentikasi Windows + Otentikasi SQL' untuk memperbaiki masalah itu. Sangat senang!
Groco
2
Untuk memperjelas komentar @ Groco: Masuk menggunakan Windows Authentication>> Klik kanan server Anda >> Properties>> Security(Bawah Select a page) >> Di bawah Server Authenticationpilih SQL Server and Windows Authentication mode. Tutup SQL Server Management Studio, mulai ulang layanan SQL Server, dan coba masuk lagi.
Minh Tran
1
Masalah yang saya miliki adalah hal Server Authenticationitu sudah diatur Windows Authentication mode. Dan terlepas dari masukan kata sandi yang benar, saya selalu disambut dengan A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.). Sepanjang kesalahan, saya bisa masuk menggunakanWindows Authentication
Minh Tran
Terima kasih banyak. restart Layanan Sql memperbaiki masalah saya.
pengguna1282609
58

Untuk mengatasi ini, sambungkan ke SQL Management Studio menggunakan Windows Authentication, lalu klik kanan pada server node Properties-> Security dan aktifkan mode SQL Server dan Autentikasi Windows. Jika Anda menggunakan 'sa', pastikan akun tersebut diaktifkan. Untuk melakukan ini, buka 'sa' di bawah Login dan lihat Status.

aktifkan admin

Jika ini tidak berhasil, Anda mungkin perlu menginstal ulang SQL Server

nzchris
sumber
Setelah melakukan ini, mulai ulang SQL Server. Kemudian coba masuk.
Webucator
27

Anda juga dapat mencoba masuk ke layanan dan memulai ulang server Sql Andamasukkan deskripsi gambar di sini

Tanpa nama
sumber
3
Ini menyelesaikan masalah saya setelah mencoba semua perbaikan lainnya.
mini998
1
Eh, bukankah ini harus disertai dengan label peringatan besar yang me-restart layanan sql server hanya karena Anda tidak dapat terhubung akan merusak hal-hal lain yang telah berhasil terhubung?
undrline
Ini bekerja dengan baik untuk saya. Saya dapat melihat betapa mudahnya orang mengabaikan solusi ini.
TechnicalTim
19

Jadi, saya baru-baru ini juga, untuk keamanan terintegrasi, Ternyata masalah saya sebenarnya cukup mudah untuk diperbaiki tetapi terutama karena saya lupa menambahkan "Trusted_Connection = True" ke string koneksi saya.

Saya tahu itu mungkin tampak cukup jelas tetapi itu membuat saya pergi selama 20 menit atau lebih sampai saya menyadari bahwa saya telah menyalin format string koneksi saya dari connectionstrings.com dan bagian dari string koneksi itu hilang.

Sederhana dan saya merasa agak gila, tetapi itulah jawaban bagi saya.

Joe Walters
sumber
Saya mencoba semua komentar tetapi tidak berhasil. Solusi Anda bekerja sempurna untuk saya. Terima kasih banyak.
Royal.O
ini adalah hal terakhir yang saya coba setelah semua hal lain untuk memeriksa tcp diaktifkan, menambahkan otentikasi mode campuran dan memulai ulang layanan browser sql dan itu berhasil. terima kasih
Myke Black
10

Alasan lain untuk kesalahan ini mungkin salah atau nama database tidak ada.

Memaksakan koneksi TCP / IP (dengan memberikan 127.0.0.1alih-alih localhostatau .) dapat mengungkapkan alasan sebenarnya untuk kesalahan tersebut. Dalam kasus saya, nama database yang ditentukan dalam string koneksi salah.

Jadi, inilah checklistnya:

  • Pastikan Named Pipe diaktifkan di manajer konfigurasi (jangan lupa untuk memulai ulang server).
  • Pastikan database yang Anda sambungkan ada.
  • Pastikan SQL Server Authentication (atau Mixed Mode) diaktifkan.
Mohammad Dehghan
sumber
apa yang terjadi dengan manajer konfigurasi di express 2016? Saya tidak melihatnya tersedia? Oh, saya harus menjalankan SQLServerManager13.msc sekarang
Kirsten Greed
Ketika saya mengubah ke 127.0.0.1 saya mendapat pesan kesalahan Message = Terjadi kesalahan terkait jaringan atau spesifik saat membuat koneksi ke SQL Server. Server tidak ditemukan atau tidak dapat diakses. Verifikasi bahwa nama contoh sudah benar dan SQL Server dikonfigurasi untuk memungkinkan sambungan jarak jauh. (penyedia: Antarmuka Jaringan SQL, kesalahan: 26 - Kesalahan Menemukan Server / Instance yang Ditentukan) Sumber = Inti. Penyedia Data SqlClient Bersih
Kirsten Keserakahan
1
@kirsteng Periksa contoh SQL Server yang Anda instal. Apakah Anda menginstal contoh default (MSSQLSERVER)?
Mohammad Dehghan
Otentikasi SQL Server dalam mode campuran melakukannya untuk saya. Teman-teman jika Anda melakukan instalasi baru dari SQL Server Express, ketika Anda ingin menambahkan pengguna untuk kebutuhan pemrograman Anda, Anda perlu mengubahnya ke mode campuran jika tidak, hanya otentikasi windows yang akan tersedia.
Eduardo
Ini (semacam) berhasil. Setelah saya mengubah localdb omong kosong menjadi 127.0.0.1, itu berhasil.
Eric
9

Silakan periksa ini juga masukkan deskripsi gambar di siniPeriksa juga dalam konfigurasi TCP / IP, Names PipeLine dan memori bersama diaktifkan

Muhammad Bilal
sumber
8

Jika Anda mencoba login dengan kredensial SQL, Anda juga dapat mencoba mengubah LoginMode untuk SQL Server di registri untuk mengizinkan SQL Server dan Autentikasi Windows.

  1. Buka regedit
  2. Buka kunci contoh SQL (dapat bervariasi tergantung pada nama contoh Anda): Komputer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. Setel LoginMode ke 2

masukkan deskripsi gambar di sini

  1. Mulai ulang layanan SQL dan SQL Server Management Studio dan coba lagi.
gotorg.dll
sumber
ini adalah jawaban yang paling tepat.
sushh
BEKERJA seperti pesona!
Asim
5

Saya menghadapi masalah ini untuk kedua kalinya dan semua jawaban sebelumnya gagal, untungnya permintaan berikut melakukan pekerjaan itu:

Alter login [user] with CHECK_POLICY = OFF
go

Alter login [user] with CHECK_POLICY = ON
go
Groco
sumber
4

Bagi saya kata sandi untuk pengguna login saya kedaluwarsa, dan saya mendapat pengecualian yang sama. Kemudian saya masuk dengan mode Otentikasi Windows dan mengubah kata sandi untuk pengguna terkait, dan itu memecahkan masalah saya.

Bence Végert
sumber
kamu menyelamatkan hariku !!
pelajar
3

Apakah kesalahan ini juga terjadi, penyebabnya sederhana, tetapi tidak jelas: kata sandi salah. Tidak yakin mengapa saya tidak mendapatkan hanya "Login gagal" dari server SQL 2016 yang baru diinstal.

Stefan
sumber
3

Ya, kesalahan ini mungkin juga "sesuatu gagal, semoga berhasil mencari tahu apa" - Dalam kasus saya itu adalah nama pengguna yang salah. SQL Server 2019 RC1.

Anssssss
sumber
2

Saya memiliki masalah yang sama "Sambungan berhasil dibuat dengan server, tetapi kemudian terjadi kesalahan selama proses masuk. (Penyedia: Penyedia Memori Bersama, kesalahan: 0 - Tidak ada proses di ujung lain dari pipa.)"

Koneksi saya adalah:

server = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Katalog Awal = Data; ID Pengguna = sa; Pwd = 12345; Hubungkan Timeout = 10;

Tapi SQL saya adalah POS06 \ MSQL2014

Ubah string koneksi menjadi

server = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Katalog Awal = Data; ID Pengguna = sa; Pwd = 12345; Hubungkan Timeout = 10;

itu berhasil.

Doan bien
sumber
0

pastikan bahwa Anda telah menentukan pengguna di Keamanan-> Masuk, jika tidak - tambahkan dan coba lagi.

elkoo
sumber
0

Ikuti jawaban lain, dan jika masih tidak berfungsi, mulai ulang komputer Anda untuk memulai ulang layanan SQL Server secara efektif di Windows.

cschaefer.dll
sumber
Anda juga biasanya dapat memulai ulang layanan SQL untuk database spesifik Anda dengan menempatkannya diservices.msc
Zimano
0

Selalu coba masuk menggunakan kredensial tersebut dengan SQL Management Studio. Ini mungkin mengungkapkan beberapa detail lebih lanjut yang tidak Anda dapatkan saat runtime dalam kode Anda. Saya telah memeriksa otentikasi SQL + Windows, memulai ulang server tetapi masih tidak berhasil. Setelah mencoba masuk menggunakan Manajemen SQL, saya mendapat prompt ini:

tangkapan layar

Entah bagaimana kata sandi telah kedaluwarsa meskipun login dibuat hanya beberapa menit sebelumnya. Bagaimanapun, set kata sandi baru, string koneksi diperbarui dan semuanya baik-baik saja.

CyberDude
sumber