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

 

**Применимо к:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**Последнее изменение раздела:**2017-09-14

Сводка. Узнайте, как перемещать базы данных контента в SharePoint Server 2016 и SharePoint 2013.

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

Важно!

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

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

В этой статье:

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

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

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

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

Прежде чем начать перемещение базы данных контента, просмотрите следующие задачи. Каждая задача представляет собой процедуру, которую следует выполнить в том порядке, в котором они перечислены. Обратите внимание: когда выполняется перемещение баз данных контента, необходимо использовать и средства 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

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

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

  • 6. Присоединение баз данных контента к новому экземпляру 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 для перемещения баз данных контента. Но при выполнении следующих процедур необходимо использовать нужное средство:

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

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

  • 6. Присоединение баз данных контента к новому экземпляру 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-адрес веб-приложения, к которому присоединяется база данных контента.

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

See also

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