PRB: Cuando se ejecutan como usuario SA no error 1314 provocados por xp_cmdshell

Seleccione idioma Seleccione idioma
Id. de artículo: 248391 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Recibirá el error siguiente al ejecutar un trabajo operating system a través de xp_cmdshell al iniciar sesión en SQL Server como una cuenta non-sa:
Msj 50001, nivel 1, estado 50001
xpsql.c: error 1314 de LogonUser en línea 476
Como alternativa, puede recibir los siguientes:
Msj 50001, nivel 1, estado 50001
xpsql.c: error 1314 desde CreateProcessAsUser en línea 492

Causa

Estos errores se producen debido a sus derechos errantes establecer en la cuenta SQLAgentCmdExec Windows NT que MSSQLServer se ejecuta en.

Solución

Asegúrese de que la cuenta Windows NT que se está ejecutando el servicio MSSQLServer en es una cuenta de dominio que sea un miembro del grupo Administradores locales en el servidor.

Asegúrese de que la cuenta que el servicio MSSQLServer se ejecuta, así como SQLServerAgent, tiene los permisos de derechos de usuario siguiente:
  • Actuar como parte del sistema operativo.
  • Aumentar las cuotas.
  • reemplazar el testigo de proceso.
  • Inicie sesión como un trabajo por lotes.
Además, asegúrese de que la cuenta SQLAgentCmdExec local tiene permisos "Inicio de sesión como un trabajo por lotes".

Nota : debe reiniciar todo el servidor, no sólo los servicios de SQL, en orden para los cambios realizados en derechos de usuario permisos surtan efecto.

Más información

Xpsql.c se incluye en el código de ejemplo que se incluye con el producto. El error en línea 476 obtiene produce si la llamada a la función API de Win32: LogonUser() se produce un error. Obtiene generará el error en 492 si falla la llamada a CreateProcessAsUser().

Error 1314 es ERROR_PRIVILEGE_NOT_HELD. Esto indica que la cuenta invocar estas funciones no tiene suficientes derechos de usuario para completar el inicio de sesión. Esto conduce a muchos clientes para restablecer los privilegios de cuenta en la cuenta SQLAgentCmdExec o volver a crearlo mediante Administrador de usuarios o Administrador corporativo de SQL.

Sin embargo, ¿qué es provocar estos errores es el proceso que está invocando a las llamadas de API (sqlservr.exe). Por lo tanto, es la cuenta que se está ejecutando el servicio MSSQLServer en que contiene los privilegios insuficientes y incorrectos. Para ejecutar correctamente LogonUser() , la cuenta de MSSQLServer debe tener la SE_TCB_NAME (actuar como parte del sistema operativo) derecha habilitado. Para ejecutar correctamente CreateProcessAsUser(), la cuenta de MSSQLServer debe tiene derechos SE_INCREASE_QUOTA_NAME (aumentar cuotas) habilitados.

Nota : para ciertos tipos de procesos, CreateProcessAsUser() también puede requerir SE_ASSIGNPRIMARYTOKEN_NAME (reemplazar un testigo de proceso) se convierta en.

Propiedades

Id. de artículo: 248391 - Última revisión: viernes, 17 de octubre de 2003 - Versión: 3.1
La información de este artículo se refiere a:
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palabras clave: 
kbmt kbbug kbprb KB248391 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 248391

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com