|
Компьютерный форум OSzone.net » Серверные продукты Microsoft » Другие серверные продукты » Sharepoint - [решено] Перенос баз данных MS Sharepoint Server с одного MS SQL на другой |
|
Sharepoint - [решено] Перенос баз данных MS Sharepoint Server с одного MS SQL на другой
|
Старожил Сообщения: 312 |
Добрый день.
Публикую краткую инструкцию по переносу баз данных MS Sharepoint Server с одного MS SQL на другой (больше для себя, чтобы не забыть, но, может, кому и понадобится). Я руководствовался инструкцией по вот этой ссылке, но по дороге образовалось несколько подводных камней. Первое: инструментарий. Безусловно, самый удобный инструмент - SS Management Studio. Но тут кроется засада №1. SSMS надо использовать в строгом соответствии с версией SQL сервера. Если 2017-й, то 18-ю версию SSMS. Если 2019-й, то 19-ю (на днях вышла 20-я, но я её ещё не успел попробовать). Если переносить базы 2017-го сервера 19-й версией - могут возникнуть неприятные артефакты. Да, конечно же, донорский и целевой SQL-сервера должны быть одной версии. Второе: бэкапы. Тут ничего особого говорить не буду: если вы их не делаете перед такими операциями, вам не нужно этим заниматься. Третье (очевидное): всё надо делать пользователем, входящим в группу "Администраторы", которому на обоих серверах присвоены роли db_backupoperator и db_owner. Итак. Действие первое (после бэкапов) - останавливаем все службы Sharepoint, IIS и Project Server (если есть). Если что-то не остановите - у вас не отцепятся от SQL сервера базы. Страшного ничего не случится - просто ищите неостановленные службы и пробуйте заново отцепить базы. Действие второе: отцепляем базы от сервера с помощью SSMS (перечень баз можно увидеть в консоли SharePoint-а командой Get-SPDatabase). Тут есть альтернатива: можно воспользоваться встроенным в SSMS мастером копирования баз. Но он требует поднятого на целевом сервере агента MS SQL. Я делал и так, и так - показалось надёжнее детачить их руками. Хотя бы потому, что нет опасности перепутать в дальнейшем базы на разных серверах. Действие третье: копируем базы с донорского сервера на целевой. Обычным файловым копированием. На каждую БД должно быть два файла - .mdf и .ldf. Действие четвёртое: копируем имена входа. По этой ссылке можно найти скрипт переноса имён входа и паролей. Он довольно сложен, создаёт хранимые процедуры на донорском сервере, что на продакшене делать страшновато. Как показала практика, он имеет смысл для переноса только имён входа с SQL-аутентификацией. Доменные имена входа можно (и проще) создать руками на новом сервере, беспокоиться за их гранты не надо - они приедут в файлах БД. Ну или у вас стопицот имён входа - тогда гоните скрипт. В моём случае было 2 реальных пользователя и 6 служебных SharePoint - создал руками. Действие пятое: аттачим в SSMS базы к новому серверу. Ничего сложного, просто долго и муторно кликаем. Действие шестое и самое интересное. Сопоставление имён серверов на сервере Sharepoint. В вышеуказанной методичке рекомендуется с помощью утилиты клиента SQL Server cliconfg.exe создать псевдоним - чтобы при обращении к <OLDSQL> подставлялось <NEWSQL>. Это рабочее решение, но мне оно не показалось красивым. Поэтому я поменял имя сервера в конфигах Sharepoint руками: в C:\ProgramData\Microsoft\SharePoint\Config\ нашёл контекстным пользователем три XML файла со строками connectionString">Data Source=<OLDSQL> и поменял там содержимое на <NEWSQL>. Подозреваю, что хватило бы одного, но правил во всех. Возможно, это ещё обнаружится в C:\Program Files\AppFabric 1.1 для Windows Server\DistributedCacheService.exe.config - там тоже надо поменять. Ну и вообще прошерстить регистри поиском <OLDSQL> не вредно будет. После этого перегружаем сервер Sharepoint и, если мы всё сделали правильно, радуемся. |
|
Отправлено: 14:48, 22-03-2024 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
MSFT SQL Server - [решено] Перенос БД MS SQL Server 2000 на другой сервер с учетными записями | Tempys | Программирование и базы данных | 0 | 28-01-2021 19:00 | |
MSFT SQL Server - Перенос баз (пользователей) между разными серверами MS SQL 2014. | vasecha | Программирование и базы данных | 0 | 15-09-2018 17:37 | |
MSFT SQL Server - Есть ли способ перейти с MS SQL 2005 на MS SQL 2000 | elec | Программирование и базы данных | 10 | 18-04-2013 12:35 | |
MSFT SQL Server - [решено] Перенос базы данных с MS SQL 2003 Enterprise --> 2005 Standart | Arkey | Программирование и базы данных | 6 | 31-03-2009 02:23 | |
Подбор - MS Win 2003 Server + MS SQL 2005 на кластер | PetrK | Лицензирование продуктов Microsoft | 0 | 22-02-2008 14:12 |
|