Как перенести базы данных SharePoint 2010 на другой SQL сервер
2010-11-09, 02:50 / ArgonВ данной статье я поделюсь опытом, полученным в ходе совершения «ошибок трудных» при переносе баз данных SharePoint с одного удаленного сервера SQL на другой.
Компоненты SharePoint
Рассмотрим топологию компонентов SharePoint 2010:
- Ферма SharePoint
- База данных конфигурации — единое место, где хранится конфигурация фермы SharePoint, именно здесь содержится информация о других базах данных и серверах приложений. При добавлении нового сервера в ферму SharePoint установщик первым делом спрашивает, к какой базе данных конфигурации подключаться.
- Базы данных контента — в них хранится содержимое сайтов фермы.
- Сервера приложений — собственно, это и есть сам SharePoint; состоит из множества служб, одни выполняют обработку HTTP-запросов пользователей, другие — всякие фоновые задания.
Хотя все компоненты SharePoint можно устанавливать на один сервер, лучшей практикой считается разнести сервер приложений и сервер баз данных.
Перемещение баз данных контента
Базы этого типа можно легко мигрировать между серверами БД, достаточно выбранную базу удалить из конфигурации SharePoint (на странице узла администратора /_admin/CNTDBADM.aspx), а затем добавить в конфигурацию уже по новому адресу. Более подробно этот процесс расписан в статье TechNet Move content databases.
Перемещение всех баз данных SharePoint
Как упоминалось выше, SharePoint использует не только легко переносимые базы данных контента, но и центральную базу конфигурации, которая привязана к имени сервера, а потому так просто не переносится.
Хотя в библиотеке TechNet есть статья с названием Move all databases, действия, описанные в ней, не приводят к чистому изменению всех путей к базам данных… В этих путях по-прежнему фигурирует старое имя сервера, а доступ к новому серверу перенаправляется с помощью Alias-a. Это работает, если старый сервер функционирует, либо DNS имя старого сервера теперь ссылается на новый сервер. Но такие костыли не каждого устроят.
Если поискать в интернете, то можно найти такой способ переноса базы данных конфигурации: предлагают после переноса баз данных на новый сервер выполнить команды:
stsadm -o setconfigdb -connect -databaseserver NEWSERVER -databasename SharePoint_Config -farmuser DOMAIN\USER -farmpassword PASSWORD
Но по их выполнению нас ждет разочарование:
Имя параметра: str
И мы получим не работающую конфигурацию, и спасет нас только откат на резервную копию базы SharePoint_Config.
Итак, работающий алгоритм переноса всех баз данных SharePoint с одного сервера Microsoft SQL на другой.
1. Резервное копирование всех относящихся к SharePioint баз данных (можно посмотреть на странице узла администратора /_admin/DatabaseStatus.aspx) на старом сервере.
2. Восстановление БД из сделанных резервных копий на новом сервере.
3. Выполнение команды:
4. Profit.
Этот алгоритм применим только в том случае, если имя нового сервера в конфигурации SharePoint не упоминается (на странице узла администратора /_admin/FarmServers.aspx), то есть на новом сервере:
- нет компонентов сервера приложений SharePoint
- нет других БД SharePoint
Если ваша конфигурация фермы SharePoint не подходит для выполнения приведенного выше алгоритма, её можно привезти к необходимым условиям, выполнив, например,
- Установку сервера приложений на другом сервере
- Удаление компонент сервера приложений со старого сервера
- Чистый перенос баз данных по вышеприведенному алгоритму
- Если понадобится, вновь установка компонент сервера приложений на старом сервере, но уже с указанием нового сервера в качестве БД.
Рубрика | Tips and Tricks |
---|---|
Метки | sharepoint, sql server |
Опубликовано | 2010-11-09, 2:50; обновлено 2010-11-09, 02:49 |
Комментарии | 5 комментариев » | Лента комментариев RSS |
Ссылки | Постоянная ссылка | Обратная ссылка |
5 комментариев
А как посмотреть что перенос прошёл успешно? и ещё.. БД контента отдельно переносить надо?
Очень годная и простая статья. Большое спасибо. Подходит и для Sharepoint 2013
Единственно не получилось stsadm.exe. Вернее он поменял значение, по после перегрузки все вернулось как было. Прищлось таки использовать алиасы