Bạn nhận được thông báo lỗi "lỗi 18482" khi bạn cố gắng thực hiện một cuộc gọi thủ tục từ xa (RPC) từ một máy chủ khác trong SQL Server

Triệu chứng

Khi thử một cuộc gọi thủ tục từ xa (RPC) từ một máy chủ đến một máy tính khác (ví dụ, bằng cách thực hiện một thủ tục được lưu trữ trên một máy tính từ xa với một câu lệnh chẳng hạn như EXEC SERV_REMOTE. Pubs.. byroyalty), bạn có thể nhận được thông báo lỗi sau đây:

Lỗi 18482: không thể kết nối với site ' 0 ' vì ' ' không được định nghĩa là máy chủ từ xa tại site.

Lưu ý Nếu bạn đang sử dụng Microsoft SQL Server 2005, bạn có thể nhận được thông báo lỗi sau đây:

Lỗi 18482: không thể kết nối với máy chủ <servername> vì <ServerName> không được định nghĩa là máy chủ từ xa. Xác nhận rằng bạn đã xác định đúng tên máy chủ.

Nguyên nhân

Lỗi này xảy ra khi SQL Server không thể thực thi một cuộc gọi thủ tục từ xa. Điều này có thể do một máy chủ cục bộ cấu hình không đúng cách. Để thực hiện cuộc gọi thủ tục từ xa, SQL Server trước tiên xác định ai là máy chủ cục bộ đang tìm kiếm tên máy chủ với srvid = 0 trong sysservers. Nếu một mục nhập với srvid = 0 không tìm thấy trong sysservers, hoặc nếu tên máy chủ với srvid = 0 thuộc tên máy chủ khác nhau từ tên máy tính Windows NT cục bộ, bạn sẽ nhận được lỗi.

Cách giải quyết

Để xác định xem máy chủ cục bộ được cấu hình đúng, hãy kiểm tra cột srvstatus trong bản cái ... sysservers. Giá trị này phải là 0 đối với máy chủ cục bộ. Ví dụ, giả sử máy chủ cục bộ của bạn được đặt tên là "SERV_LOCAL", máy chủ từ xa đã được đặt tên là "SERV_REMOTE" và sysservers chứa các thông tin sau đây: srvid srvstatus srvname srvnetname ----- --------- --------------- ------------ ... 1 1 SERV_LOCAL SERV_LOCAL 2 1 SERV_REMOTE SERV_REMOTE Trong đầu ra trước, SERV_LOCAL là máy chủ cục bộ, nhưng nó có một srvid của 1; cần phải có 0. Để sửa lỗi này, hãy làm theo các bước sau đây:

  1. Chạy sp_dropserver local_server_name, droplogins (trong ví dụ này, bạn sẽ chạy sp_dropserver SERV_LOCAL, droplogins).

  2. Chạy sp_addserver local_server_name, địa phương (trong ví dụ này, bạn sẽ chạy sp_addserver SERV_LOCAL, cục bộ).

  3. Dừng và khởi động lại SQL Server.

Sau khi chạy các bước này, bảng sysservers sẽ trông giống như sau: srvid srvstatus srvname srvnetname ----- --------- --------------- ------------ ... 0 0 SERV_LOCAL SERV_LOCAL 2 1 SERV_REMOTE SERV_REMOTE Lưu ý rằng ID máy chủ (srvid) phải là 0 cho máy chủ cục bộ.

Thông tin Bổ sung

Bạn có thể nhận được thông báo lỗi này khi cài đặt nhân rộng vì quá trình cài đặt làm cho các cuộc gọi thủ tục từ xa giữa các máy chủ liên quan đến việc sao chép.

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×