Mergecontentdbs: операция Stsadm (Office SharePoint Server)
Описание
Позволяет переместить семейство сайтов из одной базы данных контента в другую, если указаны параметры sourcedatabasename и destinationdatabasename.
Исходная и целевая базы данных должны находиться в одном и том же экземпляре Microsoft SQL Server и быть прикреплены к одному веб-приложению. Для поддержания оптимальной производительности не перемещайте более 250 семейств сайтов за один раз. Перемещение большего числа семейств сайтов может значительно снизить производительность системы.
Примечание
Операция mergecontentdbs была впервые введена в Microsoft Office SharePoint Server 2007 с пакетом обновления 1.
Важно!
Накопительное обновление, выпущенное в апреле, включает исправления известных проблем, касающихся операции Stsadm mergecontentdbs. Подробности см. в статье Команда Stsadm Mergecontentdbs может вызвать повреждение базы данных (на английском языке). Если планируется слияние или разделение баз данных контента, настоятельно рекомендуется установить накопительное обновление, выпущенное в апреле.
Синтаксис
stsadm -o mergecontentdbs
-url <URL-имя>
-sourcedatabasename <имя исходной базы данных>
-destinationdatabasename <имя целевой базы данных>
[-operation] {1-3}
** 1 — анализ (по умолчанию)**
2 — полное слияние баз данных
3 — чтение из файла
[-filename] <файл, созданный в результате выполнения команды stsadm -o enumsites>
Параметры
Имя параметра |
Значение |
Требуется? |
Описание |
url-адрес |
Допустимый URL-адрес, например, "http://*имя_сервера*" |
Да |
URL-адрес веб-приложения, слияние баз данных которого необходимо выполнить. |
sourcedatabasename |
Допустимое имя базы данных, например, "WSS_Content_1 |
Да |
Имя базы данных, из которой будут перемещены семейства сайтов. |
destinationdatabasename |
Допустимое имя базы данных, например, "WSS_Content_2" |
Да |
Имя базы данных, куда будут перемещены семейства сайтов. |
operation |
Одно из следующих значений
|
Нет |
1 — анализ. Указывает, что в окне команд отображается текущее число семейств сайтов, размер базы данных, максимальное число семейств сайтов и то число семейств сайтов, которое можно добавить к каждой базе данных контента до того, как будет достигнуто максимальное число. Кроме того, в окне команд содержатся рекомендации по выбору исходной и целевой баз данных контента при условии, что будут перемещены все семейства сайтов. Эти рекомендации основываются на том, в какой из баз данных содержится меньший объем данных и, следовательно, для ее перемещения потребуется меньше времени. Это значение установлено по умолчанию. 2 — полное слияние базы данных. Осуществляет слияние всей базы данных контента из одной базы данных в другую. После завершения операции исходная база данных контента сохраняется в Microsoft SQL Server и остается прикрепленной к веб-приложению, но теперь в ней нет семейств сайтов. 3 — чтение из файла. Перемещает только подмножество семейств сайтов из исходной базы данных в целевую. Необходимо перечислить перемещаемые семейства сайтов в файле, на который указывает параметр filename. |
filename |
Допустимое имя файла, например, "sites.xml" |
Нет |
Определяет конкретное семейство сайтов исходной базы данных контента, которое необходимо переместить в целевую базу данных Эти сведения получены с помощью параметра databasename операции Enumsites. Примечание Параметр databasename впервые введен в Office SharePoint Server 2007 с пакетом обновления 1. Примечание С помощью оператора перенаправления ">" можно преобразовать выходные данные в формате XML операции enumsites в текстовый файл. |
Примечания
Перед выполнением операции Stsadm mergecontentdbs необходимо:
убедится в наличии свободного пространства, объем которого не менее чем в три раза превышает размер исходного семейства сайтов. Для определения размера семейства сайтов используется Enumsites: операция stsadm (Office SharePoint Server).
Убедитесь, что данные синхронизированы между профилями и сайтами баз данных. Для этого запустите операцию preparetomove.
Чтобы переместить семейство сайтов из одной базы данных в другую, необходимо быть членом группы администратором фермы и локальных администраторов и иметь полный доступ к любому семейству сайтов, которое нужно переместить. Чтобы предоставить это разрешение, в центре администрирования выберите Управление приложением, Безопасность приложений и Политика для веб-приложения. Учетная запись, используемая для выполнения этой процедуры, должна быть членом предопределенной роли базы данных db_owner SQL Server.
После успешного перемещения сайта нужно удалить или изменить уровень разрешений учетной записи с помощью страницы "Политика для веб-приложения". Если учетная запись используется для других служб, вернитесь к исходному уровню разрешений.
Если у пользователя нет необходимых для выполнения операции разрешений, появится следующее сообщение об ошибке: "Перемещение сайтов... Другой сайт существует по адресу /сайты/тест. Удалите этот сайт перед созданием нового сайта с таким же URL-адресом, выберите новый URL-адрес или создайте новое включение в указанном месте".
После завершения перемещения выполните команду iisreset /noforce на каждом интерфейсном веб-сервере фермы. После перемещения большого объема данных может понадобиться сжать базы данных SQL и журналы операций. Дополнительные сведения о сжатии баз данных SQL см. в разделе Как сжать базу данных (среда SQL Server Management Studio) (https://msdn2.microsoft.com/ru-ru/library/ms189035.aspx).
Примеры.
Слияние баз данных контента с использованием параметра "filename"
В этом примере "WSS_Content_1" и "WSS_Content_2" — имена баз данных контента**.**
Для создания списка сайтов в файле sites.xml с помощью операции перенаправления ">" используйте следующий синтаксис:
stsadm -o enumsites -url http://<servername> –databasename WSS_Content_1 > sites.xml
Примечание
Оператор перенаправления ">" перенаправляет выходные данные в текстовый файл sites.xml. После этого можно изменить этот файл таким образом, чтобы в нем перечислялись семейства сайтов, которые следует переместить.
Чтобы переместить семейства сайтов, перечисленные в файле sites.xml, из одной базы данных контента в другую, используйте следующий синтаксис:
stsadm -o mergecontentdbs -url http://<servername> -sourcedatabasename WSS_Content_1 -destinationdatabasename WSS_Content_2 -operation 3 -filename sites.xml
Примечание
Цифра 3 в параметре operation соответствует операции "Чтение из файла".
После перемещения семейства сайтов и вступления изменений в силу на всех интерфейсных веб-серверах в ферме, выполните следующую команду в командной строке:
iisreset /noforce
См. также
Другие ресурсы
Операция Mergecontentdbs может вызвать повреждение базы данных (на английском языке)