Mergecontentdbs: операция Stsadm (службы Windows SharePoint Services)

Описание

Позволяет переместить семейство веб-сайтов из одной базы данных контента в другую, если указаны параметры sourcedatabasename и destinationdatabasename.

Исходная и целевая базы данных должны находиться в одном и том же экземпляре Microsoft SQL Server и быть прикреплены к одному веб-приложению. Для поддержания оптимальной производительности не перемещайте более 250 семейств веб-сайтов за один раз. Перемещение большего числа семейств веб-сайтов может значительно снизить производительность системы.

Примечание

Операция mergecontentdbs была впервые введена в Windows SharePoint Services 3.0 с пакетом обновления 1.

Важно!

Апрельское накопительное обновление устраняет известные проблемы с операцией mergecontentdbs программы командной строки Stsadm. Подробные сведения об этой проблеме см. в статье Команда Mergecontentdbs программы Stsadm может вызывать повреждение базы данных (на английском языке). Если планируется объединение или разделение баз данных контента, настоятельно рекомендуется установить апрельское накопительное обновление.

Синтаксис

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 впервые введен в Windows SharePoint Services 3.0 с пакетом обновления 1.

Примечание

С помощью оператора перенаправления ">" можно преобразовать выходные данные в формате XML операции enumsites в текстовый файл.

Примечания

Для выполнения операции mergecontentdbs программы Stsadm требуется:

  • свободное пространство, объем которого не менее чем в три раза превышает размер исходного семейства сайтов. Чтобы определить размер семейства сайтов, обратитесь к процедуре, описанной в статье Enumsites: операция Stsadm (Windows SharePoint Services).

Чтобы переместить семейство веб-сайтов из одной базы данных в другую, необходимо быть членом группы администраторов фермы и локальной группы администраторов и обладать полным доступом к любому семейству веб-сайтов,который необходимо переместить. Чтобы предоставить это разрешение, в центре администрирования выберите Управление приложениями, Безопасность приложений, а затем Политика для веб-приложения. Учетная запись, используемая для выполнения этой процедуры, должна быть членом фиксированной роли db_owner базы данных в SQL Server.

После успешного перемещения веб-сайта удалите или измените уровень разрешений учетной записи на странице "Политика для веб-приложения". Если учетная запись используется для других служб, восстановите исходный уровень разрешений.

Если разрешения на выполнение данной операции отсутствуют, отобразится сообщение об ошибке: "Перемещение узлов... По адресу /sites/test уже существует сайт. Удалите его, прежде чем создавать новый сайт с тем же URL-адресом, либо выберите новый URL-адрес, либо создайте новое включение в ранее указанном пути".

После завершения перемещения выполните команду iisreset /noforce на каждом интерфейсном веб-сервере фермы. После перемещения большого объема данных может понадобиться сжать базы данных SQL и журналы операций. Дополнительные сведения о сжатии баз данных SQL см. в разделе Как сжать базу данных (среда SQL Server Management Studio) (https://go.microsoft.com/fwlink/?linkid=102959&clcid=0x419).

Примеры

Слияние баз данных контента с использованием параметра "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://<имя_сервера> -sourcedatabasename WSS_Content_1 -destinationdatabasename WSS_Content_2 -operation 3 -filename sites.xml

Примечание

Цифра 3 в параметре operation соответствует операции "Чтение из файла".

После перемещения семейства веб-сайтов и вступления изменений в силу на всех интерфейсных веб-серверах в ферме, выполните следующую команду в командной строке:

iisreset /noforce

См. также

Другие ресурсы

Операция Mergecontentdbs может вызывать повреждение базы данных (на английском языке)