El Asistente para la configuración de tecnologías de SharePoint Products y se produce un error después de instalar cualquier actualización acumulativa o service pack para Project Server 2007 que se publicó en octubre de 2008 o posterior

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

Síntomas

Después de instalar cualquier actualización acumulativa o se produce un error en el service pack para Microsoft Office Project Server 2007 que se publicó en octubre de 2008 o posterior, los productos y Asistente para configuración de tecnologías de SharePoint. Además, la siguiente mensaje de error graba en el archivo Upgrade.log:

? Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() ? la instrucción DELETE están en conflicto con la restricción REFERENCE "FK_MSP_TimesheetLine_TaskNameUID". Se produjo el conflicto en la base de datos "TaskConsistency_ <instance_name> _Reporting", tabla "dbo.MSP_TimesheetLine", la columna 'TaskNameUID'. La instrucción se ha terminado. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.Office.Server.Data.SqlSession.ExecuteScript(TextReader textReader, Int32 commandTimeout) at Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql(String sql, Int32 commandTimeout) at Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql(String sql)at Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() at Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade()
Nota De forma predeterminada, el archivo Upgrade.log está en la siguiente carpeta: %ProgramFiles%\Archivos comunes\Microsoft Shared\Web Server Extensions\Logs\

Causa

Este problema se produce debido a una condición muy específica en la base de datos de informe. En un número muy pequeño de los casos, puede haber registros duplicados en la base de datos de informe. Estos registros duplicados pueden provocar Asistente la SharePoint Technologies para configuración de productos y un error.

Solución

Antes de instalar cualquier actualización acumulativa de Project Server 2007 o el service pack que se publicó en octubre de 2008 o posterior, utilice la siguiente secuencia de comandos para comprobar la condición en la base de datos de informe.

Notas
  • Ejecute esta secuencia de comandos de detección sólo una vez. Si recibe una respuesta positiva a continuación, ejecute la secuencia de comandos de recuperación. No ejecute la secuencia de comandos de detección de una segunda vez porque se mostrará un positivo nuevo aunque ya no hay un problema. Si ejecuta la secuencia de comandos de detección de una segunda vez y aún obtener un resultado positivo, es un falso positivo y esto es así por diseño. Se ha programado la secuencia de comandos de detección a ser muy sensibles a ninguna indicación del problema que hace que el error. Sin embargo, la secuencia de comandos de corrección, es detectado en solucionar el problema exacto que causa el error. Si se vuelva a ejecutar la secuencia de comandos de detección, es posible que todavía hay algunos poco detalle en la base de datos que es de picking, pero la secuencia de comandos de corrección se han corregido ya la raíz del error.
  • Si tiene una instalación predeterminada de Project Server, el nombre de la base de datos se denomina ProjectServer_Reporting. También puede comprobar el nombre de la base de datos de informe que está asociado con su sitio Web de Project Server mediante el sitio Web de administración central de SharePoint.

IF
(
      SELECT
            DuplicatesCount = COUNT(*)
      FROM  (
                        -- Returns the TaskUID and the Latest date that are duplicates, along with the number of times they are duplicated
                        SELECT
                              TSTask.TaskUID,
                              TSTask.LatestDate,
                              DuplicatesCount = COUNT(TSTask.TaskNameUID)
                        FROM (
                                          -- This will return a 'copy' of the MSP_TimesheetTask table, but with the TaskUID fixed (by looking at the Assignments table)
                                          SELECT
                                                distinct(MSP_TimesheetTask.TaskNameUID), --Distinct, because when joining with lines we will have one row for each line, and so on
                                                MSP_TimesheetTask.LatestDate,
                                                TaskUID = ISNULL(MSP_EpmAssignment.TaskUID, MSP_TimesheetTask.TaskUID)
                                          FROM dbo.MSP_TimesheetTask
                                          LEFT OUTER JOIN MSP_TimesheetLine
                                                ON MSP_TimesheetLine.TaskNameUID = dbo.MSP_TimesheetTask.TaskNameUID
                                          LEFT OUTER JOIN dbo.MSP_TimesheetProject
                                                ON MSP_TimesheetLine.ProjectNameUID = MSP_TimesheetProject.ProjectNameUID
                                          LEFT OUTER JOIN dbo.MSP_EpmAssignment
                                                ON MSP_EpmAssignment.ProjectUID = MSP_TimesheetProject.ProjectUID AND
                                                      MSP_EpmAssignment.AssignmentUID = MSP_TimesheetLine.AssignmentUID
                                ) AS TSTask
                        GROUP BY TSTask.TaskUID, TSTask.LatestDate --Define groups: all the rows that have the same TaskUID and LatestDate
                        HAVING COUNT(TSTask.TaskNameUID) > 1 --See if we have any groups that have more than one row in them. If there are this means the old upgrade will fail.
                  ) AS Duplicates
) > 0
      PRINT 'A correctable data issue has been detected.  Please run the data correction script before upgrading your installation.'
ELSE
      PRINT 'No data issues were detected.  You can continue with your upgrade.'
Si esta secuencia de comandos proporciona un resultado positivo, póngase en contacto con soporte técnico de Microsoft para obtener ayuda acerca de cómo resolver este problema.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Si se trata de un problema para su implementación, sólo será un problema una vez. Por tanto, no es necesario que ejecutar esta secuencia de comandos si se cumple alguna de las condiciones siguientes:
  • Se implementó correctamente cualquier actualización acumulativa de Project Server 2007 que se publicó en octubre de 2008 o posterior.
  • 2007 Office Servers Service Pack 2 se implementó correctamente.

Propiedades

Id. de artículo: 971217 - Última revisión: viernes, 30 de octubre de 2009 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft Office Project Server 2007
Palabras clave: 
kbmt kbexpertiseinter kbtshoot kbsurveynew kbprb KB971217 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): 971217

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