Solucionar problemas sobre el almacén de datos
Actualización: noviembre 2007
En este tema se indican los problemas comunes que se pueden producir al trabajar con el almacén de datos de Team Foundation Server.
Los datos dejan de fluir del almacén operativo al almacén de datos
Los datos de un informe están obsoletos y no parecen estar actualizados
Si no puede resolver un problema después de revisar estas sugerencias y las del tema de Ayuda individual para cada mensaje de error, visite los foros de Visual Studio Team System en el sitio web de Microsoft Estos foros proporcionan subprocesos en los que se puede buscar información sobre una variedad de temas de solución de problemas y que se supervisan para proporcionar respuestas rápidas a sus preguntas.
Los datos dejan de fluir del almacén operativo al almacén de datos
Si sospecha que los datos han dejado de fluir al almacén de datos desde el almacén operativo, puede solucionar el problema de la siguiente manera:
Confirme que el flujo de datos se ha detenido realmente.
Identifique en qué adaptador se produjo el error.
Los procedimientos siguientes le ayudarán a solucionar el problema.
Para confirmar que los datos han dejado de fluir
Realice una o varias de las modificaciones siguientes:
Proteja un archivo modificado en el control de código fuente.
Actualice un elemento de trabajo.
Publique un resultado de pruebas.
Haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft SQL Server 2005 y, a continuación, haga clic en SQL Server Management Studio.
En la lista Tipo de servidor, en el cuadro de diálogo Conectar con el servidor, seleccione Motor de base de datos y, a continuación, haga clic en Conectar.
En Microsoft SQL Server Management Studio, haga clic en Nueva consulta.
Confirme que el cambio aparece en las tablas adecuadas ejecutando la consulta siguiente:
select * from [work item] where id = [select max[id] from [work item] ]
Si el cambio no aparece, los datos han dejado de fluir.
Para identificar el adaptador donde está el error
En un editor de texto, abra \Archivos de programa\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\Warehouse\Web.Config.
En la línea <add name="General" value="0" />, reemplace "0" por "3" y guarde los cambios.
Este cambio habilita los mensajes de depuración.
En el equipo de nivel de aplicación para Team Foundation Server, haga clic en Inicio y, a continuación, en Ejecutar.
En el cuadro Abrir, escriba inetmgr.
En el panel izquierdo del Administrador de Internet Information Services (IIS), haga clic en el nodo Team Foundation Server.
En el menú Acción, haga clic en Abrir.
Mediante un sistema que escuche los eventos de seguimiento del sistema, inicie el seguimiento en el nivel de aplicación.
Muchos programas de libre distribución proporcionan funciones de seguimiento y depuración mediante las funciones de seguimiento de .NET; también es posible crear aplicaciones personalizadas que ofrezcan esta funcionalidad. Para obtener más información sobre cómo usar las funciones de traza y depuración, vea "Trace Listeners" en el sitio web de Microsoft.
En el menú Capturar, seleccione todos los comandos de captura. Mantenga este programa abierto para ver todos los mensajes de DebugView.
En el panel izquierdo del Administrador de Internet Information Services (IIS), expanda el nodo Warehouse y, a continuación, haga clic en el nodo v1.0.
En el panel derecho, haga clic en warehousecontrolled.asmx.
En el menú Acción, haga clic en Examinar.
En ControllerService, haga clic en Ejecutar y, a continuación, en Invocar.
Utilizando su aplicación de supervisión del seguimiento desde el paso 7, revise el registro para comprobar si se han producido excepciones de seguimiento que indiquen cuál es el adaptador que no está funcionando correctamente.
Los datos de un informe están obsoletos y no parecen estar actualizados
Si sospecha que los datos de uno o más informes están obsoletos y no se actualizan, o si recibe el mensaje de error siguiente: "Error al procesar el informe. (rsProcessingAborted)" puede que haya un problema con la actualización automática del almacén de datos.
Los datos de los almacenes operativos (seguimiento de elementos de trabajo, control de versiones, generación y servicios de la integración) se extraen a una base de datos relacional (TfsWarehouse) y, a continuación, a un cubo OLAP, de manera programada. Los informes se procesan consultando el cubo. De forma predeterminada, el servicio de Windows denominado Programador de tareas de Visual Studio Team Foundation Server llama al servicio web del almacén de datos cada hora para iniciar el procesamiento del almacén de datos. El cubo y los informes deberían estar disponibles, puesto que este proceso continúa en segundo plano.
Antes de iniciar la solución de problemas, deberá ser un miembro del grupo de seguridad Administradores en el nivel de aplicación y en el nivel de datos. La base de datos y los cubos se encuentran en el nivel de datos, mientras que el sitio de servicios de informes y los informes se encuentran en el nivel de aplicación.
Puede solucionar el problema de la siguiente manera:
En el nivel de aplicación, desactive los errores descriptivos en Internet Explorer para que pueda ver todos los mensajes.
Compruebe que el servicio de Windows denominado Programador de tareas de Visual Studio Team Foundation Server se está ejecutando.
Este servicio envía una señal al servicio web del almacén de datos para que agregue los datos y procese el cubo. Los datos se extraen de todos los sistemas operacionales al almacén TFSWarehouse de la base de datos; desde aquí, los datos se procesan en el cubo.
Confirme el procesamiento de los datos extraídos al almacén de datos.
Procese manualmente el almacén de datos.
Examine los informes.
Los procedimientos siguientes le ayudarán a solucionar el problema.
Para desactivar el control de errores descriptivos en Internet Explorer
En el nivel de aplicación, inicie Internet Explorer.
En el menú Herramientas, haga clic en Opciones de Internet.
En el cuadro de diálogo Opciones de Internet, haga clic en la ficha Avanzadas.
Desactive la casilla Mostrar mensajes de error HTTP descriptivos.
Para confirmar que el servicio Programador de tareas de Visual Studio Team Foundation Server se está ejecutando
En el nivel de datos, haga clic en Inicio, elija Herramientas administrativas y, a continuación, seleccione Servicios.
En la ventana Servicios, desplácese a Programador de tareas de Visual Studio Team Foundation Server y confirme que en la columna Estado se muestra Iniciado.
Si no se ha iniciado el servicio, haga clic con el botón secundario del mouse en Programador de tareas de Visual Studio Team Foundation Server y, a continuación, haga clic en Iniciar.
Determine la vez más reciente que el programador llamó al almacén de datos para procesarlo; para ello, vaya a %Archivos de programa%\Microsoft Visual Studio 2008 Team Foundation Server\TfsServerScheduler.
El archivo XML de ese directorio registra la última vez que se intentó efectuar un procesamiento del almacén.
Para confirmar que el procesamiento extrajo datos del almacén de datos
Haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft SQL Server 2005 y, a continuación, haga clic en SQL Server Management Studio.
En la lista Tipo de servidor, en el cuadro de diálogo Conectar con el servidor, seleccione Motor de base de datos y, a continuación, haga clic en Conectar.
En Microsoft SQL Server Management Studio, haga clic en Nueva consulta.
Determine qué cantidad de datos han ido al cubo de datos ejecutando la consulta siguiente:
use TfsWarehouse select Setting as [Last Cube Processing] from _WarehouseConfig where ID = 'LastProcessedTime' -- total revisions in the relational warehouse use TfsWarehouse select top 1 LastUpdatedTime as [LastVCWHWrite] from dbo.[Code Churn] with (nolock) order by LastUpdatedTime desc select top 1 LastUpdatedTime as [LastWITWHWrite] from dbo.[Work Item History] with (nolock) order by LastUpdatedTime desc use TfsWarehouse select count(*) as [WH Revisions] from [dbo].[Work Item History] with (nolock) where [Record Count] <> -1 use TfsWorkitemTracking select count(*) as [WIT Revisions] from [dbo].[WorkitemsLatestAndWere] with (nolock) use TfsWarehouse select max ([Changeset ID]) as [WH Changeset] from [dbo].Changeset with (nolock) where DimensionMemberActive = 1 use TfsVersionControl select max(ChangeSetId) as [VC Changeset] from tbl_Changeset with (nolock) -- identities use TfsWarehouse select Property_Value as [Warehouse Identity Id] from _PropertyBag where Property_Key = 'CSS Identity Sequence Id' use TfsIntegration select max(sequence_Id) as [Integration Identity Id] from tbl_security_identity_cache -- structure use TfsWarehouse select Property_Value as [Warehouse Structure Id] from _PropertyBag where Property_Key = 'CSS Structure Sequence Id' use TfsIntegration select max(sequence_Id) as [Integration Structure Id] from tbl_nodes with (nolock)
Si no hay datos presentes, o si su grado de latencia es elevado, significa que el programador no emite la señal para el procesamiento o que existe un problema en el almacén de datos al agregar los datos.
Para procesar manualmente el almacén de datos
Inicie sesión en el nivel de aplicación.
Abra https://localhost:8080/Warehouse/v1 .0/warehousecontroller.asmx.
Haga clic en GetWarehouseStatus y, a continuación, haga clic en Invocar.
Espere a que el servicio deje de estar activo; debería devolver ProcessingAdapters (modificaciones del esquema), ProcessingOlap (modificaciones del esquema), ProcessingAdapters (extracción de datos), ProcessingOlap (procesamiento del cubo) y, a continuación, quedar inactivo.
Abra https://localhost:8080/Warehouse/v1 .0/warehousecontroller.asmx.
Haga clic en Run y, a continuación, haga clic en Invocar.
Se iniciará el procesamiento del almacén de datos. El servicio devuelve True o False para indicar si ha iniciado el procesamiento (de manera asincrónica).
Puede repetir el paso 3 para supervisar el procesamiento.
Para efectuar una comprobación, puede repetir el paso 2 para validar si se han movido los datos; si hay un problema, vea los procedimientos "Para recopilar los datos de error" en la sección siguiente, correspondientes al intervalo de tiempo del procesamiento.
Para abrir los informes
En Team Explorer, expanda el nodo Informes y, a continuación, busque en los distintos informes de equipo.
Cada informe contiene la hora a la que se procesó el almacén de datos por última vez, con el formato siguiente:
Informe generado: dd/mm/aaaa hh:mm:ss por dominio\usuario; Actualización más reciente del almacén: dd/mm/aaaa hh:mm:ss
Los datos deberían estar actualizados y tener menos de una hora de antigüedad.
Si los datos tiene más de una hora, deshabilite el almacenamiento en caché para el informe:
En Internet Explorer, abra http://<servidor>/Informes/.
En el Administrador de informes, haga clic en el nombre del proyecto de equipo y, a continuación, haga clic en el informe.
Haga clic en la ficha Propiedades y, a continuación, en Ejecución.
Active No almacenar en caché copias temporales de este informe y haga clic en Aplicar.
Haga clic en la ficha Ver y vea el informe.
Para recopilar los datos de error
Revise el registro de eventos de la aplicación y determine si hay algún error, lo que se indica mediante una X roja, cuyo origen sea el almacén de datos. El error y la pila del error que figuran en ese registro de eventos pueden ayudarle a identificar el problema.
Si todos los pasos le conducen a errores, recopile la información de seguimiento para ayudar al especialista de soporte técnico o al miembro del equipo del producto a diagnosticar el problema.
Utilice una herramienta como DBMON para capturar el resultado de la depuración.
En un editor de texto, abra \Archivos de programa\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\Warehouse\Web.Config.
En la línea <add name="General" value="0" />, reemplace "0" por "4" y guarde los cambios.
Vea también
Tareas
Solución de problemas de Team Foundation Reporting
Otros recursos
Utilizar herramientas de la línea de comandos de Team Foundation Server