Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nach der ersten Schemagenerierung können Sie Cube- und Dimensionsdefinitionen mithilfe von SQL Server Data Tools (SSDT) ändern und dann den Schemagenerierungs-Assistenten erneut ausführen. Der Assistent aktualisiert das Schema in der Datenbank des Betreffbereichs und in der zugehörigen Datenquellenansicht, um die Änderungen widerzuspiegeln und die daten beizubehalten, die derzeit in den Tabellen vorhanden sind, soweit möglich neu zu generieren. Wenn Sie die Tabellen nach der ersten Generierung geändert haben, behält der Assistent für die Schemagenerierung diese Änderungen bei, wenn möglich, mithilfe der folgenden Regeln:
Wenn eine zuvor vom Assistenten generierte Tabelle existiert, wird sie überschrieben. Sie können verhindern, dass eine vom Assistenten generierte Tabelle überschrieben wird, indem Sie die
AllowChangesDuringGenerationEigenschaft für die Tabelle in der Datenquellenansicht auffalseändern. Wenn Sie die Kontrolle über eine Tabelle übernehmen, wird die Tabelle wie jede andere benutzerdefinierte Tabelle behandelt und ist während der Regeneration nicht betroffen. Nachdem Sie eine Tabelle aus der Generierung entfernt haben, können Sie die Eigenschaft für dieAllowChangesDuringGeneration-Tabelle in der Datenquellenansicht zutrueändern und die Tabelle für Änderungen durch den Assistenten wieder öffnen. Weitere Informationen finden Sie unter Ändern von Eigenschaften in einer Datenquellenansicht (Analysis Services).Wenn der Datenquellenansicht oder der zugrunde liegenden Datenbank eine Tabelle nicht durch den Assistenten hinzugefügt wurde, wird die Tabelle nicht überschrieben.
Wenn der Schemagenerierungs-Assistent Tabellen neu generiert hat, die zuvor in der Datenbank für den Betreffbereich generiert wurden, können Sie auswählen, dass der Assistent vorhandene Daten in diesen Tabellen beibehalten soll.
Unterstützen der Datenarchivierung
Im Allgemeinen behält der Assistent für die Schemagenerierung Daten bei, die in den von ihr generierten Tabellen gespeichert sind. Wenn Sie darüber hinaus Spalten zu Tabellen hinzufügen, die der Assistent generiert hat, behält der Assistent diese Daten ebenfalls bei. Sie können diese Funktion verwenden, um Ihre Dimensionen und Cubes hinzuzufügen oder zu ändern und dann die zugrunde liegenden Objekte neu zu generieren, ohne die in den zugrunde liegenden Tabellen gespeicherten Daten neu laden zu müssen.
Hinweis
Wenn Sie Daten aus durch Trennzeichen getrennten Textdateien laden, können Sie auch auswählen, ob der Assistent für die Schemagenerierung diese Dateien und die darin enthaltenen Daten während der Regeneration überschreibt. Textdateien werden entweder vollständig oder gar nicht überschrieben. Der Schemagenerierungs-Assistent überschreibt diese Dateien nicht teilweise. Diese Dateien werden standardmäßig nicht überschrieben.
Teilweise Erhaltung
Der Schemagenerierungs-Assistent kann vorhandene Daten unter bestimmten Umständen nicht beibehalten. Die folgende Tabelle enthält Beispiele für Situationen, in denen der Assistent während der Neuerstellung nicht alle vorhandenen Daten in den unterliegenden Tabellen beibehalten kann.
| Art der Datenänderung | Behandlung |
|---|---|
| Inkompatible Datentypänderung | Der Assistent für die Schemagenerierung verwendet standardmäßige SQL Server-Datentypkonvertierungen, wenn möglich, um vorhandene Daten von einem Datentyp in einen anderen zu konvertieren. Wenn Sie jedoch den Datentyp eines Attributs in einen Typ ändern, der nicht mit den vorhandenen Daten kompatibel ist, legt der Assistent die Daten für die betroffene Spalte ab. |
| Referenzintegritätsfehler | Wenn Sie eine Dimension oder einen Cube ändern, der Daten enthält, und die Änderung während der Regeneration einen referentiellen Integritätsfehler verursacht, entfernt der Assistent für die Schemagenerierung alle Daten in der Fremdschlüsseltabelle. Die gelöschten Daten sind nicht auf die Spalte beschränkt, die die Verletzung der Fremdschlüsseleinschränkung oder die Zeilen verursacht hat, die die referenziellen Integritätsfehler enthalten. Wenn Sie beispielsweise den Dimensionsschlüssel in ein Attribut ändern, das nicht eindeutige oder NULL-Daten enthält, werden alle vorhandenen Daten in der Fremdschlüsseltabelle gelöscht. Darüber hinaus kann das Ablegen aller Daten in einer Tabelle eine kaskadierende Wirkung haben und zu anderen Verletzungen der referenziellen Integrität führen. |
| Gelöschtes Attribut oder dimension | Wenn Sie ein Attribut aus einer Dimension löschen, löscht der Assistent für die Schemagenerierung die Spalte, die dem gelöschten Attribut zugeordnet ist. Wenn Sie eine Dimension löschen, löscht der Assistent die Tabelle, die der gelöschten Dimension zugeordnet ist. In diesen Fällen löscht der Assistent die Daten, die in der gelöschten Spalte oder Tabelle enthalten sind. |
Der Schemagenerierungs-Assistent gibt eine Warnung aus, bevor daten gelöscht werden, sodass Sie den Assistenten abbrechen können, ohne dass Daten verloren gehen. Der Assistent zur Schemagenerierung kann jedoch nicht zwischen erwartetem Datenverlust und unerwartetem Datenverlust unterscheiden. Wenn Sie den Assistenten ausführen, werden in einem Dialogfeld die Tabellen und Spalten aufgelistet, die Daten enthalten, die gelöscht werden. Sie können entweder den Assistenten fortsetzen und die Daten ablegen lassen, oder Sie können den Assistenten abbrechen und die Änderungen, die Sie an den Tabellen und Spalten vorgenommen haben, überarbeiten.
Unterstützung von Änderungen am Würfel und an Dimensionen
Wenn Sie die Eigenschaften von Dimensionen und Cubes ändern, generiert der Assistent für die Schemagenerierung die entsprechenden Objekte in der zugrunde liegenden Betreffbereichsdatenbank sowie in der verknüpften Datenquellenansicht, wie in der folgenden Tabelle beschrieben.
Löschen eines Objekts, z. B. einer Dimension, eines Cubes oder eines Attributs.
Der Schemagenerierungs-Assistent löscht die zugrunde liegenden Objekte, denen das gelöschte Objekt zugeordnet ist. Wenn Sie spalten zu einer Tabelle hinzufügen, die der Assistent generiert hat, verhindern die neuen Spalten nicht, dass diese Tabelle gelöscht wird. Das Löschen eines Objekts bewirkt, dass die in den zugrunde liegenden Objekten gespeicherten Daten verworfen werden, und kann auch dazu führen, dass andere Daten gelöscht werden, wenn referenzielle Integritätsfehler auftreten.
Umbenennen eines Objekts, z. B. einer Dimension, eines Cubes oder eines Attributs.
Der Schemagenerierungs-Assistent benennt die zugrunde liegenden Objekte um, denen das umbenannte Objekt zugeordnet ist. Der Assistent benennt auch alle betroffenen Objekte um, z. B. Primärschlüssel. Vorhandene Daten, die in den zugrunde liegenden Objekten gespeichert sind, werden beibehalten.
Ändern eines Objekts, z. B. Ändern des Datentyps.
Der Schemagenerierungs-Assistent ändert die zugrunde liegenden Objekte, denen das geänderte Objekt zugeordnet ist. Vorhandene Daten, die in den zugrunde liegenden Objekten in den Datenbanken gespeichert sind, bleiben erhalten, es sei denn, der neue Datentyp ist mit den vorhandenen Daten nicht kompatibel.
Hinzufügen eines neuen Objekts, z. B. einer Dimension, eines Cubes oder eines Attributs.
Der Schemagenerierungs-Assistent fügt zugrunde liegende Objekte hinzu, denen das neue Objekt zugeordnet ist.
Wenn der Assistent für die Schemagenerierung die erforderliche Änderung aufgrund des Vorhandenseins eines Benutzerobjekts in der Datenbank des Betreffbereichs nicht vornehmen kann (da das Datenbankmodul einen Fehler zurückgibt), schlägt der Schemagenerierungs-Assistent fehl und zeigt den vom Datenbankmodul zurückgegebenen Fehler an. Wenn Sie z. B. eine Primärschlüsseleinschränkung oder einen nicht gruppierten Index für eine Tabelle erstellen, nachdem der Assistent die Tabelle erstellt hat, wird diese Tabelle nicht vom Assistenten gelöscht, da er die Einschränkung oder den Index nicht erstellt hat.
Unterstützung von Schemaänderungen
Wenn Sie die Eigenschaften der Tabellen oder Spalten in der Datenbank des Betreffbereichs oder in der zugeordneten Datenquellenansicht ändern, behandelt der Assistent für die Schemagenerierung die Änderungen wie in der folgenden Tabelle beschrieben.
Löschen einer Tabelle oder Spalte, die vom Assistenten für die Schemagenerierung generiert wird.
Wenn Sie eine Tabelle oder Spalte löschen, die vom Assistenten für die Schemagenerierung generiert wird, generiert der Assistent die gelöschte Tabelle neu. Der Assistent gibt keinen Hinweis darauf, dass die gelöschte Tabelle oder Spalte neu generiert wird.
Ändern der Eigenschaften einer Tabelle oder Spalte, die vom Assistenten für die Schemagenerierung generiert wird.
Wenn Sie die Eigenschaften einer Tabelle oder einer Spalte ändern, die vom Assistenten für die Schemagenerierung generiert wird, generiert der Assistent die geänderte Tabelle ohne die Änderung neu. Wenn Sie z. B. den Datentyp oder die Nullierbarkeit einer Spalte oder die Dateigruppe einer Tabelle ändern, die vom Assistenten für die Schemagenerierung generiert wird, überlebt die Änderung die Regeneration nicht. Der Assistent gibt keine Warnung, dass das geänderte Objekt ohne die Modifikation in seiner ursprünglichen Form neu generiert wird.
Hinzufügen einer Spalte zu einer vom Assistenten für die Schemagenerierung generierten Tabelle oder Hinzufügen einer Tabelle zur Datenbank des Fachbereichs oder Stagingbereichs.
Wenn Sie eine Spalte zu einer Tabelle hinzufügen, die vom Assistenten für die Schemagenerierung generiert wird, behält der Assistent die zusätzliche Spalte zusammen mit den darin gespeicherten Daten bei der Regeneration bei. Wenn Sie jedoch der Themenbereichs-Datenbank oder der Staging-Datenbank eine Tabelle hinzufügen, berücksichtigt der Assistent für die Schemagenerierung die neue Tabelle nicht. Die hinzugefügte Spalte oder die hinzugefügte Tabelle wird nicht im Analysis Services-Projekt, in der Analysis Services-Datenbank, in den DTS-Paketen, in der Datenquellenansicht oder an einer anderen Stelle im generierten Schema widerspiegelt.
Unterstützung bei Änderungen der Datenquellen und der Datenquellenansicht
Wenn der Schemagenerierungs-Assistent erneut ausgeführt wird, wird die gleiche Datenquellen- und Datenquellenansicht wiederverwendet, die sie für die ursprüngliche Generation verwendet hat. Wenn Sie eine Datenquelle oder eine Datenquellenansicht hinzufügen, wird sie vom Assistenten nicht verwendet. Wenn Sie die ursprüngliche Datenquelle oder Datenquellenansicht nach der ersten Generierung löschen, müssen Sie den Assistenten von vorne starten. Alle vorherigen Einstellungen im Einrichtungsassistent werden ebenfalls gelöscht. Alle vorhandenen Objekte in einer zugrunde liegenden Datenbank, die an eine gelöschte Datenquelle oder Datenquellenansicht gebunden waren, werden beim nächsten Ausführen des Schemagenerierungs-Assistenten als vom Benutzer erstellte Objekte behandelt.
Wenn die Datenquellenansicht nicht den tatsächlichen Status der zugrunde liegenden Datenbank zum Zeitpunkt der Generierung widerspiegelt, können möglicherweise Fehler auftreten, wenn die Schemata für die Datenbank des Fachbereichs und die Staging-Datenbank generiert werden. Wenn die Datenquellenansicht beispielsweise angibt, dass der Datentyp für eine Spalte auf festgelegt intist, der Datentyp für die Spalte jedoch tatsächlich festgelegt stringist, legt der Assistent für die Schemagenerierung den Datentyp für den Fremdschlüssel int so fest, dass er mit der Datenquellenansicht übereinstimmt, und schlägt dann fehl, wenn die Beziehung erstellt wird, da der tatsächliche Datentyp ist string.
Wenn Sie andererseits die Datenquellenverbindungszeichenfolge in eine andere Datenbank als die vorherige Generation ändern, wird kein Fehler generiert. Die neue Datenbank wird verwendet, und an der vorherigen Datenbank wird keine Änderung vorgenommen.
Siehe auch
Verwalten von Änderungen an Datenquellenansichten und Datenquellen
Schemagenerierungs-Assistent (Analysis Services)