SQL Server đăng nhập 17832 với yêu cầu kết nối nhiều TCP\IP

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:154628
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
TÓM TẮT
Nếu SQL Server là hit với nhiều và đồng thời TCP/IP yêu cầu kết nối, chẳng hạn như trường hợp với các máy chủ World Wide Web, các yêu cầu đang nhanh chóng bị từ chối đáp ứng với một TCP/IP thiết lập lại khung.

Điều này triệu chứng là khó phát hiện. Nếu ứng dụng khách hàng bao gồm mã lỗi xử lý, mã lỗi nguồn gốc là 10061 (WSAECONNREFUSED) cho Open() chức năng. Trên máy chủ, lỗi 17832 - "Không thể đọc gói dữ liệu đăng nhập" xuất hiện trong SQL lỗi đăng nhập.

Nếu bạn theo dõi vấn đề này với một giao thức phân tích, bạn có thể thấy rằng một số khung hình yêu cầu kết nối đã trả lời với TCP Reset chút đặt, mà nói với các trạm gửi các khung đã nhận được, nhưng máy chủ không có các nguồn lực để xử lý yêu cầu kết nối.
THÔNG TIN THÊM
Một ứng dụng Winsock chấp nhận các kết nối vào một cổng bởi kêu gọi một chức năng Listen(), trong đó có một tham số backlog xác định các tối đa chiều dài của hàng đợi chờ giải quyết kết nối. Đặc điểm kỹ thuật Winsock định nghĩa backlog Listen() tối đa lúc 5 và khi nó vượt quá năm, TCP/IP các vấn đề một thiết lập lại.

Backlog cho SQL Server có thể được cấu hình để xử lý một số lượng lớn đang chờ giải quyết các kết nối bằng cách sửa đổi Windows NT Sổ đăng ký. Trong một số trường hợp, vấn đề thiết lập lại kết nối được giải quyết nhờ sự Sửa đổi.

Quan trọng Phần này, phương pháp, hoặc công việc có bước mà cho bạn biết làm thế nào để chỉnh sửa registry. Tuy nhiên, vấn đề nghiêm trọng có thể xảy ra nếu bạn sửa đổi registry không chính xác. Vì vậy, hãy chắc chắn rằng bạn làm theo các bước sau một cách cẩn thận. Để bảo vệ được thêm vào, sao lưu sổ đăng ký trước khi bạn sửa đổi nó. Sau đó, bạn có thể khôi phục sổ đăng ký nếu một vấn đề xảy ra. Để biết thêm chi tiết về làm thế nào để sao lưu và khôi phục sổ đăng ký, hãy nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
322756 Cách sao lưu và lưu trữ sổ đăng kư trong Windows
  1. Bắt đầu Registry Editor (REGEDT32.EXE) và xác định vị trí các sau subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer
    Chú ý
    • Registry subkey tương ứng trong các HKEY_LOCAL_MACHINE subtree cho SQL 4.21a là:
      \Software\Microsoft\SQLServer\Server
    • Nếu SQL Server 6,5 Enterprise Edition đang chạy với một Ảo SQL máy chủ trong một môi trường nhóm, bạn phải thực hiện thay đổi để máy chủ ảo khóa, thay vì các tiêu chuẩn:
      \Software\Microsoft\MSSQLServer\MSSQLServer
      Phím ảo máy chủ này là:
      \Software\Microsoft\MSSQLServer$VirtualServerName
      \MSSQLServer$VirtualServerName

      Giá trị tên: WinsockListenBacklog
      Kiểu dữ liệu: REG_DWORD
      Dữ liệu: 190
    • Vị trí cơ quan đăng ký mới cho SQL Server 2000:

      Cho một trường hợp mặc định:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
      Ví dụ đặt tên là:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Tên dụ\MSSQLServer\SuperSocketNetLib
  2. Chọn MSSQLServer subkey cho SQL Server 6,5 và SQL Server 7.0, và chọn SuperSocketNetLib cho SQL Server 2000. Trên các Chỉnh sửa trình đơn, nhấp vào Thêm giá trị.
  3. Nhập dưới đây:
    Giá trị tên: WinsockListenBacklog
    Data Type: REG_DWORD
    Dữ liệu: Phạm vi là 1 đến 0xFFFFFFFF
    Chú ý Giá trị dữ liệu ảnh hưởng đến tổng thể tài nguyên hệ thống nếu nó được thiết lập để một giá trị cao. Windows NT 3.51 có một backlog tổng thể tối đa của 100 và Windows NT 4.0 có một backlog tổng thể tối đa của 200 cho tất cả các ứng dụng. Gợi ý phương pháp thử nghiệm với giá trị này là để thiết lập giá trị trong gia số 5 và quan sát các kết quả cho đến khi kết nối đặt lại điểm dừng.
  4. Nhấp OK và thoát khỏi Registry Editor.
  5. Khởi động lại máy chủ SQL.
Để biết thêm thông tin về các Listen() chức năng, xem tham khảo các WIN32 SDK của lập trình viên.

Để biết thêm chi tiết về các tham số backlog và Windows NT, nhấp vào số bài viết sau để xem bài viết trong cơ sở kiến thức Microsoft:
113576Các ứng dụng WinSocket từ chối yêu cầu kết nối với khung hình thiết lập lại
127144 Windows NT WinSock nghe (Backlog) tham số giới hạn
Internet Information Server IIS windows ổ cắm

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 154628 - Xem lại Lần cuối: 12/04/2015 15:12:23 - Bản sửa đổi: 2.0

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition, Microsoft SQL Server 6.0 Standard Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Workgroup Edition

  • kbnosurvey kbarchive kbnetwork kbmt KB154628 KbMtvi
Phản hồi