Problem solve Get help with specific problems with your technologies, process and projects.

SQL error help for executing EXEC SQL

Hi Giovanni,

We're on:

OS - Win2k with SP4
DB - SQL 2000 server with SP3
Application - SAP CRM Production Server

When I execute DB12 transaction on the CRM server, it gives a dump:


SQL error 50001 occurred when executing EXEC SQL.

What happened -- the error occurred in the current database connection "DEFAULT"?

Database error text :

"xpsql.cppp: Error 1314 from LogonUserW on line 620"

I tried to find SAP notes on the SAP service marketplace but had no success.

Good question! SAP Note 594508 has the answer to your problem. Please see below:

     SAP Note No. 594508                          08/11/2005           Page 1

     Number              594508
     Version             10 from 04/01/2005
     Status              Released for Customer
     Set on              04/01/2005

     Language            EN
     Master language     EN
     Short text          Setting up the proxy account for xp_cmdshell

     Responsible         SAP AG
     Component           BC-DB-MSS
                         Microsoft SQL Server

     Long text

     In a SAP developer trace file you may see SQL Error 50001. There are
     three different known problems which may cause this error:
     a) Msg 50001 ... Error 87 from GetProxyAccount on line 604
     b) Msg 50001 ... Error 1314 from CreateProcessAsUser on line 63
     c) Msg 50001 ... Error 1326 from LogonUserW on line 620

     Other terms
     MSSQL, MSS, MS SQL Server
     GetProxyAccount, SapMssXPUser, xp_cmdshell
     LogonUserW, CreateProcessAsUser
     50001, 87, 1314, 1326

     Reason and Prerequisites
     Prerequisites for problem a)
     SAP system with 620 kernel
     SAP system in a database schema other then "dbo" with 610 or 46D kernel

     Prerequisites for problem b)
     SQL Server Service is running under a Windows account with insufficient
     user rights on Windows 2000. The problem does not occur if the SQL
     Server service is running under the Local System account.
     Since the problem can only happen on a SAP system in a database schema
     other then "dbo" , it will only occur on SQL Server 2000 and Windows

     Prerequisites for problem c)
     SapMssXPUser (or other proxy account) has a password longer then 15

     Solution for problem a)
     SAP R/3 based systems on MS SQL Server with 620 kernel and mcod systems
     with 610 or 46D kernel are installed in a separate database schema.
     Internally a special sql login created for this schema is used to access
     the data. As this login is not assigned to the System Administrator
     server role it cannot execute xp_cmdshell command which is used in the
     SAP monitoring without explicit permissions.
     Because of a bug this permissions are not configured properly during the
                                                                       Page 2

     Following products on 620 basis are exception from this rule: nonunicode
     WebAS620, BW30B and EBP35. These products are installed in the dbo
     schema if "standard mode" is selected during the installation. The error
     described here cannot appear on such systems.

     Please, proceed as follows to check and set the correct permission:
     1. In the Enterprise Manager open sub-tree "Management" for your server.
     2. Right click SQL Server Agent and select "Properties" in the context
     3. Go to the tab "Job System".
     4. If the check box "Only users with SysAdmin privileges can execute
     CmdExec and ..." is checked - uncheck it.
     5. In the dialog "SQL Agent proxy account" which appears after you
     uncheck the box specify the SapMssXPUser account and its password. This
     is a local administrator account created by the SAP installation
     procedure especially for this purpose.

     In a cluster installation one has to use a domain user for the proxy
     account. The local user SapMssXPUser created by the installation is not
     suitable for this purpose.
     Please do the following in a cluster:
     1. Delete the local user SapMssXPUser created by the installation.
     2. Create a domain user (you can also use an existing one). Name of the
     user is not of concern.
     3. Assign this user to the local administrators group on both nodes of
     the cluster.
     4. Use enterprise manager as described above to set the created account
     to be used as SQL Agent proxy account.

     Solution for problem b)
     Add the user right "Increase quotas" to the Windows account, which is
     used to run the SQL Server service.
     You can do this by means of Windows "Administrative Tools"
     => "Local Security Settings"
     => "Local Policies"
     => "User Rights Assignment"
     => double click on "Increase quotas"
     => add the Windows account, which is used to run the SQL Server service

     Solution for problem c)
     This error can have multiple reasons:
     1) The password of the operating system user (SapMssXPUser) which is
     configured as a proxy account for MS SQL Server is longer then 14
     characters. Change the password to the value shorter then 15 characters.
     2) The system was clustered but the proxy account user was not
     configured for the cluster environment as described above.
     3) Except described situations, any problem which prevents your proxy
     account user to login to your database server can cause this error.

Dig Deeper on SAP Basis