Microsoft KB Archive/217395

= You receive an "Error 18482" error message when you try to make a remote procedure call (RPC) from one server to another in SQL Server =

Article ID: 217395

Article Last Modified on 12/15/2005

-

APPLIES TO


 * Microsoft SQL Server 6.5 Standard Edition
 * Microsoft SQL Server 7.0 Standard Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2005 Standard Edition
 * Microsoft SQL Server 2005 Developer Edition
 * Microsoft SQL Server 2005 Enterprise Edition

-



This article was previously published under Q217395



SYMPTOMS
When attempting a remote procedure call (RPC) from one server to another (for example, by executing a stored procedure on a remote computer with a statement such as EXEC SERV_REMOTE.pubs..byroyalty), you may receive the following error message:

Error 18482: Unable to connect to site '0' because '' is not defined as a remote server at the site.

Note If you are using Microsoft SQL Server 2005, you may receive the following error message:

Error 18482: Could not connect to server < > because < > is not defined as a remote server. Verify that you have specified the correct server name.



CAUSE
This error occurs when SQL Server cannot execute a remote procedure call. This can be caused by an improperly configured local server. To make a remote procedure call, SQL Server first determines who the local server is by looking for the server name with srvid = 0 in sysservers. If an entry with srvid = 0 is not found in sysservers, or if the server name with srvid = 0 belongs to a server name that is different from the local Windows NT computer name, you will receive the error.



WORKAROUND
To determine if the local server is configured correctly, examine the srvstatus column in master..sysservers. This value should be 0 for the local server.

For example, suppose your local server was named "SERV_LOCAL", the remote server was named "SERV_REMOTE", and sysservers contained the following information:   srvid srvstatus      srvname            srvnetname - -     ---        ...   1     1              SERV_LOCAL         SERV_LOCAL 2    1              SERV_REMOTE        SERV_REMOTE In the preceding output, SERV_LOCAL is the local server, but it has a srvid of 1; it should be 0. To correct this, follow these steps:
 * 1) Run sp_dropserver , droplogins (in this example, you would run sp_dropserver SERV_LOCAL, droplogins).
 * 2) Run sp_addserver , LOCAL (in this example, you would run sp_addserver SERV_LOCAL, LOCAL).
 * 3) Stop and restart SQL Server.

After running those steps, the sysservers table should look like the following:   srvid srvstatus      srvname            srvnetname - -     ---        ...   0     0              SERV_LOCAL         SERV_LOCAL 2    1              SERV_REMOTE        SERV_REMOTE Note that server ID (srvid) should be 0 for the local server.



MORE INFORMATION
You may receive this error message when installing replication because the installation process makes remote procedure calls between the servers involved in replication.

Additional query words: rpcs

Keywords: kbprb KB217395

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.