(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Lösen von Schemakonflikten, die im Data Warehouse auftreten

Schemakonflikte treten auf, wenn in den verschiedenen Teamprojektauflistungen verschiedene Gruppen von Attributen für berichtsfähige Felder vorhanden sind. Wenn ein Schemakonflikt auftritt, werden Felder, die nicht in Konflikt, sind, wie üblich jedoch Felder, die im Konflikt sind, können NULL-Werte zugewiesen, bis Sie die Konflikte auflösen und dann, wie üblich verarbeitet verarbeitet. Außerdem wird vom System für jeden erkannten Konflikt ein Benachrichtigungsereignis generiert. Durch Abonnieren des Ereignisses, können Sie Warnungen empfangen, wenn Schemakonflikte für alle Teamprojekte auftreten, die für eine Auflistung definiert werden. Sie müssen alle Schemakonflikte korrigieren, um der Verarbeitung der zugeordneten Daten für das Warehouse die Blockierung aufzuheben und die zugeordneten Berichte zu aktivieren, um aktuelle Daten anzuzeigen.

Die gesamten berichtsfähigen Daten aller Teamprojekte, die in allen Projektauflistungen für eine Bereitstellung von Visual Studio Team Foundation Server definiert sind, werden in ein einzelnes relationales Data Warehouse geschrieben. Daten aus diesem Warehouse werden dann verarbeitet und in den Cube geschrieben. Durch das Sammeln von Daten in einem einzelnen Data Warehouse wird die teamprojektübergreifende Berichterstellung unterstützt. Da Felder jedoch für jede Projektauflistung separat verwaltet werden, können Schemakonflikte auftreten, wenn einem oder mehreren Attributen eines Felds, das demselben Berichtsverweisnamen zugewiesen wurde, unterschiedliche Definitionen zugewiesen werden.

In diesem Thema

Wenn ein Schemakonflikt auftritt, wird an den folgenden Orten eine Fehlermeldung angezeigt:

  • Im Ereignisprotokoll des Anwendungsebenenservers.

    Hinweis Hinweis

    In Team Foundation Server wird täglich im Ereignisprotokoll eine Fehlermeldung protokolliert, bis der Datenkonflikt aufgelöst wurde.

  • In einem Bericht, der mit den MSF-Prozessvorlagen bereitgestellt wird und der über den Berichts-Manager angezeigt wird.

  • In einem Dashboard, das mit den MSF-Prozessvorlagen bereitgestellt wird und das über das Projektportal angezeigt wird.

    Hinweis Hinweis

    Sie können ermitteln, ob ein Bericht oder ein Dashboard unlängst aktualisiert wurde, wenn Sie nach dem Zeitstempel Letzte Aktualisierung suchen, der in der rechten unteren Ecke der einzelnen Berichte und Dashboards angezeigt wird. Der Zeitstempel entspricht dem letzten Zeitpunkt, zu dem die Verarbeitung der einzelnen, für die Fertigstellung geplanten Warehouse-Adapteraufträge für die Projektauflistungen erfolgreich abgeschlossen wurde. Bei der Zeitstempelberechnung werden benutzerdefinierte Adapteraufträge eingeschlossen. Adapteraufträge, die für das Ausführen des Warehouse Control-Webdiensts gesperrt sind, werden ignoriert.

    Wenn ein Schemakonflikt verhindert, dass Daten für einen Bericht im Data Warehouse verfügbar sind, wird der Zeitstempel für den Bericht nicht aktualisiert.

Zusätzlich zu den aufgeführten Meldungen können Sie weitere Informationen abrufen, indem Sie den Vorgang GetProcessingStatus des Warehouse Control-Webdiensts verwenden. Weitere Informationen finden Sie unter Verarbeiten Sie manuell das Data Warehouse und den Analysis Services-Cube für Team Foundation Server.

Schemakonflikte treten auf, wenn ein Projektadministrator eine der folgenden Aktionen ausführt:

  • Fügt einem Arbeitsaufgabentyp in einer Projektauflistung ein berichtsfähiges Feld hinzu, und die diesem Feld zugewiesenen Attribute stimmen nicht mit denen in anderen Projektauflistungen überein.

  • Ändert ein einem Arbeitsaufgabenfeld zugewiesenes Attribut, das in mehreren Projektauflistungen verwendet wird, obwohl durch die Änderungen ein Konflikt mit den Zuweisungen in anderen Auflistungen auftritt.

    Hinweis Hinweis

    Ein Projektadministrator kann die aufgeführten Fehler nur vermeiden, indem er die Attributzuweisungen für Felder überprüft, die für mehrere Projektauflistungen einer Bereitstellung definiert wurden.

Fehler treten auf, wenn ein Feld in mehreren Projektauflistungen entweder über denselben Verweis- oder Berichtsverweisnamen verfügt und mindestens eines der folgenden Attribute für dieses Feld in mindestens zwei Auflistungen nicht übereinstimmt:

  • name: Der Anzeigename des Felds, der optional angezeigt wird, wenn Sie eine Arbeitsaufgabenabfrage erstellen.

  • reportingname: Der Name, der in Berichten angezeigt wird. Wenn Sie keinen Wert angeben, wird der Wert verwendet, der dem name-Attribut zugewiesen ist.

  • reportable/reportingtype: Ob die Daten des Felds in Berichte eingeschlossen werden können und gegebenenfalls der berichtsfähige Typ (z. B. None, Detail, Dimension oder Measure).

    Hinweis Hinweis

    Das FIELD-Element verwendet das Attribut reportable und der Befehl witadmin changefield das Attribut reportingtype. Diese Attribute definieren die gleichen Informationen.

  • type: Der für das Feld zulässige Datentyp (z. B. Integer, HTML, String, Double oder DateTime).

Die folgende Tabelle enthält Beispiele für Attributzuweisungen, die Schemakonflikte verursachen. In diesen Beispielen werden der Berichtsverweisname und der Berichtsname nicht zugewiesen.

Attribut

Projektauflistung 1

Projektauflistung 2

Schemakonflikt

Typ

Zeichenfolge

Integer (Ganze Zahl)

Datentypen stimmen nicht überein.

ReportingName

Aktivität

Allgemeine Aktivität

Berichterstellungsnamen stimmen nicht überein.

Berichtsfähig

Detail

Dimension

Berichterstellungstypen stimmen nicht überein.

Sie können das Ereignisprotokoll auf dem Anwendungsebenenserver überprüfen, um weitere Informationen zu dem Feld abzurufen, das einen Schemakonflikt verursacht. Nachdem Sie das Feld oder die Felder ermittelt haben, die den Konflikt verursachen, müssen Sie folgende Schritte ausführen:

  1. Überprüfen Sie die Attribute, die dem Feld für alle Projektauflistungen zugewiesen wurden. Sie können den Befehl witadmin listfields verwenden, der über die folgende Syntax verfügt:

    witadmin listfields /collection:CollectionURL /n:RefName [/unused]
    

    Weitere Informationen finden Sie unter Verwalten von Arbeitsaufgabenfeldern [witadmin].

  2. Legen Sie fest, mit welcher der folgenden Methoden der Konflikt aufgelöst werden soll:

    • Ändern Sie das Attribut für das Feld in einer Projektauflistung so, dass es mit den Zuweisungen in den anderen Projektauflistungen übereinstimmt. Sie sollten diese Aktion durchführen, wenn die Teams das Feld in ähnlichen Berichten auf identische Weise oder für die projektübergreifende Berichterstellung verwenden.

    • Benennen Sie den Berichtsverweisnamen des Felds um, das den Konflikt verursacht. Sie sollten diese Aktion durchführen, wenn die Felder auf unterschiedliche Weise verwendet werden, oder wenn Sie ein abweichendes Feld beibehalten müssen. In diesem Fall wird das Feld nicht von Teams verwendet, die in unterschiedlichen Projektauflistungen an einer projektübergreifenden Berichterstellung arbeiten.

      Weitere Informationen finden Sie unter Hinzufügen und Ändern von Arbeitsaufgabenfeldern zum Unterstützen von Berichten.

    • Markieren Sie ein Feld für eine oder mehrere Auflistungen als nicht berichtsfähig. Sie sollten diese Aktion durchführen, wenn das Feld nicht für Berichte über diese Projektauflistungen verwendet wird.

    • Entfernen Sie das Feld aus der Teamprojektsammlung. Sie sollten diese Aktion durchführen, wenn das Feld nicht für Teamprojekten oder Berichte verwendet wird.

      Hinweis Hinweis

      Wenn Sie ein Feld entfernen, das in einem Bericht verwendet wird, wird dieser nicht mehr ordnungsgemäß angezeigt.

  3. Ändern Sie das einem Feld zugewiesene Attribut anhand der im vorherigen Schritt getroffenen Entscheidungen. Sie können den Befehl witadmin changefield verwenden, der über die folgende Syntax verfügt:

    witadmin changefield /collection:CollectionURL /n:RefName [/name:NewName] [/syncnamechanges:true | false] [/reportingname:ReportingName] [/reportingrefname:ReportingRefName] [/reportingtype:Type] [/reportingformula:Formula] [/noprompt]
    
  4. Um ein Feld aus einer Projektauflistung zu löschen, können Sie den Befehl witadmin deletefield verwenden, der über die folgende Syntax verfügt:

    witadmin deletefield /collection:CollectionURL /n:RefName
    
    Wichtiger HinweisWichtig

    Wenn Sie ein Feld dauerhaft löschen, entfernen Sie das Feld und alle darin gespeicherten Daten aus dem Datenspeicher.

Sie können überprüfen, ob die Schemakonflikte aufgelöst wurden, indem Sie die Data Warehouses bei Bedarf verarbeiten und die Berichte prüfen, um zu ermitteln, ob diese aktualisiert wurden. Optional können Sie warten, bis die Warehouse-Adapteraufträge anhand des Standardzeitplans ausgeführt wurden. In der Standardeinstellung wird die relationale Datenbank alle paar Minuten verarbeitet. Der Analysis Services-Cube wird in der Standardeinstellung jedoch nur alle zwei Stunden verarbeitet.

Hinweis Hinweis

Weitere Informationen über den Warehouse Control-Webdienst finden Sie unter Manuelles Verarbeiten des Data Warehouses und Analysis Services-Cubes für Team Foundation Server.

  1. Verarbeiten Sie das relationale Data Warehouse bei Bedarf mit dem ProcessWarehouse-Vorgang von WarehouseControlService.

  2. Verarbeiten Sie den Cube bei Bedarf mit dem ProcessAnalysisDatabase-Vorgang von WarehouseControlService.

  3. Öffnen Sie ein Dashboard oder einen Berichts-Manager, und überprüfen Sie, ob die Berichte aktualisiert wurden. Weitere Informationen finden Sie unter Dashboards oder Berichte (SQL Server Reporting Services).

Wenn weiterhin Fehlermeldungen angezeigt werden, können Sie weitere Informationen zum Datenkonflikt und die betroffenen blockierten Adapter abrufen, indem Sie den GetProcessingStatus-Vorgang von WarehouseControlService ausführen.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft