Knowledge Base

PRB: Issuing RPC to Local Server Executing Sp_sqlexec May Fail

Article ID: 179149

Article Last Modified on 10/3/2003


APPLIES TO


This article was previously published under Q179149

SYMPTOMS

Executing the sp_sqlexec stored procedure through a remote procedure call (RPC) to the local server will fail with message 18484 if all of the following conditions are true:
  • SQL Server is using Mixed or Standard security.
  • SQL Server startup is set to a domain user or System account.
  • The system administrator (SA) login password is not null.
  • The client is using a trusted connection.
For example, if the following statement is executed on local server LOSERVER
   exec LOSERVER.master..sp_sqlexec "select * from sysprocesses"
				

The following error message will appear:
Msg 18484, Level 14, State 1
Unable to connect to site 'LOSERVER' because login failed.

WORKAROUND

To work around this problem, do any one of the following:
  • Add logic in the application to not issue an RPC with sp_sqlexec if the target server is the local server.
  • Use the EXEC statement instead of the sp_sqlexec stored procedure.
  • Connect to SQL Server using Standard security instead of a trusted connection.
  • Only use Integrated security.

Additional query words: execrpc st proc stproc

Keywords: kbprb KB179149