SQL error help for executing EXEC SQL
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:
"DBIF_DSQL2_SQL_ERROR"
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.
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 Symptom 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 2000/2003. Prerequisites for problem c) SapMssXPUser (or other proxy account) has a password longer then 15 charcters. Solution 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 installation. 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 menu. 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. ________________________________________________________________________