Microsoft KB Archive/171291

From BetaArchive Wiki
< Microsoft KB Archive
Revision as of 15:35, 18 July 2020 by 3155ffGd (talk | contribs) (importing KB archive)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Base


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

Article ID: 171291

Article Last Modified on 10/16/2003



APPLIES TO

  • Microsoft SQL Server 6.5 Standard Edition



This article was previously published under Q171291

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 kbprb kbusage KB171291