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 "Sicherung" sichert eine Microsoft-SQL Server SQL Server Analysis Services-Datenbank mithilfe einer SQL Server Analysis Services Sicherungsdatei (.abf), wie im Abschnitt "Sichern von Datenbanken" beschrieben.
Der Befehl "Wiederherstellen" wiederherstellen eine SQL Server Analysis Services Datenbank aus einer ABF-Datei, wie im Abschnitt "Wiederherstellen von Datenbanken" beschrieben.
Der Befehl "Synchronisieren" synchronisiert eine SQL Server Analysis Services Datenbank mit den Daten und Metadaten einer anderen Datenbank, wie im Abschnitt "Synchronisieren von Datenbanken" beschrieben.
Sichern von Datenbanken
Wie zuvor erwähnt, sichern die Sicherungsbefehle eine angegebene SQL Server Analysis Services Datenbank in einer Sicherungsdatei. Der Befehl "Sicherung " verfügt über verschiedene Eigenschaften, mit denen Sie die zu sichernde Datenbank angeben können, die zu verwendende Sicherungsdatei, wie Sicherheitsdefinitionen gesichert werden, und die Remotepartitionen, die gesichert werden sollen.
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 in der SQL Server Analysis Services Instanz oder ein Mitglied einer Datenbankrolle mit Vollzugriffsberechtigungen (Administrator) in der Datenbank, die gesichert werden sollen.
Angeben der Datenbank und der Sicherungsdatei
Um die zu sichernde Datenbank anzugeben, legen Sie die Objekteigenschaft des Sicherungsbefehls fest. Die Objekteigenschaft muss einen Objektbezeichner für eine Datenbank enthalten, oder ein Fehler tritt auf.
Um die Datei anzugeben, die vom Sicherungsvorgang erstellt und verwendet werden soll, legen Sie die Dateieigenschaft des Sicherungsbefehls fest. Die Dateieigenschaft 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 Sicherungsbefehl die Sicherungsdatei, wenn die angegebene Datei bereits vorhanden ist. Wenn Sie die AllowOverwrite-Eigenschaft auf "false" festlegen, tritt ein Fehler auf, wenn 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 Kennworteigenschaft auf keinen leeren Wert festlegen, wird die Sicherungsdatei mithilfe des angegebenen Kennworts verschlüsselt.
Wichtig
Wenn die Eigenschaften "ApplyCompression " und " Kennwort " nicht angegeben sind, speichert die Sicherungsdatei Benutzernamen und Kennwörter, die in Verbindungszeichenfolgen im Klartext enthalten sind. Daten, die in Klartext gespeichert werden, können abgerufen werden. Verwenden Sie für erhöhte Sicherheit die Einstellungen "ApplyCompression " und " Kennwort ", um die Sicherungsdatei zu komprimieren und zu verschlüsseln.
Sichern von Sicherheitseinstellungen
Die Security-Eigenschaft bestimmt, ob der Sicherungsbefehl die Sicherheitsdefinitionen wie Rollen und Berechtigungen, die in einer SQL Server Analysis Services-Datenbank definiert sind, sichern. 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 aufgeführten 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 SQL Server Analysis Services-Datenbank zu sichern, legen Sie die BackupRemotePartitions-Eigenschaft des Sicherungsbefehls auf true fest. Diese Einstellung führt zum Erstellen einer Remotesicherungsdatei für jede Remotedatenquelle , die zum Speichern von Remotepartitionen für die Datenbank verwendet wird.
Für jede Remotedatenquelle, die gesichert werden soll, können Sie seine entsprechende Sicherungsdatei angeben, indem Sie ein Location-Element in dieLocation-Eigenschaft des Sicherungsbefehls einschließen. Das Location-Element sollte seine Dateieigenschaft auf den UNC-Pfad und den Dateinamen der Remotesicherungsdatei festlegen, und die DataSourceID-Eigenschaft wird auf den Bezeichner der in der Datenbank definierten Remotedatenquelle festgelegt.
Wiederherstellen von Datenbanken
Der Befehl "Wiederherstellen" wiederherstellen eine angegebene SQL Server Analysis Services Datenbank aus einer Sicherungsdatei. Der Befehl "Wiederherstellen " verfügt über verschiedene Eigenschaften, mit denen Sie die Datenbank angeben können, die zu verwendende Sicherungsdatei, wie Sicherheitsdefinitionen wiederhergestellt werden, die Remotepartitionen gespeichert werden sollen, und die relationalen OLAP (ROLAP)-Objekte.
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. Zum Wiederherstellen einer SQL Server Analysis Services Datenbank, die nicht auf dem Server installiert ist, muss der Benutzer auch Mitglied der Serverrolle für diese SQL Server Analysis Services Instanz sein. Um eine SQL Server Analysis Services-Datenbank zu überschreiben, muss der Benutzer über eine der folgenden Rollen verfügen: ein Mitglied der Serverrolle für die SQL Server Analysis Services Instanz oder ein Mitglied einer Datenbankrolle mit Vollzugriffsberechtigungen (Administrator) in der Datenbank, die wiederhergestellt werden sollen.
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 Befehls "Wiederherstellen " muss einen Objektbezeichner für eine Datenbank enthalten, oder ein Fehler tritt auf. Wenn die angegebene Datenbank bereits vorhanden ist, bestimmt die AllowOverwrite-Eigenschaft , ob die vorhandene Datenbank überschrieben wird. Wenn die AllowOverwrite-Eigenschaft auf "false" festgelegt ist und die angegebene Datenbank bereits vorhanden ist, tritt ein Fehler auf.
Sie sollten die Dateieigenschaft des Befehls "Wiederherstellung " auf einen UNC-Pfad und einen Dateinamen für die Sicherungsdatei festlegen, die in der angegebenen Datenbank wiederhergestellt werden soll. Sie können auch die Password-Eigenschaft für die angegebene Sicherungsdatei festlegen. Wenn die Password-Eigenschaft auf keinen leeren Wert festgelegt ist, 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 Befehl "Wiederherstellen" die Sicherheitsdefinitionen wie Rollen und Berechtigungen wiederherstellen, die in einer SQL Server Analysis Services-Datenbank definiert sind. Die Security-Eigenschaft bestimmt auch, ob der Befehl " Wiederherstellen " die Windows-Benutzerkonten und -Gruppen enthält, die als Mitglieder der Sicherheitsdefinitionen im Rahmen des Wiederherstellungsvorgangs 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 vorherigen Sicherungsbefehls erstellt wurde, können Sie die zugeordnete Remotepartition wiederherstellen, indem Sie ein Location-Element in dieLocation-Eigenschaft des Befehls "Wiederherstellung" einschließen. Die DataSourceType-Eigenschaft für jedes Location-Element muss ausgeschlossen oder explizit auf Remote festgelegt werden.
Für jedes angegebene Location-Element kontaktiert die SQL Server Analysis Services Instanz die Remotedatenquelle, die in der DataSourceID-Eigenschaft angegeben ist, um die in der dateispezifischen Remotesicherungsdatei definierten Partitionen wiederherzustellen. Neben den Eigenschaften "DataSourceID " und "Datei " stehen die folgenden Eigenschaften für jedes Location-Element zur Wiederherstellung einer Remotepartition zur Verfügung:
Um die Verbindungszeichenfolge für die in DataSourceID angegebene Remotedatenquelle außer Kraft zu setzen, können Sie die ConnectionString-Eigenschaft des Location-Elements auf eine andere Verbindungszeichenfolge festlegen. Der Befehl "Wiederherstellen " verwendet dann die Verbindungszeichenfolge, die in der ConnectionString-Eigenschaft enthalten ist. Wenn ConnectionString nicht angegeben ist, verwendet der Befehl "Wiederherstellen " die in der Sicherungsdatei gespeicherte Verbindungszeichenfolge für die angegebene Remotedatenquelle. Sie können die ConnectionString-Einstellung verwenden, um eine Remotepartition in eine andere Remoteinstanz zu verschieben. Sie können die ConnectionString-Einstellung jedoch nicht verwenden, um eine Remotepartition in derselben Instanz wiederherzustellen, die die wiederhergestellte Datenbank enthält. Mit anderen Worten, Sie können die ConnectionString-Eigenschaft nicht verwenden, um eine Remotepartition in eine lokale Partition zu erstellen.
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 Remotepartitionen wiederhergestellt werden können, die im ursprünglichen Ordner gespeichert sind. Wenn ein Folder-Element nicht angegeben ist, verwendet der Befehl "Wiederherstellen " die ursprünglichen Ordner, die für die Remotepartitionen angegeben sind, die in der Remotesicherungsdatei enthalten sind.
Verschieben von ROLAP-Objekten
Der Befehl "Wiederherstellen " kann Keine Aggregationen oder Daten für Objekte wiederherstellen, die ROLAP-Speicher verwenden, da diese Informationen in Tabellen in einer zugrunde liegenden relationalen Datenquelle gespeichert werden. Jedoch können die Metadaten für ROLAP-Objekte wiederhergestellt werden. Um die Metadaten für das ROLAP-Objekt wiederherzustellen, erstellt der Befehl "Wiederherstellen " die Tabellenstruktur in einer relationalen Datenquelle erneut.
Sie können das Location-Element in einem Wiederherstellungsbefehl 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 des neuen Speicherorts festlegen. Während der Wiederherstellung ersetzt der Befehl "Wiederherstellen" die Verbindungszeichenfolge für die durch die DataSourceID-Eigenschaft des Location-Elements identifizierte Verbindungszeichenfolge durch den Wert der ConnectionString-Eigenschaft des Location-Elements.
Synchronisieren von Datenbanken
Der Befehl "Synchronisieren" synchronisiert die Daten und Metadaten einer angegebenen SQL Server Analysis Services Datenbank mit einer anderen Datenbank. Der Befehl "Synchronisieren" verfügt über verschiedene Eigenschaften, mit denen Sie die Quelldatenbank angeben können, wie Sicherheitsdefinitionen synchronisiert werden, die Remotepartitionen synchronisiert werden sollen, und die Synchronisierung von ROLAP-Objekten.
Hinweis
Der Befehl " Synchronisieren " 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 Befehls "Synchronisieren " 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 Befehl "Synchronisieren " ausgeführt wird.
Wenn die ApplyCompression-Eigenschaft des Befehls "Synchronisieren " auf "true" festgelegt ist, werden die Informationen, die aus der Quelldatenbank an die Zieldatenbank gesendet werden, komprimiert, bevor sie gesendet werden.
Synchronisieren von Sicherheitseinstellungen
Die SynchronizeSecurity-Eigenschaft bestimmt, ob der Befehl "Synchronisieren " die Sicherheitsdefinitionen synchronisiert, z. B. Rollen und Berechtigungen, die in der Quelldatenbank definiert sind. Die SynchronizeSecurity-Eigenschaft bestimmt auch, ob der Befehl Sychronize 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 Remotedatenquelle, die in der Quelldatenbank vorhanden ist, können Sie jede zugeordnete Remotepartition synchronisieren, indem Sie ein Location-Element in die Location-Eigenschaft des Befehls "Synchronisieren " einschließen. Für jedes Location-Element muss die DataSourceType-Eigenschaft ausgeschlossen oder explizit auf Remote festgelegt werden.
Zum Definieren und Herstellen einer Verbindung mit einer Remotedatenquelle in der Zieldatenbank verwendet der Befehl "Synchronisieren " die in der ConnectionString-Eigenschaft des Location-Elements definierte Verbindungszeichenfolge. Der Befehl "Synchronisieren " verwendet dann die DataSourceID-Eigenschaft des Location-Elements , um zu ermitteln, welche Remotepartitionen synchronisiert werden sollen. Der Befehl "Synchronisieren" synchronisiert die Remotepartitionen der remotedatenquelle, die in der DataSourceID-Eigenschaft in der Quelldatenbank mit der in der DataSourceID-Eigenschaft in der Zieldatenbank angegebenen Remotedatenquelle angegeben ist.
Für jeden ursprünglichen Ordner, der zum Speichern der Remotepartitionen in der Remotedatenquelle in der Quelldatenbank verwendet wird, können Sie auch ein Folder-Element im Location-Element angeben. Das Folder-Element gibt den neuen Ordner für die Zieldatenbank an, in dem alle Remotepartitionen synchronisiert werden sollen, die im ursprünglichen Ordner in der Remotedatenquelle gespeichert sind. Wenn ein Folder-Element nicht angegeben ist, verwendet der Befehl "Synchronisieren" die ursprünglichen Ordner, die für Remotepartitionen angegeben sind, die in der Quelldatenbank enthalten sind.
Synchronisieren von ROLAP-Objekten
Der Befehl "Synchronisieren " kann keine Aggregationen oder Daten für Objekte synchronisieren, die ROLAP-Speicher 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. Um die Metadaten zu synchronisieren, erstellt der Befehl "Synchronisieren " die Tabellenstruktur in einer relationalen Datenquelle neu.
Sie können das Location-Element in einem Befehl "Synchronisieren" 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. . Außerdem müssen Sie die ConnectionString-Eigenschaft des Location-Elements auf die Verbindungszeichenfolge des neuen Speicherorts festlegen. Während der Synchronisierung ersetzt der Befehl "Synchronisieren " die Verbindungszeichenfolge für die datenquelle, die durch die 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