PRB: Non SA CmdExec Task or Xp_cmdshell May Cause Error 1314

ID: Q171291


The information in this article applies to:
  • Microsoft SQL Server version 6.5


SYMPTOMS

If you run CmdExec tasks while not logged on as the system administrator (SA), you may receive the error message below. This error is reported in the task history, as well as in the Application Log of Windows NT Server's Event Viewer:

A problem occurred while attempting to logon as the Windows NT user
'SQLExecutiveCmdExec': A required privilege is not held by the client.

If you run xp_cmdshell while not logged on as the SA, you may receive the following error message:
xpsql.c: Error 1314 from LogonUser on line 359


CAUSE

The SQL Executive service (for CmdExec tasks) or the MSSQLServer service (for xp_cmdshell tasks) is not running under an account with the permissions documented in the "MSSQLServer Service and SQL Executive Requirements" topic of the SQL Server Books Online. You can find this topic in Part 2, "What's New for Setup," of the "What's New in SQL Server 6.5" book, under "Platform Support" and "Running on Windows NT 3.51 or Later."


WORKAROUND

To work around this problem for CmdExec tasks, use either of the following methods:

  • If the task can be owned by the SA, re-create the task using an SA login.

    -or-


  • Re-create the permissions on the SQL Executive service account by using the following steps:

    1. Use SQL Enterprise Manager to set up the SQL Executive service to run under the same account again, which will reset the permissions required.


    2. Stop and restart the SQL Executive service.




To work around this problem for xp_cmdshell, use either of the following methods:
  • Disable the "xp_cmdshell - Use SQLExecutiveCmdExec Account for Non SAs" option in SQL Enterprise Manager or SQL Setup.


  • Re-create the permissions on the SQL Server service account by using the following steps:

    1. Use SQL Enterprise Manager to set up the SQL Executive service to run under the account that the MSSQLServer service is running under, which will reset the permissions required.


    2. Change the SQL Executive service back to its original account.


    3. Stop and restart the MSSQLServer service.




Additional query words: SQLExecutive

Keywords : kbenv kbusage SSrvAdmin SSrvEntMan SSrvGen
Version : 6.5
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: April 15, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.