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

Last reviewed: July 11, 1997
Article 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
Resolution Type : kbworkaround


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 11, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.