Перемещение баз данных контента (SharePoint Server 2010)

 

Применимо к: SharePoint Foundation 2010, SharePoint Server 2010

Последнее изменение раздела: 2016-11-30

В данной статье описывается перемещение баз данных контента между серверами, на которых запущена система Microsoft SQL Server, между экземплярами SQL Server или из одного веб-приложения Microsoft SharePoint Server 2010 в другое. Перемещение базы данных контента можно использовать для балансировки нагрузки на сервере базы данных или в веб-приложении.

Важно!

В статье рассматривается лишь перемещение баз данных контента. Перемещение баз данных других видов, связанных с SharePoint Server 2010, освещается в разделах Переименование или перемещение баз данных приложений-служб (SharePoint Server 2010) и Перемещение всех баз данных (SharePoint Server 2010).

Обзор перемещения баз данных контента

При перемещении баз данных контента следует использовать как средства SharePoint Server 2010, так и SQL Server. Можно использовать либо веб-сайт центра администрирования SharePoint Server, либо Windows PowerShell 2,0. Порядок действий при перемещении баз данных контента следующий:

  1. Запишите имя базы данных контента и имя связанного с ней веб-приложения. Дополнительные сведения см. в разделе Чтобы составить список баз данных контента, связанных с каждым веб-приложением.

  2. Приостановите все службы и приложения-службы, которые могут запускаться для этой базы данных, включая задания таймера и процедуры обхода. Дополнительные сведения см. в разделах Чтобы приостановить задания таймера с помощью Windows PowerShell (вариант 1) и Чтобы приостановить задания таймера с помощью центра администрирования (вариант 2).

  3. В SharePoint Server удалите базу данных контента из веб-приложения через центр администрирования или с помощью Windows PowerShell 2,0. Если баз данных несколько, то, как правило, процесс удаления выполняется быстрее скриптом Windows PowerShell 2,0. Дополнительные сведения см. в разделах Чтобы отсоединить базы данных контента от веб-приложения с помощью центра администрирования (вариант 1) и Чтобы отсоединить базы данных контента от веб-приложения с помощью Windows PowerShell (вариант 2).

  4. В SQL Server отсоедините базу данных от текущего экземпляра. Дополнительные сведения см. в разделе Чтобы отсоединить базы данных контента от SQL Server.

  5. В проводнике Windows скопируйте или переместите файлы .mdf, .ndf и .ldf, связанные с базой данных, из исходного расположения в место назначения. Дополнительные сведения см. в разделе Чтобы переместить базы данных контента на новое место.

    Примечание

    Базы данных можно также перемещать путем резервного копирования и последующего восстановления; эти процедуры в данной статье не рассматриваются. Дополнительные сведения см. в разделе Резервное копирование и восстановление (SharePoint Server 2010).

  6. В SQL Server подсоедините базу данных к новому экземпляру. Дополнительные сведения см. в разделе Чтобы подсоединить базы данных контента к новому экземпляру SQL Server.

  7. В SharePoint Server добавьте базы данных контента в конечное веб-приложение. Проследите, чтобы при повторном подсоединении базы данных контента использовалось то же самое имя. Иначе в SharePoint Server будет создана новая база данных контента. Для выполнения данного действия можно использовать либо центр администрирования, либо Windows PowerShell 2,0. Дополнительные сведения см. в разделах Чтобы подсоединить базы данных контента к веб-приложению с помощью центра администрирования (вариант 1) и Чтобы подсоединить базы данных контента к веб-приложению с помощью Windows PowerShell (вариант 2).

  8. Перезапустите все службы и приложения-службы, которые должны запускаться для этой базы данных, включая задания таймера и процедуры обхода. Дополнительные сведения см. в разделах Чтобы перезапустить задания таймера с помощью Windows PowerShell (вариант 1) и Чтобы перезапустить задания таймера с помощью центра администрирования (вариант 2).

Перемещение баз данных контента

Примечание

Для выполнения процедур, описанных ниже, необходимо быть членом группы администраторов на локальных компьютерах. При работе в среде SharePoint Server 2010 с минимальными привилегиями с запуском процедур из центра администрирования вам должны быть назначены следующие роли в SQL Server:

  • Предопределенная роль базы данных dbowner для базы данных конфигурации и базы данных контента на исходном сервере — для отсоединения базы данных контента.

  • Предопределенные роли сервера dbcreator и securityadmin на конечном сервере — для подсоединения базы данных и настройки учетных данных SQL Server.

Примечание

Если база данных контента перемещается в другую ферму, необходимо в процессе восстановления включить учетную запись фермы серверов в группу администраторов сервера базы данных. Это позволит использовать данную учетную запись для репликации настроек безопасности баз данных. По окончании перемещения базы данных контента этот уровень доступа можно отменить. Дополнительные сведения см. в статье Параметры разрешений учетной записи и безопасности (SharePoint Server 2010).
Конечная ферма должна использовать ту же версию SharePoint Server 2010 (или более позднюю), что и исходная.

Чтобы составить список баз данных контента, связанных с каждым веб-приложением

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Get-SPContentDatabase -WebApplication <http://SiteName>
    

    <http://SiteName> — это URL-адрес веб-приложения.

  6. Повторите этот шаг для каждого веб-приложения.

Дополнительные сведения см в статье Get-SPContentDatabase.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Чтобы приостановить задания таймера с помощью Windows PowerShell (вариант 1)

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Get-SPTimerJob -webapplication <http://WebApplicationURL> | select name | Out-File <c:\timerjobfile.txt> -Append -Encoding ascii
    
    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) { Get-SPTimerJob -Identity $tmrjob | Disable-SPTimerjob }
    

    Здесь:

    • <http://WebApplicationURL> — веб-приложение, связанное с перемещаемыми базами данных контента.

    • <c:\timerjobfile.txt> — расположение создаваемого файла со списком всех заданий таймера, связанных с веб-приложением.

Дополнительные сведения см. в разделах Get-SPTimerJob, Out-File, ForEach-Object, Get-Content и Disable-SPTimerJob.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Чтобы приостановить задания таймера с помощью центра администрирования (вариант 2)

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, является членом группы администраторов фермы SharePoint.

  2. В центре администрирования в разделе Отслеживание нажмите кнопку Проверить состояние задания.

  3. Щелкните поочередно каждое задание, запланированное к запуску для перемещаемой базы данных контента, на открывшейся странице «Изменение задания таймера» щелкните Отключить и нажмите кнопку ОК.

  4. Если выполняется приложение-служба поиска и осуществляется обход базы данных контента, приостановите обход, как описано в разделе Start, pause, resume, or stop a crawl (SharePoint Server 2010).

Чтобы отсоединить базы данных контента от веб-приложения с помощью центра администрирования (вариант 1)

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, является членом группы администраторов фермы SharePoint.

  2. В центре администрирования в разделе Управление приложениями выберите Управление базами данных контента.

  3. На странице управления базами данных контента щелкните базу данных контента, которую требуется переместить.

    Откроется страница «Управление параметрами базы данных контента».

    Примечание

    Если требуемой базы данных контента нет в списке, возможно, она связана с другим веб-приложением. Чтобы выбрать другое веб-приложение, выберите в меню Веб-приложение пункт Изменить веб-приложение.

  4. На странице параметров управления базой данных контента в разделе Удаление базы данных контента установите флажок Удалить базу данных контента и нажмите кнопку ОК.

    Примечание

    Такое удаление не уничтожает эту базу данных контента; удаляется только связь базы данных с веб-приложением.

  5. Повторите шаги 3 и 4 для каждой базы данных контента, которую требуется удалить.

Чтобы отсоединить базы данных контента от веб-приложения с помощью Windows PowerShell (вариант 2)

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Dismount-SPContentDatabase "<ContentDB>" 
    

    Здесь <ContentDB> — имя базы данных контента.

    Примечание

    Если имеется несколько баз данных контента с одинаковым именем, в этой команде следует указать GUID базы данных контента вместо ее имени. Чтобы получить GUID базы данных контента, выполните командлет Get-SPContentDatabase без аргументов.

Дополнительные сведения см. в статьях Dismount-SPContentDatabase и Get-SPContentDatabase.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Чтобы отсоединить базы данных контента от SQL Server

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, — участник предопределенной роли базы данных db_owner на сервере базы данных, на котором хранятся базы данных.

  2. В SQL Server Management Studio откройте исходный экземпляр SQL Server и затем разверните узел Базы данных.

  3. Щелкните правой кнопкой мыши базу данных контента, выделите пункт Задачи и выберите Отключить. Повторите этот шаг для каждой базы данных контента, которую требуется переместить.

    Примечание

    Эту процедуру следует использовать только для перемещения баз данных контента. Не отсоединяйте базы данных других видов.

Чтобы переместить базы данных контента на новое место

  1. Убедитесь, что учетной записи пользователя, с помощью которой выполняется данная процедура, назначены права на запись как в исходную, так и конечную папки.

  2. Найдите в проводнике Windows файлы .mdf, .ldf и .ndf, относящиеся к базам данных контента.

  3. Выберите файлы .mdf, .ldf и .ndf для базы данных, которую требуется переместить, и скопируйте или переместите их в конечный каталог.

Чтобы подсоединить базы данных контента к новому экземпляру SQL Server

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, — участник предопределенной роли сервера dbcreator на сервере базы данных, на котором хранятся базы данных.

  2. В Management Studio откройте конечный экземпляр SQL Server.

  3. Щелкните правой кнопкой мыши узел Базы данных, выделите пункт Задачи и выберите Подключить.

  4. В диалоговом окне Присоединение базы данных перейдите в каталог, в который перенесены файлы .mdf, .ldf и .ndf, выберите файл .mdf базы данных, которую требуется подсоединить, и нажмите кнопку ОК.

  5. Повторите эти действия для каждой перемещенной базы данных контента.

Чтобы подсоединить базы данных контента к веб-приложению с помощью центра администрирования (вариант 1)

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, является участником группы администраторов фермы.

  2. В центре администрирования в разделе Управление приложениями выберите Управление базами данных контента.

  3. На странице "Управление базами данных контента" щелкните элемент Добавление базы данных контента .

  4. На странице «Добавление базы данных контента» проверьте, присутствует ли нужное веб-приложение в меню Веб-приложение.

  5. В поле Сервер укажите сервер базы данных, содержащий рассматриваемую базу данных.

  6. В поле Имя базы данных введите точное имя перенесенной базы данных контента.

    Примечание

    Проверьте правильность имени. Если оно указано неточно, будет создана новая база данных.

  7. Укажите метод проверки подлинности для базы данных и нажмите кнопку ОК.

  8. Повторите эти шаги для каждой добавляемой базы данных. Правильно выбирайте для каждой из них соответствующее веб-приложение в меню Веб-приложение.

Чтобы подсоединить базы данных контента к веб-приложению с помощью Windows PowerShell (вариант 2)

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    Mount-SPContentDatabase "<ContentDB>" -DatabaseServer "<DBServer>" -WebApplication <http://SiteName>
    

    Здесь:

    • <ContentDB> — подсоединяемая база данных контента.

    • <DBServer> — имя сервера базы данных.

    • <http://SiteName> — это URL-адрес веб-приложения, к которому подсоединяется база данных контента.

Дополнительные сведения см в статье Mount-SPContentDatabase.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Чтобы перезапустить задания таймера с помощью Windows PowerShell (вариант 1)

  1. Проверьте, выполняются ли следующие минимальные требования: См. статью Add-SPShellAdmin.

  2. В меню Пуск выберите пункт Все программы.

  3. Выберите пункт Продукты Microsoft SharePoint 2010.

  4. Щелкните компонент Командная консоль SharePoint 2010.

  5. В командной строке Windows PowerShell введите следующую команду:

    ForEach($tmrjob in (Get-Content <c:\timerjobfile.txt>)) {Get-SPTimerJob -Identity $tmrjob | Enable-SPTimerjob}
    

    Здесь:

    • <c:\timerjobfile.txt> — расположение созданного файла со списком всех заданий таймера, связанных с веб-приложением.

Дополнительные сведения см. в разделах Get-SPTimerJob, ForEach-Object, Get-Content и Enable-SPTimerJob.

Примечание

Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

Чтобы перезапустить задания таймера с помощью центра администрирования (вариант 2)

  1. Убедитесь, что учетная запись пользователя, с помощью которой выполняется данная процедура, является участником группы администраторов фермы.

  2. В центре администрирования в разделе Отслеживание нажмите кнопку Проверить состояние задания.

  3. Щелкните поочередно каждое запланированное задание, которое ранее было отключено, на открывшейся странице изменения задания таймера щелкните Включить и нажмите кнопку ОК.

  4. Если выполняется приложение-служба поиска и осуществляется обход базы данных контента, возобновите обход, как описано в разделе Start, pause, resume, or stop a crawl (SharePoint Server 2010). Необходимо выполнить полный обход базы данных контента.