2009-06-23 32 views
11

Chúng tôi tiếp tục nhận được lỗi này một cách ngẫu nhiên trong ứng dụng web của chúng tôi.Tại sao tôi gặp lỗi này liên tục? "Máy chủ không được tìm thấy hoặc không thể truy cập"

System.Data.SqlClient.SqlException: 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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

Sẽ có ý nghĩa nếu chúng tôi gặp lỗi bao giờ hết nhưng để làm cho nó không liên tục đề xuất điều gì đó khác đang diễn ra.

Có ai đã trải nghiệm điều này không? Bất kỳ đề xuất hoặc lý thuyết nào?

Cảm ơn!

+1

có xảy ra trong cửa sổ sao lưu máy chủ sql không? –

+2

nếu không tôi có thể nghi ngờ một NIC bị lỗi hoặc bộ định tuyến/chuyển đổi –

+1

như ai đó đã đề xuất, máy chủ SQL của bạn có bao giờ hết CPU hoặc bộ nhớ không? đề nghị bạn đăng thiết lập phần cứng của bạn ... –

Trả lời

6

Có thể máy chủ quá bận để trả lời - bạn có đang sử dụng phiên bản SQL Express hoặc Workgroup không? Ngoài ra, có bao nhiêu kết nối tại một thời điểm máy chủ này có? Là lỗi này xảy ra trên tất cả các kết nối tại một thời điểm nhất định, hoặc làm một số kết nối bị từ chối trong khi những người khác thành công cùng một lúc?

Ngoài ra, nếu bạn thực hiện "PING -t Servername" và xem nó, mọi ping có quay lại hoặc bị mất không? Đây có thể là một chỉ báo về sự gián đoạn mạng cũng có thể gây ra lỗi này.

4

Tôi đã thấy điều này trước khi tôi truy cập máy chủ từ xa tại một vị trí khác. Tôi nghi ngờ đó là do cấu hình bộ định tuyến giữa hai trang web như nó đã, chúng ta sẽ nói, cludgy. Nó hoàn toàn có thể bạn nhận được nó vì một cấu hình mạng hoặc phần cứng xấu, nhưng tôi sẽ không nhảy đến kết luận đó cho đến khi bạn kiệt sức rất nhiều khả năng khác.

5

Chúng tôi có điều này vì có quá nhiều tường lửa: khách hàng xa hơn (nói HK hoặc NY, chúng tôi ở Thụy Sĩ) thường xuyên hơn điều đó xảy ra. London: hiếm khi. Thụy Sĩ: không bao giờ. Nó đã được giải thích cho chúng tôi (thông qua kỹ thuật DB của chúng tôi và trợ giúp MS) rằng sự chậm trễ vì các bộ định tuyến và tường lửa đôi khi làm rối loạn Kerberos và/hoặc thời gian liên quan.

Khắc phục: sử dụng cổng trong chuỗi kết nối. Điều này tránh vòng hai đến cổng 1434 để liệt kê cá thể. Chúng tôi đã sử dụng FQDN.

Ví dụ: server.domain.tld \ Ví dụ, cổng

YNNV tất nhiên, nhưng nó làm việc cho chúng tôi

4

tôi đã có vấn đề chính xác cùng; chúng tôi cũng nhận được cái này:

System.Data.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

và điều này một:

System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

Người đầu tiên là đặc biệt kỳ lạ, như chúng tôi đã không sử dụng Named Pipes.

Dù sao, hóa ra vấn đề là một công tắc bị lỗi.

Tôi đã gặp rắc rối với việc xử lý sự cố cấp ứng dụng và db trước khi thiết lập tác vụ được lập lịch để PING qua lại giữa máy chủ ứng dụng và cơ sở dữ liệu (sử dụng cả địa chỉ IP và tên NETBIOS của máy chủ, trong trường hợp vấn đề là tra cứu tên netbios).

Lỗi ping xảy ra đáng tin cậy cùng lúc với lỗi DB, vì vậy chúng tôi biết đó là phần cứng mạng và không phải bất kỳ thứ gì ở mức cao hơn.

Thay thế công tắc đã sửa mọi thứ.

Các vấn đề liên quan