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 — полное слияние баз данных

  • 3 — чтение из файла

Нет

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 может вызвать повреждение базы данных (на английском языке)