Sichern, Wiederherstellen und Synchronisieren von Datenbanken (XMLA)

In XML for Analysis gibt es drei Befehle für das Sichern, Wiederherstellen und Synchronisieren von Datenbanken:

  • Der Backup-Befehl erstellt eine Sicherungskopie einer Microsoft SQL Server Analysis Services-Datenbank mithilfe einer Analysis Services-Sicherungsdatei (.abf), wie im Abschnitt Sichern von Datenbanken beschrieben.

  • Der Restore-Befehl stellt eine Analysis Services-Datenbank aus einer ABF-Datei wieder her, wie im Abschnitt Wiederherstellen von Datenbanken beschrieben.

  • Der Synchronize-Befehl synchronisiert eine Analysis Services-Datenbank mit den Daten und Metadaten einer anderen Datenbank, wie im Abschnitt Synchronisieren von Datenbanken beschrieben.

Sichern von Datenbanken

Wie bereits erwähnt, sichert der Backup-Befehl eine angegebene Analysis Services-Datenbank in einer Sicherungsdatei. Der Backup-Befehl weist mehrere Eigenschaften auf, mit denen Sie die zu sichernde Datenbank, die zu verwendende Sicherungsdatei, die Methode zum Sichern von Sicherheitsdefinitionen sowie die zu sichernden Remotepartitionen angeben können.

SicherheitshinweisSicherheitshinweis

Für jede Sicherungsdatei muss der Benutzer, der den Sicherungsbefehl ausführt, über die Berechtigung zum Schreiben in den für jede Datei angegebenen Sicherungsspeicherort verfügen. Dem Benutzer muss zudem eine der folgenden Rollen zugewiesen worden sein: Mitglied einer Serverrolle für die Analysis Services-Instanz oder Mitglied einer Datenbankrolle mit der Berechtigung Vollzugriff (Administrator) für die zu sichernde Datenbank.

Angeben der Datenbank und der Sicherungsdatei

Um die Datenbank anzugeben, die gesichert werden soll, legen Sie die Object-Eigenschaft des Backup-Befehls fest. Die Object-Eigenschaft muss einen Objektbezeichner für eine Datenbank enthalten; andernfalls tritt ein Fehler auf.

Zum Festlegen der zu erstellenden und vom Sicherungsprozess zu verwendenden Datei legen Sie die File-Eigenschaft des Backup-Befehls fest. Die File-Eigenschaft sollte auf einen UNC-Pfad und -Dateinamen für die zu erstellende Sicherungsdatei festgelegt werden.

Sie können nicht nur angeben, welche Datei für die Sicherung verwendet werden soll, sondern Sie können auch die folgenden Optionen für die angegebene Sicherungsdatei festlegen:

  • Wenn Sie die AllowOverwrite-Eigenschaft auf den Wert TRUE festlegen, überschreibt der Backup-Befehl die Sicherungsdatei, falls die angegebene Datei bereits vorhanden ist. Wenn Sie die AllowOverwrite-Eigenschaft auf den Wert FALSE festlegen, tritt ein Fehler auf, falls die angegebene Sicherungsdatei bereits vorhanden ist.

  • Wenn Sie die ApplyCompression-Eigenschaft auf den Wert TRUE festlegen, wird die Sicherungsdatei komprimiert, nachdem die Datei erstellt wurde.

  • Wenn Sie die Password-Eigenschaft auf einen bestimmten Wert festlegen, wird die Sicherungsdatei mithilfe des angegebenen Kennworts verschlüsselt.

    SicherheitshinweisSicherheitshinweis

    Wenn die Eigenschaften ApplyCompression und Password nicht angegeben werden, speichert die Sicherungsdatei Benutzernamen und Kennwörter, die in Verbindungszeichenfolgen in Klartext enthalten sind. Daten, die in Klartext gespeichert werden, können abgerufen werden. Verwenden Sie für erhöhte Sicherheit die Einstellungen ApplyCompression und Password, um die Sicherungsdatei sowohl zu komprimieren als auch zu verschlüsseln.

Sichern von Sicherheitseinstellungen

Die Security-Eigenschaft bestimmt, ob mit dem Backup-Befehl die Sicherheitsdefinitionen wie Rollen und Berechtigungen gesichert werden, die für eine Analysis Services-Datenbank definiert sind. Die Security-Eigenschaft bestimmt auch, ob die Sicherungsdatei die Windows-Benutzerkonten und -Gruppen enthält, die als Mitglieder der Sicherheitsdefinitionen definiert sind.

Der Wert der Security-Eigenschaft ist auf eine der in der folgenden Tabelle aufgelisteten Zeichenfolgen beschränkt.

Wert

Beschreibung

SkipMembership

Einbeziehen von Sicherheitsdefinitionen und Ausschließen von Informationen zur Mitgliedschaft in der Sicherungsdatei.

CopyAll

Einbeziehen von Sicherheitsdefinitionen und Informationen zur Mitgliedschaft in der Sicherungsdatei.

IgnoreSecurity

Ausschließen von Sicherheitsdefinitionen aus der Sicherungsdatei.

Sichern von Remotepartitionen

Wenn Sie Remotepartitionen in der Analysis Services-Datenbank sichern möchten, legen Sie die BackupRemotePartitions-Eigenschaft des Backup-Befehls auf den Wert TRUE fest. Diese Einstellung veranlasst den Backup-Befehl, eine Remotesicherungsdatei für jede Remotedatenquelle zu erstellen, die zum Speichern von Remotepartitionen für die Datenbank verwendet wird.

Für jede zu sichernde Remotedatenquelle können Sie eine entsprechende Sicherungsdatei angeben, indem Sie ein Location-Element in die Locations-Eigenschaft des Backup-Befehls einbeziehen. Für das Location-Element sollte die File-Eigenschaft auf den UNC-Pfad und -Dateinamen der Remotesicherungsdatei und die DataSourceID-Eigenschaft auf den Bezeichner der Remotedatenquelle, die in der Datenbank definiert ist, festgelegt werden.

Wiederherstellen von Datenbanken

Der Restore-Befehl stellt eine angegebene Analysis Services-Datenbank mithilfe einer Sicherungsdatei wieder her. Der Restore-Befehl weist mehrere Eigenschaften auf, mit denen Sie die wiederherzustellende Datenbank, die zu verwendende Sicherungsdatei, die Methode zum Wiederherstellen von Sicherheitsdefinitionen sowie die zu speichernden Remotepartitionen und das Verschieben relationaler OLAP-Objekte (ROLAP-Objekte) angeben können.

SicherheitshinweisSicherheitshinweis

Für jede Sicherungsdatei muss der Benutzer, der den Wiederherstellungsbefehl ausführt, über die Berechtigung zum Lesen von dem für die jeweilige Datei angegebenen Sicherungsspeicherort verfügen. Zum Wiederherstellen einer Analysis Services-Datenbank, die nicht auf dem Server installiert ist, muss der Benutzer zusätzlich Mitglied der Serverrolle für die betreffende Analysis Services-Instanz sein. Zum Überschreiben einer Analysis Services-Datenbank muss der Benutzer entweder Mitglied der Serverrolle für die Analysis Services-Instanz oder Mitglied einer Datenbankrolle mit den Berechtigungen Vollzugriff (Administrator) für die wiederherzustellende Datenbank sein.

HinweisHinweis

Nach dem Wiederherstellen einer vorhandenen Datenbank verliert der Benutzer, der die Datenbank wiederhergestellt hat, möglicherweise den Zugriff auf diese Datenbank. Dazu kann es kommen, wenn der Benutzer zum Zeitpunkt der Sicherung kein Mitglied der Serverrolle oder der Datenbankrolle mit der Berechtigung Vollzugriff (Administrator) war.

Angeben der Datenbank und der Sicherungsdatei

Die DatabaseName-Eigenschaft des Restore-Befehls muss einen Objektbezeichner für eine Datenbank enthalten; andernfalls tritt ein Fehler auf. Wenn die angegebene Datenbank bereits vorhanden ist, bestimmt die AllowOverwrite-Eigenschaft, ob die vorhandene Datenbank überschrieben wird. Wenn Sie die AllowOverwrite-Eigenschaft auf den Wert FALSE festlegen und die angegebene Datenbank bereits vorhanden ist, tritt ein Fehler auf.

Die File-Eigenschaft des Restore-Befehls sollte auf einen UNC-Pfad und -Dateinamen für die Sicherungsdatei festgelegt werden, die in der angegebenen Datenbank wiederhergestellt werden soll. Sie können auch die Password-Eigenschaft für die angegebene Sicherungsdatei festlegen. Wenn Sie die Password-Eigenschaft auf einen bestimmten Wert festlegen, wird die Sicherungsdatei mithilfe des angegebenen Kennworts entschlüsselt. Wenn die Sicherungsdatei nicht verschlüsselt ist oder wenn das angegebene Kennwort nicht mit dem für die Entschlüsselung der Sicherungsdatei verwendeten Kennwort übereinstimmt, tritt ein Fehler auf.

Wiederherstellen von Sicherheitseinstellungen

Die Security-Eigenschaft bestimmt, ob mit dem Restore-Befehl die Sicherheitsdefinitionen wie Rollen und Berechtigungen wiederhergestellt werden, die für eine Analysis Services-Datenbank definiert sind. Die Security-Eigenschaft bestimmt auch, ob der Restore-Befehl im Rahmen des Wiederherstellungsprozesses die Windows-Benutzerkonten und -Gruppen einschließt, die als Mitglieder der Sicherheitsdefinitionen definiert sind.

Der Wert dieses Elements ist auf eine der in der folgenden Tabelle aufgelisteten Zeichenfolgen beschränkt.

Wert

Beschreibung

SkipMembership

Einbeziehen von Sicherheitsdefinitionen und Ausschließen von Informationen zur Mitgliedschaft in der Datenbank.

CopyAll

Einbeziehen von Sicherheitsdefinitionen und Informationen zur Mitgliedschaft in der Datenbank.

IgnoreSecurity

Ausschließen von Sicherheitsdefinitionen aus der Datenbank.

Wiederherstellen von Remotepartitionen

Für jede Remotesicherungsdatei, die während eines zuvor ausgeführten Backup-Befehls erstellt wurde, können Sie die zugeordnete Remotepartition wiederherstellen, indem Sie ein Location-Element in die Locations-Eigenschaft des Restore-Befehls einbeziehen. Die DataSourceType-Eigenschaft für jedes Location-Element muss ausgeschlossen oder explizit auf Remote festgelegt werden.

Für jedes angegebene Location-Element kontaktiert die Analysis Services-Instanz die in der DataSourceID-Eigenschaft angegebene Remotedatenquelle, um die Partitionen wiederherzustellen, die in der Remotesicherungsdatei definiert sind, welche in der File-Eigenschaft angegeben ist. Neben der DataSourceID- und der File-Eigenschaft sind die folgenden Eigenschaften für jedes Location-Element verfügbar, das zum Wiederherstellen einer Remotepartition verwendet wird:

  • Wenn Sie die Verbindungszeichenfolge für die in DataSourceID angegebene Remotedatenquelle überschreiben möchten, können Sie die ConnectionString-Eigenschaft für das Location-Element auf eine andere Verbindungszeichenfolge festlegen. Der Befehl Restore verwendet dann die Verbindungszeichenfolge, die in der ConnectionString-Eigenschaft enthalten ist. Wenn ConnectionString nicht angegeben ist, verwendet der Befehl Restore die Verbindungszeichenfolge, die in der Sicherungsdatei für die angegebene Remotedatenquelle gespeichert ist. Sie können die Einstellung ConnectionString verwenden, um eine Remotepartition auf eine andere Remoteinstanz zu verschieben. Sie können jedoch die Einstellung ConnectionString nicht verwenden, um eine Remotepartition auf der gleichen Instanz wiederherzustellen, die auch die wiederhergestellt Datenbank enthält. Sie können die Eigenschaft ConnectionString also nicht verwenden, um eine Remotepartition in eine lokale Partition umzuwandeln.

  • Für jeden ursprünglich zum Speichern der Remotepartitionen auf der Remotedatenquelle verwendeten Ordner können Sie ein Folder-Element festgelegen, um den neuen Ordner anzugeben, in dem alle im ursprünglichen Ordner gespeicherten Partitionen künftig gespeichert werden sollen. Wenn ein Folder-Element nicht angegeben ist, verwendet der Restore-Befehl die ursprünglichen Ordner, die für die in der Remotesicherungsdatei enthaltenen Remotepartitionen angegeben sind.

Verschieben von ROLAP-Objekten

Mit dem Restore-Befehl können keine Aggregationen oder Daten für Objekte wiederhergestellt werden, die den ROLAP-Speichermodus verwenden, da solche Informationen in Tabellen in einer zugrunde liegenden relationalen Datenquelle gespeichert werden. Jedoch können die Metadaten für ROLAP-Objekte wiederhergestellt werden. Zum Wiederherstellen der Metadaten für ROLAP-Objekte erstellt der Restore-Befehl die Tabellenstruktur in einer relationalen Datenbank neu.

Sie können das Location-Element in einem Restore-Befehl verwenden, um ROLAP-Objekte zu verschieben. Für jedes Location-Element, das zum Verschieben einer Datenquelle verwendet wird, muss die DataSourceType-Eigenschaft explizit auf Local festgelegt werden. Sie müssen auch die ConnectionString-Eigenschaft des Location-Elements auf die Verbindungszeichenfolge für den neuen Speicherort festlegen. Während der Wiederherstellung ersetzt der Restore-Befehl die Verbindungszeichenfolge für die Datenquelle, die von der DataSourceID-Eigenschaft des Location-Elements identifiziert wird, durch den Wert der ConnectionString-Eigenschaft des Location-Elements.

Synchronisieren von Datenbanken

Der Befehl Synchronize synchronisiert die Daten und die Metadaten einer angegebenen Analysis Services-Datenbank mit denen einer anderen Datenbank. Der Synchronize-Befehl weist verschiedene Eigenschaften auf, mit denen Sie die Quelldatenbank, die Methode zur Synchronisierung von Sicherheitsdefinitionen, die zu synchronisierenden Remotepartitionen und die Synchronisierung von ROLAP-Objekten angeben können.

HinweisHinweis

Der Synchronize-Befehl kann nur von Serveradministratoren und Datenbankadministratoren ausgeführt werden.

Angeben der Quelldatenbank

Die Source-Eigenschaft des Synchronize-Befehls enthält zwei Eigenschaften, ConnectionString und Object. Die ConnectionString-Eigenschaft enthält die Verbindungszeichenfolge der Instanz, die die Quelldatenbank enthält, und die Object-Eigenschaft enthält den Objektbezeichner für die Quelldatenbank.

Die Zieldatenbank ist die aktuelle Datenbank für die Sitzung, in der der Synchronize-Befehl ausgeführt wird.

Wenn die ApplyCompression-Eigenschaft des Synchronize-Befehls auf den Wert TRUE festgelegt ist, werden die von der Quelldatenbank an die Zieldatenbank gesendeten Informationen vor dem Senden komprimiert.

Synchronisieren von Sicherheitseinstellungen

Die SynchronizeSecurity-Eigenschaft bestimmt, ob der Synchronize-Befehl die Sicherheitsdefinitionen wie Rollen und Berechtigungen synchronisiert, die für die Quelldatenbank definiert sind. Die SynchronizeSecurity-Eigenschaft bestimmt auch, ob der Sychronize-Befehl die Windows-Benutzerkonten und -Gruppen enthält, die als Mitglieder der Sicherheitsdefinitionen definiert sind.

Der Wert dieses Elements ist auf eine der in der folgenden Tabelle aufgelisteten Zeichenfolgen beschränkt.

Wert

Beschreibung

SkipMembership

Einbeziehen von Sicherheitsdefinitionen und Ausschließen von Informationen zur Mitgliedschaft in der Zieldatenbank.

CopyAll

Einbeziehen von Sicherheitsdefinitionen und Informationen zur Mitgliedschaft in der Zieldatenbank.

IgnoreSecurity

Ausschließen von Sicherheitsdefinitionen aus der Zieldatenbank.

Synchronisieren von Remotepartitionen

Für jede Remotedatenbank, die in der Zieldatenbank vorhanden ist, können Sie jede zugeordnete Remotepartition synchronisieren, indem Sie ein Location-Element in die Locations-Eigenschaft des Synchronize-Befehls einbeziehen. Für jedes Location-Element muss die DataSourceType-Eigenschaft ausgeschlossen oder explizit auf Remote festgelegt werden.

Zum Definieren und Herstellen einer Verbindung zu einer Remotedatenquelle in der Zieldatenbank verwendet der Synchronize-Befehl die Verbindungszeichenfolge, die in der ConnectionString-Eigenschaft des Location-Elements definiert ist. Der Synchronize-Befehl verwendet dann die DataSourceID-Eigenschaft des Location-Elements, um die zu synchronisierenden Remotepartitionen zu identifizieren. Der Synchronize-Befehl synchronisiert die Remotepartitionen der Remotedatenquelle, die in der DataSourceID-Eigenschaft der Quelldatenbank angegeben sind, mit der Remotedatenquelle, die in der DataSourceID-Eigenschaft der Zieldatenbank angegeben ist.

Für jeden ursprünglich zum Speichern der Remotepartitionen in der Remotedatenquelle der Quelldatenbank verwendeten Ordner können Sie auch ein Folder-Element im Location-Element verwenden. Das Folder-Element gibt den neuen Ordner für die Zieldatenbank an, in dem alle im ursprünglichen Ordner in der Remotedatenquelle gespeicherten Remotepartitionen synchronisiert werden sollen. Wenn ein Folder-Element nicht angegeben ist, verwendet der Synchronize-Befehl die ursprünglichen Ordner, die für die in der Quelldatenbank enthaltenen Remotepartitionen angegeben sind.

Synchronisieren von ROLAP-Objekten

Mit dem Synchronize-Befehl können keine Aggregationen oder Daten für Objekte synchronisiert werden, die den ROLAP-Speichermodus verwenden, da solche Informationen in Tabellen in einer zugrunde liegenden relationalen Datenquelle gespeichert werden. Jedoch können die Metadaten für ROLAP-Objekte synchronisiert werden. Zum Synchronisieren der Metadaten stellt der Synchronize-Befehl die Tabellenstruktur für eine relationale Datenbank wieder her.

Sie können das Location-Element in einem Synchronize-Befehl verwenden, um ROLAP-Objekte zu synchronisieren. Für jedes Location-Element, das zum Verschieben einer Datenquelle verwendet wird, muss die DataSourceType-Eigenschaft explizit auf Local festgelegt werden. . Sie müssen auch die ConnectionString-Eigenschaft des Location-Elements auf die Verbindungszeichenfolge für den neuen Speicherort festlegen. Während der Synchronisierung ersetzt der Synchronize-Befehl die Verbindungszeichenfolge für die Datenquelle, die von der DataSourceID-Eigenschaft des Location-Elements identifiziert wird, durch den Wert der ConnectionString-Eigenschaft des Location-Elements.