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 bắt tay đăng nhập trước


111

Tôi gặp lỗi sau khi cố gắng kết nối Sản xuất DB từ Môi trường cục bộ.

Tôi đã có thể kết nối Production DB trước đây, nhưng đột nhiên tôi gặp lỗi sau, có ý kiến ​​gì không?

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 bắt tay đăng nhập trước. (nhà cung cấp: Nhà cung cấp TCP, lỗi: 0 - Xử lý không hợp lệ.)

Tôi đang cố gắng chạy trang web asp.net trong PC cục bộ, có chuỗi kết nối của Production DB, sau đây là dấu vết ngăn xếp cho lỗi tôi đang gặp phải trong môi trường cục bộ.

>    at MyWebsiteDAL.clsForumQuestion.SelectAll(Int32 CurrentPageIndex, Int32 PageSize) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsiteDAL\clsForumQuestion.cs:line 821
       at CodeConnect.Default.Page_Load(Object sender, EventArgs e) in D:\EDrive\My WebSites\MyWebsite\MyWebsite\MyWebsite\Default.aspx.cs:line 100
       at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
       at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
       at System.Web.UI.Control.OnLoad(EventArgs e)
       at System.Web.UI.Control.LoadRecursive()
       at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Bất kỳ ý tưởng nào có thể đã xảy ra sai ở đây?


Bạn đang kết nối với DBMS nào?
Sẽ A

1
Bạn có thể kết nối từ PC cục bộ với SSMS không? Câu hỏi này sẽ được hỏi tốt hơn trên serverfault.com
Will A

Có, tôi có thể kết nối. Những gì tôi quan sát được đột nhiên bắt đầu hoạt động.
Jordon Willis

2
Tôi tin rằng câu hỏi này thuộc về StackOverflow (chứ không phải ServerFault) vì vấn đề cơ bản gây ra lỗi là Asp.net Cassini trong Visual Studio. Dừng tất cả các phiên bản Cassini (WebDev.WebServer.exe) hiện có và chạy lại ứng dụng phù hợp với tôi.
MikeTeeVee

@ MikeTeeVee Tôi gặp vấn đề tương tự với một ứng dụng WinForm đơn giản. Không có cassini tham gia.
Sylvain Rodrigue,

Câu trả lời:


154

Giải pháp

1) Làm sạch Giải pháp VS.Net của bạn

2) Dự án xây dựng lại.

3) Đặt lại IIS

4) Chạy lại dự án.

Về cơ bản điều đó đã giải quyết được vấn đề của tôi, nhưng trong trường hợp của tôi, tôi không gặp phải lỗi này và đột nhiên môi trường cục bộ của tôi bắt đầu cho tôi lỗi ở trên, vì vậy có thể thủ thuật đó hoạt động với tôi.


25
Tôi đã gặp sự cố tương tự (localhost quá). Điểm mấu chốt có vẻ là ở điểm 3. Tất cả những gì tôi cần làm là giết phiên bản của VS WebServer (Cassini) và xây dựng lại và nhấn F5. Điều đó đã giải quyết nó cho tôi. Cảm ơn câu trả lời của bạn. (Bạn nên cân nhắc đánh dấu nó như là giải pháp)
Amadiere

1
Giải pháp này cũng làm việc cho tôi. Tôi cũng đang sử dụng VS Web Server (Cassini) trái ngược với IIS giống như Amadiere.
Simon Lomax

7
Điều này giống như một giải pháp thay thế hơn là một bản sửa lỗi. Tôi tự hỏi liệu vấn đề thực sự có liên quan đến việc gộp kết nối hay không.
jrummell

2
Đã có điều này một lần nữa ngày hôm nay. Tất cả những gì bạn cần làm là chạy iisreset từ dấu nhắc lệnh quản trị.
Ian Kemp

6
Câu trả lời này có thể được cải thiện bằng cách cung cấp một số hướng khả thi để phân tích nguyên nhân gốc rễ. Giải pháp thay thế có giá trị, nhưng sẽ hữu ích hơn nếu biết tại sao điều này xảy ra và tại sao chế độ thay thế hoạt động.
laindir

15

- Lưu công việc của bạn,
- Đóng Visual Studio, sau đó
- Mở lại dự án của bạn

Luôn luôn làm việc cho tôi.


29
Điều này cũng hiệu quả với tôi, nhưng tôi thường thấy việc pha cà phê trong khi nó khởi động lại tạo ra sự khác biệt.
ED-209

Tôi đã gặp sự cố tương tự, nhưng với một máy chủ nút. Tôi đang chạy một máy chủ nút trên máy khách ubuntu VM và truy cập từ máy chủ Windows 10 VM. Tạm dừng và lưu máy ảo, sau đó đặt lại máy chủ Windows 10, sau đó mở máy ảo sao lưu đã hoạt động, vì vậy tôi cho rằng đó là sự cố với Windows chứ không phải máy chủ cục bộ. Nhưng sau đó, tôi vừa thử đặt lại máy chủ nút cục bộ và điều đó cũng đã sửa nó ... vì vậy ai biết được, ha
RyanQuey

10

Chạy lệnh sau phù hợp với tôi:

netsh Winsock reset

Đã xem tại https://serverfault.com/a/487139/250527


2
Điều này đã giải quyết vấn đề của tôi. Tôi nợ anh chàng mạng vì tôi đã ném anh ta xuống gầm xe buýt.
greg

FYI, điều này resetcần khởi động lại hệ thống.
wqw

9

Tôi đã gặp lỗi này khi chạy một số quy trình rất tốn bộ nhớ. Khi hệ thống bắt đầu thiếu bộ nhớ, tôi bắt đầu nhận thấy loại lỗi này. Tôi đã phải thay đổi thuật toán để sử dụng RAM tốt hơn.

Cần lưu ý rằng trong khi một số luồng đã ném ngoại lệ này, một số luồng khác đã ném:

System.Data.SqlClient.SqlException (0x80131904): Hết thời gian chờ kết nối. Khoảng thời gian chờ đã trôi qua trong khi cố gắng sử dụng xác nhận bắt tay đăng nhập trước. Điều này có thể là do bắt tay đăng nhập trước không thành công hoặc máy chủ không thể phản hồi lại kịp thời. Thời lượng dành trong khi cố gắng kết nối với máy chủ này là - [Đăng nhập trước] khởi tạo = 43606; bắt tay = 560; ---> System.ComponentModel.Win32Exception (0x80004005): Hoạt động chờ đã hết thời gian

Cả hai vấn đề đều biến mất sau khi hệ thống được thay đổi để nó có thể chạy bằng cách sử dụng ít RAM hơn.


1
Đã xác nhận. Tôi đã chạy xử lý chuyên sâu trên SQL Server từ C # bằng cách sử dụng song song.foreach trên máy tính xách tay của mình. Mức sử dụng bộ nhớ của tôi đã ở mức tối đa. Máy tính hầu như không thể sử dụng được trong khoảng 15 phút trước khi tôi gặp lỗi này.
TheLegendaryCopyCoder

8

Tôi đã gặp vấn đề tương tự, tôi đang lưu trữ dữ liệu phiên trong cơ sở dữ liệu, chuỗi kết nối có Encrypt = True trong đó, tôi cho rằng đã yêu cầu máy khách sql kết nối với máy chủ ở chế độ bảo mật (SSL), việc xóa này đã giúp ích!


1
Cờ này sẽ được thêm vào chuỗi kết nối của bạn nếu bạn đang sử dụng Cơ sở dữ liệu Windows Azure SQL. Tôi khá chắc chắn nó cũng sẽ được sử dụng cho các nhà cung cấp PaaS / IaaS / Server khác.
Parth Shah


5

Bạn có thể muốn kiểm tra một số điều:

  1. Máy chủ sản xuất của bạn cho phép kết nối từ xa. (có thể ai đó đã tắt tính năng này, đặc biệt nếu bạn có DBA)

  2. Kiểm tra chuỗi kết nối của bạn. Đôi khi nếu bạn đang sử dụng địa chỉ ip hoặc tên máy chủ, điều này sẽ gây ra lỗi này. Hãy thử cả hai.


4

Trong trường hợp của tôi, đó là:

Persist Security Info=True;

trong chuỗi kết nối của tôi cần được xóa. Một khi tôi đã làm điều đó, tôi không còn gặp vấn đề gì nữa.


4

Trong trường hợp của tôi, lỗi này xảy ra với lõi dot net và Microsoft.Data.SqlClient. Giải pháp là thêm ;TrustServerCertificate=truevào cuối chuỗi kết nối.


Cảm ơn, bạn đã cứu tôi :)
DiPix

Đó là khi sử dụng chứng chỉ tự ký
Geoff Gunter

3

Như được mô tả trong câu trả lời của Ricardo ,

netsh Winsock reset

đã làm việc cho tôi,

PS nếu bạn có trình quản lý tải xuống Internet hoặc các chương trình như vậy làm thay đổi bạn Cài đặt IP được cài đặt thì sau khi chạy lệnh này khi bạn khởi động lại máy tính của bạn, IDM sẽ yêu cầu thay đổi cài đặt, Đặt KHÔNG trong trường hợp này và sau đó chạy ứng dụng của bạn, nó sẽ hoạt động chính xác.

Hy vọng nó


3

Tôi đã gặp sự cố tương tự trong đó tôi không thể kết nối với cơ sở dữ liệu và đã thử các đề xuất tại đây.

Vào cuối ngày, đây là những gì đã làm việc cho tôi:

Đã sử dụng công cụ Trình quản lý cấu hình SQL Server để bật giao thức TCP / IP và / hoặc các giao thức Ống được đặt tên trên máy khách SQL Server.

  1. Bấm Bắt đầu, trỏ chuột vào Tất cả Chương trình và bấm Trình quản lý Cấu hình Máy chủ SQL.
  2. Bấm để mở rộng Cấu hình mạng SQL Server và sau đó bấm Giao thức máy khách.
  3. Bấm chuột phải vào giao thức TCP / IP và sau đó bấm Bật.
  4. Bấm chuột phải vào giao thức Ống được đặt tên và sau đó bấm Bật.
  5. Khởi động lại dịch vụ máy chủ SQL nếu được nhắc làm như vậy.

Tôi vẫn không chắc tại sao hoặc khi nào điều này bị vô hiệu hóa.


2

Đối với tôi, giải pháp là tiêu diệt các quy trình công nhân nhanh IIS zombie.

ví dụ: định vị trong Trình quản lý tác vụ và kết thúc tác vụ.

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


1

Tôi đã gặp vấn đề tương tự và không gặp may với các bản sửa lỗi được đề xuất. Sau đó tôi đã xem qua bài báo này và thấy bình luận từ Mirrh về một chương trình có tên Sendori đang chặn LSP. Không biết làm thế nào nó có trên máy tính của tôi nhưng nó đã ở đó và việc gỡ bỏ nó đã khắc phục sự cố.

Nếu bài viết không hoạt động, chỉ cần kiểm tra Chương trình của bạn và gỡ cài đặt Sendori nếu bạn thấy nó.


1

Tôi đã khởi động lại dịch vụ SQL Server (Sharepoint) và nó đã giải quyết được sự cố.


1

Tôi cũng gặp phải vấn đề tương tự mà không có sự thay đổi nào đối với cơ sở mã hoặc máy chủ. Hóa ra là máy chủ DB đang chạy ở 100% CPU và Máy chủ SQL đang bị bỏ đói bất kỳ thời gian CPU nào, điều này gây ra thời gian chờ.



1

Đã thử hầu hết các cách trên và không có gì hiệu quả. Sau đó tắt phần mềm VPN (NordVPN) và mọi thứ đều ổn.


1

Tôi đã thử nhiều giải pháp trong tháng qua, không giải pháp nào hiệu quả. Vấn đề là Production DB nằm trong một VPN và bằng cách nào đó, nhà cung cấp ISP cho rằng kết nối HTTP không an toàn. Tuy nhiên, tôi đã có thể kết nối với cùng một DB sản xuất từ ​​SSMS (sử dụng TCP).

Giải pháp của tôi: sử dụng điện thoại di động làm điểm phát sóng và sử dụng dữ liệu di động thay vì Wi-Fi văn phòng / nhà của tôi.


1
Trong trường hợp của tôi cũng vậy. Cảm ơn!
David Lo

0

Có cùng một vấn đề, lý do cho nó là thư viện BCrypt.Net, được biên dịch bằng .NET 2.0 framework, trong khi toàn bộ dự án, sử dụng nó, đang biên dịch bằng .NET 4.0. Nếu các triệu chứng giống nhau, hãy thử tải xuống mã nguồn BCrypt và xây dựng lại nó trong cấu hình phát hành trong .NET 4.0. Sau khi tôi làm xong, "bắt tay đăng nhập trước" hoạt động tốt. Hy vọng nó sẽ giúp bất cứ ai.


0

Tôi đã gặp lỗi này và đã thực hiện tất cả các đề xuất từ ​​các bạn ở đây nhưng không có bất kỳ tác dụng nào đối với lỗi của tôi.

Tôi đã tìm ra thủ phạm: nếu bạn đang sử dụng *.initệp cho hệ thống của mình, bạn có thể muốn kiểm tra xem tên máy chủ nào đã được nhập vào đó và đảm bảo rằng nó giống với tên trong chuỗi kết nối web.config của bạn.


0

Cùng một vấn đề ở đây và không có câu trả lời nào được liệt kê ở đây hoạt động, cũng như bất kỳ giải pháp nào tôi có thể tìm thấy trực tuyến. Sự cố bắt đầu ngay sau khi bản cập nhật kỷ niệm Windows 10 được áp dụng trên PC dev của tôi và chỉ ảnh hưởng đến phiên bản SQL Server 2005 cũ của tôi. Tôi không thể kết nối với phiên bản thông qua Ứng dụng web của mình hoặc thậm chí sử dụng Sql Management Studio.

Đối với những gì nó đáng giá, đây là những gì đã giải quyết nó cho tôi:

  1. Mở Trình quản lý cấu hình SQL Server (tùy thuộc vào phiên bản SQL Server bạn đang chạy):

    • C: \ Windows \ SysWOW64 \ SQLServerManager.msc
    • C: \ Windows \ SysWOW64 \ SQLServerManager10.msc HOẶC
    • C: \ Windows \ SysWOW64 \ SQLServerManager12.msc HOẶC
    • Vân vân
  2. Chọn dịch vụ máy chủ SQL

  3. Tìm dịch vụ gặp sự cố và xem Thuộc tính

    • ví dụ: SQL Server (SQL2005) trong trường hợp của tôi
  4. Trong tab Đăng nhập, thay đổi "Tài khoản tích hợp" thành "Dịch vụ mạng"

Đó gần như là những gì giải pháp ngẫu nhiên này cho biết: http://www.kutayzorlu.com/operating-systems/linux-unix-redhat-debian-ubuntu-opensuse-centos/general-server-administrating/error-fixed-a-connection -was-thành công-thiết lập-với-máy chủ-nhưng-sau đó-lỗi-xảy ra-trong-khi-đăng-nhập trước-bắt tay-12405.html

Tôi đã chọn Dịch vụ Mạng không vì lý do gì cả. Của tôi đã được định cấu hình để sử dụng Hệ thống cục bộ. Bảo mật này không quan trọng với tôi vì nó chỉ có vấn đề trên máy phát triển Cục bộ của tôi, chỉ được truy cập cục bộ. Tôi không thể tư vấn tại sao điều này hoạt động, nhưng nó đã làm.


0

Trong trường hợp của tôi, tôi gặp lỗi khi muốn truy cập cơ sở dữ liệu từ xa. Tuy nhiên, tôi đã giải quyết nó bằng cách khởi động dịch vụ Trình duyệt SQL Server.

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


0

Nếu bạn đang kết nối với SQL Server cũ:

Chuyển từ System.Data. SqlClient.SqlConnection với System.Data. OleDb.OleDbConnection

Sử dụng chuỗi kết nối OleDb:

<connectionStrings>
<add name="Northwind" connectionString="Provider=SQLOLEDB.1; Data Source=MyServer; Initial Catalog=Northwind;  Persist Security Info=True; User ID=abc; Password=xyz;" providerName="System.Data.OleDb" />
</connectionStrings>

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.