El trabajo de SQL Server Agent syspolicy_purge_history puede fallar en SQL Server 2008

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

En esta página

Síntomas

En Microsoft SQL Server 2008, el trabajo de SQL Server Agent syspolicy_purge_history puede fallar al ejecutar el trabajo syspolicy_purge_history en una instancia agrupada. Puede recibir un mensaje de error similar al siguiente en el archivo de registro histórico para el trabajo syspolicy_purge_history :
Fecha datetime
Registro de historial de trabajos (syspolicy_purge_history)

ID. paso 3
Servidor SQLVirtualName \ instancename
Nombre del trabajo syspolicy_purge_history
Paso nombre Borrar estado de sistema fantasma registros.
Duración 00: 00: 33
Gravedad de SQL 0
ID. de mensaje de SQL 0
Operador enviado por correo electrónico
Operador de red enviado
Operador paginado
0 Intentos de reintentos

Mensaje
Ejecutar como usuario: user. La secuencia de comandos trabajo encontró los siguientes errores. Estos errores no detuvieron la secuencia de comandos: un paso de trabajo recibió un error en la línea 1 en una secuencia de comandos de PowerShell. La línea correspondiente es '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '.

Corrija la secuencia de comandos y volver a programar el trabajo. La información de error devuelta por PowerShell es: ' error de proveedor de SQL Server PowerShell: no se pudo conectar con ' SQLVirtualName \ instancename '. [No se pudo conectar al servidor SQLVirtualName \ instancename.--> error ha producido al establecer una conexión con el servidor.

Cuando se conecte a SQL Server 2005, este error puede deberse a que el hecho de la configuración predeterminada de SQL Server no permite conexiones remotas. (Provider: Named Pipes Provider, error: 40-Could Not Open a Connection to SQL Server)] No se pudo conectar al servidor SQLVirtualName \ instancename. Error al establecer una conexión con el servidor. Cuando se conecte a SQL Server 2005, este error puede deberse a que el hecho de la configuración predeterminada de SQL Server no permite conexiones remotas. (proveedor: con el proveedor de canalizaciones, error: 40 - no se puede abrir una conexión a SQL Server) '

Un paso de trabajo recibió un error en la línea 1 en una secuencia de comandos de PowerShell. La línea correspondiente es '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija la secuencia de comandos y volver a programar el trabajo. La información de error devuelta por PowerShell es: 'No se encuentra la ruta de acceso' SQLSERVER:\SQLPolicy\ SQLVirtualName \ instancename ' porque no existe. ' Un paso de trabajo recibió un error en la línea 1 en una secuencia de comandos de PowerShell. La línea correspondiente es '(Get-Item SQLSERVER:\SQLPolicy\SQLVirtualName\instancename).EraseSystemHealthPhantomRecords() '. Corrija la secuencia de comandos y volver a programar el trabajo. La información de error devuelta por PowerShell es: ' no puede llamar a un método en una expresión con valores null. '. Código de salida de proceso-1. Error en el paso.

Causa

Este problema puede producirse si el trabajo syspolicy_purge_history utiliza el nombre del nodo de equipo en lugar del nombre de servidor virtual para la instancia de clúster.

Solución

Para resolver este problema, utilice uno de los métodos siguientes.

Método 1: Modificar el trabajo syspolicy_purge_history

Editar el paso 3 del trabajo syspolicy_purge_history . Para ello, siga estos pasos:
  1. Inicie SQL Server Management Studio.
  2. Expanda Agente SQL Server y, a continuación, expanda proyectos .
  3. Haga clic con el botón secundario del mouse en syspolicy_purge_history y, a continuación, haga clic en Propiedades .
  4. Haga clic en los pasos .
  5. Haga clic en Borrar registros de estado de sistema fantasma y, a continuación, haga clic en Modificar .
  6. En el cuadro comando , reemplace el nombre del nodo de equipo utilizando el nombre de servidor virtual para la instancia de clúster.
  7. Haga clic en Aceptar y, a continuación, haga clic en Cerrar .

Método 2: Volver a crear el trabajo syspolicy_purge_history

Para volver a crear el trabajo syspolicy_purge_history , ejecute la siguiente instrucción de Transact-SQL.
DECLARE @jobId uniqueidentifier

-- Obtain the current job identifier that is associated with the PurgeHistory
SELECT @jobId = CAST(current_value AS uniqueidentifier)
FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the job identifier association in the syspolicy configuration

DELETE FROM msdb.dbo.syspolicy_configuration_internal
WHERE name = N'PurgeHistoryJobGuid'

-- Delete the offending job
EXEC msdb.dbo.sp_delete_job @job_id = @jobId

-- Re-create the job and its association in the syspolicy configuration table
EXEC msdb.dbo.sp_syspolicy_create_purge_job

Más información

En el programa de instalación de SQL Server 2008, la lista de comandos consulta el motor de base de datos para el nombre de equipo. Cuando las consultas de secuencia de comandos de instalación para el nombre de equipo, el motor de base de datos no es consciente del clúster. Por lo tanto, el motor de base de datos devuelve nombre de equipo instead of el nombre del clúster.

Propiedades

Id. de artículo: 955726 - Última revisión: jueves, 19 de marzo de 2009 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
Palabras clave: 
kbmt sql2008relnotetools sql2008relnote kberrmsg kbtshoot kbprb KB955726 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): 955726

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