Mergecontentdbs: Stsadm-Vorgang (Windows SharePoint Services)
Mit diesem Vorgang kann eine Websitesammlung von einer Inhaltsdatenbank in eine andere verschoben werden, wenn die Parameter sourcedatabasename und destinationdatabasename angegeben sind.
Die Quell- und Zieldatenbanken müssen sich in derselben Microsoft SQL Server-Instanz befinden und mit der gleichen Webanwendung verbunden sein. Verschieben Sie zum Optimieren der Leistung maximal 250 Websitesammlungen auf einmal. Wenn Sie eine größere Anzahl von Websitesammlungen als diese gleichzeitig verschieben, kann dies die Leistung erheblich verringern.
Hinweis
Der mergecontentdbs-Vorgang wurde erstmalig in Windows SharePoint Services 3.0 Service Pack 1 eingeführt.
Wichtig
Im kumulativen Update vom April wurden bekannte Probleme behoben, die sich auf den Stsadm-Vorgang mergecontentdbs auswirken. Einzelheiten zu diesem Problem finden Sie unter Der Stsadm-Befehl "Mergecontentdbs" kann Datenbankfehler verursachen. Wenn Sie vorhaben, Inhaltsdatenbanken zusammenzuführen oder zu teilen, wird die Installation des kumulativen Updates vom April dringend empfohlen.
stsadm -o mergecontentdbs
-url <URL-Name>
-sourcedatabasename <Quelldatenbankname>
-destinationdatabasename <Zieldatenbankname>
[-operation] {1-3}
** 1 - Analysieren (Standard)**
** 2 - Vollständige Zusammenführung der Datenbank**
** 3 - Lesen aus Datei**
[-filename] <mit "stsadm -o enumsites" erstellte Datei>
Parametername |
Wert |
Erforderlich? |
Beschreibung |
url |
Eine gültige URL, z. B. http://*Servername* |
Ja |
Die URL der Webanwendung, deren Datenbanken Sie zusammenführen möchten. |
sourcedatabasename |
Ein gültiger Datenbankname, z. B. WSS_Content_1 |
Ja |
Der Name der Datenbank, aus der die Websitesammlungen verschoben werden. |
destinationdatabasename |
Ein gültiger Datenbankname, z. B. WSS_Content_2 |
Ja |
Der Name der Datenbank, in die die Websitesammlungen verschoben werden. |
operation |
Einer der folgenden Werte:
|
Nein |
1 - Analysieren: Gibt an, dass im Befehlsfenster die aktuelle Anzahl von Websitesammlungen, die Datenbankgröße, die maximale Anzahl von Websitesammlungen und die Anzahl der Websitesammlungen angezeigt werden soll, die vor dem Erreichen der maximalen Anzahl von Websitesammlungen für jede Inhaltsdatenbank hinzugefügt werden können. Außerdem wird im Befehlsfenster unter der Annahme, dass alle Websitesammlungen in der Datenbank verschoben werden, eine Empfehlung angezeigt, welche Inhaltsdatenbank als Quelle und welche als Ziel verwendet werden soll. Diese Empfehlung beruht darauf, welche Inhaltsdatenbank weniger Daten enthält und deshalb schneller verschoben werden kann. Dies ist die Standardeinstellung. 2 - Vollständige Zusammenführung der Datenbank: Führt die gesamte Inhaltsdatenbank aus einer Datenbank mit einer anderen zusammen. Auch nach Abschluss des Vorgangs ist die Quellinhaltsdatenbank weiterhin in Microsoft SQL Server vorhanden und weiterhin mit der Webanwendung verbunden. Allerdings enthält sie keine Websitesammlungen mehr. 3 - Lesen aus Datei: Verschiebt nur einen Teil der Websitesammlungen aus der Quell- in die Zieldatenbank. Die zu verschiebenden Websitesammlungen müssen in einer Datei aufgelistet sein, die mit dem filename-Parameter angegeben wird. |
filename |
Ein gültiger Dateiname, z. B. sites.xml |
Nein |
Gibt eine bestimmte Websitesammlung in der Quellinhaltsdatenbank an, die in die Zieldatenbank verschoben werden soll. Diese Informationen werden mit dem databasename-Parameter des Enumsites-Vorgangs abgerufen. Hinweis Der databasename-Parameter wurde erstmalig in Windows SharePoint Services 3.0 mit Service Pack 1 eingeführt. Hinweis Mit dem Umleitungsoperator ">" können Sie die XML-Ausgabe des enumsites-Vorgangs in einer Textdatei erfassen. |
Vor dem Ausführen des Stsadm-Vorgangs mergecontentdbs müssen folgende Anforderungen erfüllt sein:
- Es muss ausreichend freier Speicherplatz verfügbar sein, der mindestens dreimal die Größe der Quellwebsitesammlung beträgt. Verwenden Sie Enumsites: Stsadm-Vorgang (Windows SharePoint Services), um die Größe der Websitesammlung zu bestimmen.
Wenn Sie eine Websitesammlung aus einer Datenbank in eine andere Datenbank verschieben möchten, müssen Sie Mitglied sowohl der Farmadministratorengruppe als auch der lokalen Administratorgruppe sein und müssen über die Berechtigung Vollzugriff für alle zu verschiebenden Websitesammlungen verfügen. Zum Erteilen dieser Berechtigung klicken Sie in der Zentraladministration auf Anwendungsverwaltung, auf Anwendungssicherheit und schließlich auf Richtlinie für Webanwendung. Das Konto, das Sie für dieses Verfahren verwenden, muss Mitglied der festen Datenbankrolle db_owner in SQL Server sein.
Nachdem die Website erfolgreich verschoben wurde, entfernen oder ändern Sie Ihre Kontoberechtigungsstufe mithilfe der Seite Richtlinie für Webanwendung. Wenn Ihr Konto für andere Dienste verwendet wird, setzen Sie es auf die ursprüngliche Berechtigungsstufe zurück.
Falls Sie nicht über die erforderlichen Berechtigungen zum Ausführen dieses Vorgangs verfügen, wird die folgende Fehlermeldung angezeigt: "Unter '/sites/test' ist bereits eine andere Website vorhanden. Bevor Sie eine neue Website mit der gleichen URL erstellen, löschen Sie diese Website, wählen Sie eine neue URL aus, oder erstellen Sie eine neue Inklusion im ursprünglich angegebenen Pfad."
Nach dem Verschieben müssen Sie den Befehl iisreset /noforce auf allen Front-End-Webservern in der Farm ausführen. Wenn eine große Datenmenge verschoben wurde, empfiehlt es sich, die Microsoft SQL-Datenbanken und -Transaktionsprotokolle zu verkleinern. Weitere Informationen zum Verkleinern von SQL-Datenbanken finden Sie unter Vorgehensweise: Verkleinern einer Datenbank (SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=102959&clcid=0x407).
In diesem Beispiel lauten die Namen der Inhaltsdatenbanken WSS_Content_1 und WSS_Content_2.
Erstellen Sie mit folgender Syntax und dem Umleitungsoperator ">" eine Liste der Websites in der Datei sites.xml:
stsadm -o enumsites -url http://<Servername> -databasename WSS_Content_1 > sites.xml
Hinweis
Mit dem Umleitungsoperator ">" wird die Ausgabe in die Textdatei sites.xml umgeleitet. Anschließen können Sie die Datei sites.xml so bearbeiten, dass darin die zu verschiebenden Websitesammlungen aufgeführt sind.
Verschieben Sie mit folgender Syntax die in der Datei sites.xml angegebenen Websitesammlungen aus einer Inhaltsdatenbank in eine andere:
stsadm -o mergecontentdbs -url http://<servername> -sourcedatabasename WSS_Content_1 -destinationdatabasename WSS_Content_2 -operation 3 -filename sites.xml
Hinweis
Die Zahl 3 nach dem operation-Parameter bedeutet Lesen aus Datei.
Stellen Sie nach dem Verschieben der Websitesammlung sicher, dass die Änderungen auf allen Front-End-Webservern in der Farm wirksam werden, indem Sie an einer Eingabeaufforderung folgenden Befehl ausführen:
iisreset /noforce
Der Stsadm-Befehl "Mergecontentdbs" kann Datenbankfehler verursachen