понедельник, 1 июня 2015 г.

SharePoint. Error: Cannot complete the copy or merge operation because the database schema versions are different


Ошибка возникла при попытке перенести коллекцию сайтов в другую базу данных контента.
Как это делать можно узнать по ссылке. Если кратко, то необходимо выполнить следующий PowerShell коммандлет:

Move-SPSite <http://ServerName/SiteName> -DestinationDatabase <DestinationContentDb>

Что бы исправить ошибку необходима одинаковая схема БД контента источника и цели, т.е. куда переноситься коллекция. Еще проще говоря, БД контента должны иметь идентичную схему, что бы была возможность переноса коллекций сайтов между ними.
Как могло получиться, что схемы разные? Скорее всего после обновления. Новая БД контента создается по новой схеме, а старая работает в диапазоне совместимости.

В моём случае необходимо было обновить схему БД источника.
На картинке видно, что БД контента (WSS_Content), откуда мне необходимо перенести коллекцию сайтов - требует обновления, в отличии от БД контента в которую будет перемещена коллекция (WSS_Content_SSTD):

Что бы точно узнать версии схем - клик по имени базы, на отдельной странице будут написаны подробные сведения о БД:



Для обновления БД контента необходимо выполнить PowerShell скрипт:

Upgrade-SPContentDatabase <DB Name>

Подробности о коммандлете можно прочитать здесь.
Так же, если необходимо, обновите все остальные не БД контента, делается это другим коммандлетом:

(Get-SPDatabase <DB_id> ).Provision();

После обновления БД контента Вы увидите следующее:


Теперь ошибка о разности схем исчезнет и можно выполнить перенос коллекции сайтов.