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 Befehl Backup sichert eine Microsoft SQL Server Analysis Services-Datenbank mithilfe einer Analysis Services-Sicherungsdatei (ABF), wie im Abschnitt Sichern von Datenbanken beschrieben.
Der Befehl Restore stellt eine Analysis Services-Datenbank aus einer ABF-Datei wie im Abschnitt Wiederherstellen von Datenbanken beschrieben wieder her.
Der Befehl Synchronize 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.
Wichtig
Das Analysis Services-Dienstkonto muss über die Berechtigung zum Schreiben von Daten in den für jede Datei angegebenen Sicherungsspeicherort verfügen. Außerdem muss der Benutzer über eine der folgenden Rollen verfügen: Administratorrolle im Analysis Services-instance oder Mitglied einer Datenbankrolle mit Vollzugriff (Administrator) Berechtigungen für die zu sichernde Datenbank.
Angeben der Datenbank und der Sicherungsdatei
Um die zu sichernde Datenbank anzugeben, 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.
Um die Datei anzugeben, die erstellt und vom Sicherungsvorgang verwendet werden soll, 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 true festlegen, überschreibt der
Backup
Befehl die Sicherungsdatei, wenn die angegebene Datei bereits vorhanden ist. Wenn Sie dieAllowOverwrite
-Eigenschaft auf den Wert FALSE festlegen, tritt ein Fehler auf, falls die angegebene Sicherungsdatei bereits vorhanden ist.Wenn Sie die ApplyCompression-Eigenschaft auf true festlegen, wird die Sicherungsdatei komprimiert, nachdem die Datei erstellt wurde.
Wenn Sie die Password-Eigenschaft auf einen nicht leeren Wert festlegen, wird die Sicherungsdatei mit dem angegebenen Kennwort verschlüsselt.
Wichtig
Wenn die Eigenschaften
ApplyCompression
undPassword
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 EinstellungenApplyCompression
undPassword
, um die Sicherungsdatei sowohl zu komprimieren als auch zu verschlüsseln.
Sichern von Sicherheitseinstellungen
Die Security-Eigenschaft bestimmt, ob der Backup
Befehl die Sicherheitsdefinitionen wie Rollen und Berechtigungen sichert, 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
Um Remotepartitionen in der Analysis Services-Datenbank zu sichern, legen Sie die BackupRemotePartitions-Eigenschaft des Backup
Befehls auf 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 die entsprechende Sicherungsdatei angeben, indem Sie ein Location-Element in die Locations-Eigenschaft des Backup
Befehls einfügen. Für Location
das Element sollte seine File
Eigenschaft auf den UNC-Pfad und dateinamen der Remotesicherungsdatei festgelegt sein, und seine DataSourceID-Eigenschaft sollte auf den Bezeichner der in der Datenbank definierten Remotedatenquelle festgelegt sein.
Wiederherstellen von Datenbanken
Der Restore
Befehl stellt eine angegebene Analysis Services-Datenbank aus 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.
Wichtig
Für jede Sicherungsdatei muss der Benutzer, der den Wiederherstellungsbefehl ausführt, über die Berechtigung zum Lesen von dem für jede Datei angegebenen Sicherungsspeicherort verfügen. Um eine Analysis Services-Datenbank wiederherzustellen, die nicht auf dem Server installiert ist, muss der Benutzer auch Mitglied der Serverrolle für diese Analysis Services-instance sein. Um eine Analysis Services-Datenbank zu überschreiben, muss der Benutzer über eine der folgenden Rollen verfügen: Ein Mitglied der Serverrolle für die Analysis Services-instance oder ein Mitglied einer Datenbankrolle mit Vollzugriff (Administrator) für die wiederherzustellende Datenbank.
Hinweis
Nach dem Wiederherstellen einer vorhandenen Datenbank verliert der Benutzer, der die Datenbank wiederhergestellt hat, möglicherweise den Zugriff auf diese Datenbank. Dies ist u. U. der Fall, 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 der Restore
Befehl die Für eine Analysis Services-Datenbank definierten Sicherheitsdefinitionen wie Rollen und Berechtigungen wiederhergestellt. 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-instance die in der DataSourceID
-Eigenschaft angegebene Remotedatenquelle, um die partitionen wiederherzustellen, die in der in der File
-Eigenschaft angegebenen Remotesicherungsdatei definiert sind. 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 dieConnectionString
-Eigenschaft für dasLocation
-Element auf eine andere Verbindungszeichenfolge festlegen. Der BefehlRestore
verwendet dann die Verbindungszeichenfolge, die in derConnectionString
-Eigenschaft enthalten ist. WennConnectionString
nicht angegeben ist, verwendet der BefehlRestore
die Verbindungszeichenfolge, die in der Sicherungsdatei für die angegebene Remotedatenquelle gespeichert ist. Sie können die EinstellungConnectionString
verwenden, um eine Remotepartition auf eine andere Remoteinstanz zu verschieben. Sie können jedoch die EinstellungConnectionString
nicht verwenden, um eine Remotepartition auf der gleichen Instanz wiederherzustellen, die auch die wiederhergestellt Datenbank enthält. Sie können die EigenschaftConnectionString
also nicht verwenden, um eine Remotepartition in eine lokale Partition umzuwandeln.Für jeden ursprünglichen Ordner, der zum Speichern der Remotepartitionen in der Remotedatenquelle verwendet wird, können Sie ein Folder-Element angeben, um den neuen Ordner anzugeben, in dem alle im ursprünglichen Ordner gespeicherten Remotepartitionen wiederhergestellt werden sollen. Wenn ein
Folder
-Element nicht angegeben ist, verwendet derRestore
-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 Synchronize
Befehl synchronisiert die Daten und Metadaten einer angegebenen Analysis Services-Datenbank mit 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.
Hinweis
Der Synchronize
-Befehl kann nur von Serveradministratoren und Datenbankadministratoren ausgeführt werden. Sowohl die Quell- als auch die Zieldatenbank müssen den gleichen Datenbank-Kompatibilitätsgrad besitzen.
Angeben der Quelldatenbank
Die Source-Eigenschaft des Synchronize
Befehls enthält zwei Eigenschaften und ConnectionString
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 sicherheitsrelevanten Definitionen synchronisiert, z. B. Rollen und Berechtigungen, die in der 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 für die in der -Eigenschaft für die Quelldatenbank angegebene Remotedatenquelle mit der DataSourceID
Remotedatenquelle, die in der DataSourceID
-Eigenschaft für die 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.
Weitere Informationen
Backup-Element (XMLA)
Restore-Element (XMLA)
Synchronize-Element (XMLA)
Sichern und Wiederherstellen von Analysis Services-Datenbanken