Không có quy trình nào ở đầu kia của đường ống (SQL Server 2012)


92

Tôi gặp lỗi này:

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)

Tôi biết, có những câu hỏi tương tự trên trang web này và câu trả lời là bật TCP / IP và đường ống. Nhưng tôi đã bật cả hai và vẫn không hoạt động:

Lỗi MSSQL

Tôi đang sử dụng Microsoft SQL Server 2012 và người dùng có đầy đủ quyền.


thử các giải pháp pinal dave blog.sqlauthority.com/2009/05/21/…
GeoVIP

Điều này đã hiệu quả với tôi khi tôi kết nối lại từ xác thực máy chủ với xác thực cửa sổ.
ganji raajkumar

1
Điều gì đã làm việc cho tôi (sql express 2016) ... Xóa xác thực hỗn hợp chỉ để lại xác thực windows, khởi động lại dịch vụ, chuyển nó trở lại xác thực hỗn hợp, khởi động lại dịch vụ. cho đến khi tôi đã không có gì này khắc phục được Không có quá trình lỗi
Rostol

1
Để biết giá trị của nó, hãy kiểm tra chuỗi kết nối trong tệp cấu hình của bạn. Đối với tôi, ai đó đã sửa đổi một trong các tên máy chủ và đăng ký. Mã của tôi đang cố gắng truy cập vào cơ sở dữ liệu không tồn tại trên máy chủ của tôi.
camainc

Câu trả lời:


120

Máy chủ chỉ được đặt thành Xác thực Windows theo mặc định. Không có bất kỳ thông báo nào, rằng nguồn gốc của các lỗi là như vậy, vì vậy rất khó để tìm ra nó. Studio Quản lý SQL không cảnh báo, ngay cả khi bạn tạo người dùng chỉ với Xác thực SQL.

Vì vậy, câu trả lời là: Chuyển từ Windows sang SQL Authentication :

  1. Nhấp chuột phải vào tên máy chủ và chọn properties;
  2. Chọn securitytab;
  3. Kích hoạt SQL Server and Windows Authentication mode;
  4. Khởi động lại dịch vụ SQL Server.

Bây giờ bạn có thể kết nối với thông tin đăng nhập / mật khẩu của mình.


5
Tùy chọn đã được kiểm tra chính xác, vì vậy tôi đã kiểm tra 'Xác thực Windows', tôi khởi động lại dịch vụ sau đó kiểm tra 'Xác thực Windows + Xác thực SQL' để khắc phục sự cố đó. Rất hạnh phúc!
Groco

2
Để làm rõ nhận xét của @ Groco: Đăng nhập bằng Windows Authentication>> Nhấp chuột phải vào máy chủ của bạn >> Properties>> Security(Dưới Select a page) >> Server AuthenticationChọn dưới SQL Server and Windows Authentication mode. Đóng SQL Server Management Studio, khởi động lại dịch vụ SQL Server và thử đăng nhập lại.
Minh Tran

1
Vấn đề tôi gặp phải là Server Authenticationđã được đặt thành Windows Authentication mode. Và bất kể nhập mật khẩu chính xác, tôi luôn được chào đón 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.). Trong suốt lỗi, tôi có thể đăng nhập bằng cách sử dụngWindows Authentication
Minh Tran

cảm ơn bạn rất nhiều. khởi động lại Dịch vụ Sql đã khắc phục sự cố của tôi.
user1282609

57

Để giải quyết vấn đề này, hãy kết nối với SQL Management Studio bằng Xác thực Windows, sau đó nhấp chuột phải vào nút máy chủ Thuộc tính-> Bảo mật và bật chế độ Xác thực SQL Server và Windows. Nếu bạn đang sử dụng 'sa', hãy đảm bảo rằng tài khoản đã được bật. Để thực hiện việc này, hãy mở 'sa' trong mục Đăng nhập và xem Trạng thái.

cho phép quản trị viên sa

Nếu điều này không hiệu quả, bạn có thể cần cài đặt lại SQL Server


Sau khi thực hiện việc này, hãy khởi động lại SQL Server. Sau đó, hãy thử đăng nhập.
Webucator

25

Ngoài ra, bạn có thể thử truy cập dịch vụ và khởi động lại phiên bản máy chủ Sql của mìnhnhập mô tả hình ảnh ở đây


3
Điều này đã giải quyết được sự cố của tôi sau khi thử tất cả các bản sửa lỗi khác.
mini998

Uh, điều này không nên đi kèm với một nhãn cảnh báo lớn rằng việc khởi động lại dịch vụ máy chủ sql chỉ vì bạn không thể kết nối sẽ phá vỡ những thứ khác đã kết nối thành công?
undrline

Nó hiệu quả tuyệt vời đối với tôi. Tôi có thể thấy mọi người dễ dàng bỏ qua việc xem xét giải pháp này như thế nào.
TechnicalTim

17

Vì vậy, gần đây tôi cũng đã gặp vấn đề này, để bảo mật tích hợp, Hóa ra vấn đề của tôi thực sự khá đơn giản để khắc phục nhưng chủ yếu là do tôi đã quên thêm "Trusted_Connection = True" vào chuỗi kết nối của mình.

Tôi biết điều đó có vẻ khá rõ ràng nhưng tôi đã mất 20 phút hoặc lâu hơn cho đến khi tôi nhận ra rằng tôi đã sao chép định dạng chuỗi kết nối của mình từ linkstrings.com và phần đó của chuỗi kết nối bị thiếu.

Đơn giản và tôi cảm thấy hơi khó hiểu, nhưng đó là câu trả lời cho tôi.


Tôi đã thử tất cả các bình luận nhưng nó không hoạt động. Giải pháp của bạn làm việc hoàn hảo cho tôi. Cảm ơn rât nhiều.
Royal.O

đây là điều cuối cùng tôi đã thử sau khi tất cả các công cụ kiểm tra tcp khác được kích hoạt, thêm xác thực chế độ hỗn hợp và khởi động lại dịch vụ trình duyệt sql và nó đã hoạt động. thanks
Myke Đen

10

Một lý do khác cho lỗi này có thể là tên cơ sở dữ liệu không chính xác hoặc không tồn tại.

Buộc kết nối TCP / IP (bằng cách cung cấp 127.0.0.1thay vì localhosthoặc .) có thể tiết lộ lý do thực sự gây ra lỗi. Trong trường hợp của tôi, tên cơ sở dữ liệu được chỉ định trong chuỗi kết nối không chính xác.

Vì vậy, đây là danh sách kiểm tra:

  • Đảm bảo rằng Named Pipe được bật trong trình quản lý cấu hình (đừng quên khởi động lại máy chủ).
  • Đảm bảo rằng cơ sở dữ liệu bạn đang kết nối tồn tại.
  • Đảm bảo rằng Xác thực máy chủ SQL (hoặc Chế độ hỗn hợp) được bật.

điều gì đã xảy ra với trình quản lý cấu hình trong express 2016? Tôi không thấy nó có sẵn? Ồ, tôi phải chạy SQLServerManager13.msc nay
Kirsten Greed

Khi tôi thay đổi thành 127.0.0.1, tôi nhận được thông báo lỗi Thông báo = Đã xảy ra lỗi liên quan đến mạng hoặc một trường hợp cụ thể khi thiết lập kết nối với SQL Server. Máy chủ này không tìm thấy hoặc không thể truy cập được. Xác minh rằng tên phiên bản là chính xác và SQL Server được cấu hình để cho phép các kết nối từ xa. (nhà cung cấp: SQL Network Interfaces, error: 26 - Lỗi Định vị Server / Instance rõ) Source = Provider Lõi Net SqlClient dữ liệu
Kirsten Greed

1
@kirsteng Kiểm tra các phiên bản SQL Server đã cài đặt của bạn. Bạn đã cài đặt phiên bản mặc định (MSSQLSERVER)?
Mohammad Dehghan

Xác thực máy chủ SQL ở chế độ hỗn hợp đã làm điều đó cho tôi. Các bạn ơi, nếu bạn cài đặt mới SQL Server Express, khi bạn muốn thêm người dùng cho nhu cầu quản lý của mình, bạn cần phải thay đổi nó sang chế độ hỗn hợp, nếu không thì chỉ xác thực cửa sổ mới có sẵn.
Eduardo

Điều này (đại loại) đã hoạt động. Sau khi tôi thay đổi localdb nonsense thành 127.0.0.1, nó đã hoạt động.
Eric

9

Vui lòng kiểm tra điều này nhập mô tả hình ảnh ở đâyĐồng thời kiểm tra cấu hình TCP / IP, Tên PipeLine và kích hoạt bộ nhớ chia sẻ


7

Nếu bạn đang cố gắng đăng nhập bằng thông tin xác thực SQL, bạn cũng có thể thử thay đổi LoginMode cho SQL Server trong sổ đăng ký để cho phép cả SQL Server và Windows Authentication.

  1. Mở regedit
  2. Đi tới khóa phiên bản SQL (có thể khác nhau tùy thuộc vào tên phiên bản của bạn): Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. Đặt LoginMode thành 2

nhập mô tả hình ảnh ở đây

  1. Khởi động lại dịch vụ SQL và SQL Server Management Studio rồi thử lại.

đây là câu trả lời phù hợp nhất.
sushh

5

Tôi phải đối mặt với vấn đề này lần thứ hai và tất cả các câu trả lời trước đó đều không thành công, rất may là yêu cầu sau thực hiện công việc:

Alter login [user] with CHECK_POLICY = OFF
go

Alter login [user] with CHECK_POLICY = ON
go

4

Đối với tôi, mật khẩu đã hết hạn cho người dùng đăng nhập của tôi và tôi cũng có ngoại lệ tương tự. Sau đó, tôi đăng nhập bằng chế độ Xác thực Windows và thay đổi mật khẩu cho người dùng được liên kết, và nó đã giải quyết được vấn đề của tôi.


bạn tiết kiệm ngày của tôi !!
người học

3

Cũng gặp lỗi này, nguyên nhân rất đơn giản nhưng không rõ ràng: mật khẩu không chính xác. Không chắc tại sao tôi không nhận được "Đăng nhập không thành công" từ máy chủ SQL 2016 mới được cài đặt.


3

Đúng, lỗi này cũng có thể là "một cái gì đó không thành công, chúc bạn may mắn tìm ra được điều gì" - Trong trường hợp của tôi, đó là tên người dùng sai. SQL Server 2019 RC1.


2

Tôi có cùng một proplem "Một kết nối đã được thiết lập thành công với máy chủ, nhưng sau đó đã xảy ra lỗi trong quá trình đăng nhập. (Nhà cung cấp: Nhà cung cấp bộ nhớ dùng chung, lỗi: 0 - Không có quy trình nào ở đầu kia của đường dẫn.)"

Kết nối của tôi là:

máy chủ = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; ID người dùng = sa; Pwd = 12345; Kết nối Thời gian chờ = 10;

Nhưng SQL của tôi là POS06 \ MSQL2014

Thay đổi chuỗi kết nối thành

máy chủ = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Danh mục ban đầu = Datas; ID người dùng = sa; Pwd = 12345; Kết nối Thời gian chờ = 10;

nó đã làm việc.


0

đảm bảo rằng bạn đã chỉ định người dùng trong Bảo mật-> Đăng nhập, nếu không - hãy thêm người dùng đó và thử lại.


0

Làm theo câu trả lời khác và nếu nó vẫn không hoạt động, hãy khởi động lại máy tính của bạn để khởi động lại hiệu quả dịch vụ SQL Server trên Windows.


Bạn cũng có thể thường khởi động lại dịch vụ SQL cho cơ sở dữ liệu cụ thể của mình bằng cách định vị nó trongservices.msc
Zimano

0

Luôn cố gắng đăng nhập bằng các thông tin đăng nhập đó với SQL Management Studio. Điều này có thể tiết lộ thêm một số chi tiết mà bạn không nhận được trong thời gian chạy trong mã của mình. Tôi đã kiểm tra xác thực SQL + Windows, khởi động lại máy chủ nhưng vẫn không may mắn. Sau khi cố gắng đăng nhập bằng Quản lý SQL, tôi nhận được lời nhắc này:

ảnh chụp màn hình

Bằng cách nào đó, mật khẩu đã hết hạn mặc dù thông tin đăng nhập đã được tạo chỉ vài phút trước đó. Dù sao, mật khẩu mới được đặt, cập nhật chuỗi kết nối và tất cả đều ổn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.