Поделиться через


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

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 no-seSharePoint в Microsoft 365

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

Важно!

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

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

Перед началом работы

Прежде чем начать перемещение базы данных контента, просмотрите следующие задачи. Каждая задача представляет собой процедуру, которую следует выполнить в том порядке, в котором они перечислены. Обратите внимание, что при перемещении баз данных контента необходимо использовать средства SharePoint Server и средства SQL Server. Для этой операции можно использовать центр администрирования или Windows PowerShell 3.0.

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

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

  3. Удалить базу данных контента SharePoint Server из веб-приложения.

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

    Важно!

    Чтобы переместить файл базы данных контента в том же экземпляре SQL Server, рекомендуется использовать предложение FILENAME инструкции ALTER DATABASE . Дополнительные сведения см. в разделе Перемещение пользовательских баз данных.

    Важно!

    Чтобы переместить базу данных контента в другой экземпляр SQL Server или на другой сервер, рекомендуем использовать процедуры, описанные в статях Присоединение и отсоединение базы данных (SQL Server) или Резервное копирование и восстановление баз данных SQL Server.

  5. Скопировать или переместить MDF-, NDF- и LDF-файлы базы данных контента из исходного в конечное расположение с помощью проводника.

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

  7. Добавить базу данных контента к конечному веб-приложению в SharePoint Server.

    Важно!

    Используйте то же самое имя, когда вы добавляете базу данных контента или SharePoint Server создает новую базу данных контента.

  8. Перезапустить все приложения служб и службы, которые были приостановлены на шаге 2.

Перемещение баз данных контента с помощью центра администрирования

Используйте следующую процедуру для перемещения баз данных контента в ферме SharePoint Server с помощью центра администрирования.

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

  1. Запись баз данных контента, связанных с каждым веб-приложением, — PowerShell

  2. Отключение баз данных контента от SQL Server с помощью средств SQL Server

  3. Перемещение баз данных контента в новое расположение с помощью проводника или проводника Windows

  4. Присоединение баз данных контента к новому экземпляру SQL Server — средства SQL Server

Примечание.

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

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

На конечной ферме должна выполняться та же или более поздняя версия SharePoint Server по сравнению с версией исходной фермы.

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

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

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

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

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

Примечание.

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

2. Приостановка заданий таймера с помощью центра администрирования

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

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

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

3. Отсоединение баз данных контента от веб-приложения с помощью центра Центр администрирования

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

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

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

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

    Примечание.

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

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

    Примечание.

    Это действие не приводит к удалению самой базы данных контента. Удаляется только связь этой базы данных с веб-приложением.

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

4. Отсоединение баз данных контента SQL Server

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

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

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

    Примечание.

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

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

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

  2. С помощью проводника определите местоположение MDF-, LDF- и NDF-файлов для баз данных контента.

  3. Выберите MDF-, LDF- и NDF-файлы для базы данных, которую нужно переместить, и либо скопируйте, либо переместите их в конечный каталог.

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

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

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

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

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

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

7. Присоединение баз данных контента к веб-приложению с помощью центра Центр администрирования

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

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

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

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

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

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

    Примечание.

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

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

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

8. Перезапуск заданий таймера с помощью центра Центр администрирования

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

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

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

Перемещение баз данных контента с помощью PowerShell

Ниже описано, как переместить базы данных контента в ферме SharePoint Server, используя PowerShell.

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

  • Отключение баз данных контента от SQL Server с помощью средств SQL Server

  • Перемещение баз данных контента в новое расположение с помощью проводника

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

Примечание.

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

На конечной ферме должна выполняться та же или более поздняя версия SharePoint Server по сравнению с версией исходной фермы.

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

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

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

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

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

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

Примечание.

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

2. Приостановка заданий таймера с помощью PowerShell

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

  3. В командной строке 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 является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

3. Отсоединение баз данных контента от веб-приложения с помощью PowerShell

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

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

    Dismount-SPContentDatabase "<ContentDB>"
    

    Где: <ContentDB> — это имя базы данных контента.

    Примечание.

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

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

    Примечание.

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

4. Отсоединение баз данных контента от SQL Server

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

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

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

Примечание.

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

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

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

  2. С помощью проводника определите местоположение MDF-, LDF- и NDF-файлов для баз данных контента.

  3. Выберите MDF-, LDF- и NDF-файлы для базы данных, которую нужно переместить, и либо скопируйте, либо переместите их в конечный каталог.

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

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

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

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

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

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

7. Присоединение баз данных контента из веб-приложения с помощью PowerShell

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

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

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

    Где:

    • <ContentDB> имя базы данных контента, которую следует присоединить.

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

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

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

Примечание.

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

8. Перезапуск заданий таймера с помощью PowerShell

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

    • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

    • Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.

    • Группа администраторов для сервера, на котором выполняются командлеты PowerShell.

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

    С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.

    Примечание.

    При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.

  2. Запустите командную консоль SharePoint.

  3. В командной строке 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 является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.

См. также

Понятия

Перемещение всех баз данных в SharePoint Server