Team Foundation FAQ

    Debate general

  • (This is a growing document.  The reporting team will add more items from time to time.)

    Q: In reporting services, how come there are two data sources: TfsReportDS and TfsOlapReportDS?
    They are actually different, TfsReportDS points to the relational database(the warehouse) whereas the TfsOlapReportDS points to the analysis services database(the cube). They just happen to have the same name. If you browse to your report server and click on each one of the datasources, you will notice that the Connection type for TfsReportDS is "Microsoft SQL Server" and the Connection type for TsfOlapReportDS is "Microsoft SQL Server Analysis Services".

    Q: How to re-create TfsReportDS and TfsOlapReportDS?
    It is quite easy to re-create them by following these steps:
    - browse to
    - Click on New DataSource and fill up the information

    - For TfsOlapReportDS:
                  - Connection type: Microsoft SQL Server Analysis Services
                  - Connection String: Data source=DataTierMachineNameGoesHere;initial catalog=TFSWarehouse
                  - Credentials: Use "Credentials stored in the report server, specify your service account and its password and check the first check box: "Use as Windows credentials when connecting to the data source"

    For TfsReportDS: Everything is the same except the Connection type which should be set to Microsoft SQL Server.

    Q: How to report on checkin policy override?


    Q: Can you explain the security design of reporting?
    Below is an explanation of all the accounts and components involved:


    o        There are two accounts involved:

    o        TFSService account (the one you use in running the TFS app pool on the AT)

    o        TFSReports account (will be explained later)

    o        There are 5 components involved:

    a)       Relational database TfsWarehouse (on DT)

    §         It contains two security roles:

                                                             i.            TfsWarehouseDataReader  - The account TFSReports should be in this role.  It allows READ access to the database

                                                           ii.            TfsExecRole – The account TFSService should be in this role.  It allows R/W access.

    b)       OLAP database TfsWarehouse (on DT, SQL AS2005 running as Network Service)

    §         It contains:

                                                             i.            One database role TfsWarehouseDataReader – The account TFSReports should be in this role.  It allows READ access to the database.

                                                           ii.            TFSService has server wide permission on the whole AS server.

    c)       TFS Warehouse IIS web application (on AT, running in Team Foundation AppPool, which runs under the TFSService account)

    d)       Reporting Services (on AT, running as Network Service, on AT/DT, running as Local System)

    §         Inside RS, you will find two data sources:

                                                             i.            TfsReportDS – Used to connect to (a) using the credential TFSReports

                                                           ii.            TfsOlapReportDS – Used to connect to (b) using the credential TFSReports

    e)       TfsServerScheduler:

    §         An NT service running on the AT.

    o        How they interact:

    1.       Every hour TfsServerScheduler (e) will call the Warehouse web application (c) to pump data into the relational warehouse (a)

    ·       Note: (c) is running under TFSService, which is included in TfsExecRole (a)(ii).

    2.       Warehouse web application (c) will then build the Team System cube in the OLAP database TfsWarehouse (b) using the data stored in (a).

    ·       Note: Again, TFSService has permission to write to (b) because of (b)(ii)

    3.       All the reports are stored in the Reporting Services (d).  When a user view a report, the report will connect to (a) and (b) using the data sources (d)(i) and (d)(ii).

    ·       Note: The data sources can connect because of (a)(i) and (b)(i)



    o        Other notes:

    1.       The account TFSReports will also be stored in a config table in (a).  Use this SQL script to view it.  You may need to fix it on your machine if we change account.


    SELECT [ID], [Setting]

    FROM [TfsWarehouse].[dbo].[_WarehouseConfig]


    Q: What if I am getting ThreadAbortException regularly when processing the warehouse?
    If the warehouse processing takes more than 20 mins, and in those 20 mins there have been no web request sent to the warehouse app-pool, then IIS will shutdown the tfs warehouse application.  You can solve this problem by moving the Warehouse application to a separate app-pool to avoid the memory limit and w3wp recycling problem:

    1.       In IIS manager, go to “Application Pools”, right-click and choose “New\Application Pools”.

    2.       In the “Add New Application Pool” dialog box:

    3.       In Application pool ID, put “TFS Warehouse AppPool”

    4.       Choose “Use existing application pool as template”, and choose “TFS AppPool”

    5.       Go to the Properties of the new app pool and uncheck all the boxes on the “Recycling” tab.

    6.       In IIS manager, go to Web Sites\Team Foundation Server\Warehouse, right click and choose Properties, and on the “Virtual Directory” tab, choose “TFS Warehouse AppPool” in Application pool

    Q: What if I find a red X on Reports Node in Team Explorer?
    If you can navigate to http://<server>/reports from the client in IE, the next thing to check is that the Team Explorer is using the same URL when trying to connect.  One way to do this is to look for the BaseReportsUrl key inside the RegProxyFileCache.xml file on any client.  The file can be found here: \Documents and Settings\<user>\Local Settings\Application Data\Microsoft\Team Foundation\1.0\Cache\<server GUID>_http.


    Q: Where can I find help for Team Foundation?
    Q: I have specific questions on how to make a report. Where can I look?
    To create a new report you can look here:
    For questions on report making, check out the SQL Reporting Services forum:
    Documentation for SQL Reporting Services is here:
    are the steps to add the data sources and how to modify the query and report parameters so the queries work.

    Q: Are videos to show me how to create custom reports?
    Q: How can I create a report server project for TFS?

    Open Visual Studio Editor:
      Start -> All Programs -> Microsoft SQL Server 2005 -> SQL Server Business Intelligence Development Studio
        ** This also may be under Microsoft Visual Studio 2005 if you have that installed.

    Create a new project:
      File -> New -> Project
      On "New Project" dialog
        Select "Business Intelligence Projects" under Project types.
        Select "Report Server Project" under Templates.
        Enter Name, Locations, Solution Name, ...

    Create the data sources:
      In the Solution Explorer pane:
        Right click on "Shared Data Sources" -> "Add New Data Source"
      On the "Shared Data Source" dialog
        On the General Tab:
          Name: TfsOlapReportDS
          Type: "Microsoft SQL Server Analysis Services"
          Next to Connection String text region click "Edit..."
          On the "Connection Prpperties" dialog:
            Server name: <Report Server Name>
            Click the Down arrow under "Connect to a database" - this can take a little bit to populate, wait until the dropdown appears
            Select "TFSWarehouse"
            Click "Test Connection"
              This pops up a dialog indicating the connection is good.

      Repeat these steps to create the TfsReportDS (Microsoft SQL Server) data source.  Select the TFSWarehouse for the database as well (they have the same name).

    Edit the deployment properties for the project
      In the Solution Explorer pane:
        Right click the project (above Shared Data Sources) and select Properties
        On the <Project Name> Property Pages dialog:
          In the left pane select Configuration Properties -> General
          In the right pane, under Deployment set:
            OverwriteDataSources: False
            TargetDataSourceFolder: /
            TargetReportFolder: /<TFS Project Name>/
              ** This is not your Report Project - this is the name of the TFS project this report is for.
    http://<Report Server Name>/ReportServer

    Add a Report:
      In the Solution Explorer pane:
        Right click on "Reports" -> Add -> New Item
        On the "Add New Item - <Project Name>" dialog
          Select "Report Project" in the Categories pane and "Report" in the Templates pane.
          Enter a name for the report

    Q: Where can I find information to help me understand the TFS Cube?
    There is a great post by Jimmy Li (TFS Reporting Developer) - Understanding the TFS Cube
    Q: Where can I find information to get me started on developing reports?
    You can take a look at this blog post for resources:
    miércoles, 02 de mayo de 2007 17:27

Todas las respuestas