Перемещение коллекций веб-сайтов между базами данных в SharePoint Server
**Применимо к:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016
**Последнее изменение раздела:**2017-09-14
Сводка. Сведения о том, как подготавливать семейства веб-сайтов и перемещать их между базами данных SharePoint Server 2016 и SharePoint 2013.
Иногда нужно переместить одно или несколько семейств веб-сайтов в другую базу данных контента. Например, размер семейства веб-сайтов может превысить размер базы данных контента, в которой оно хранится, и придется переместить его в базу данных большего размера. В SharePoint Server эту операцию следует рассматривать как перемещение семейства веб-сайтов в базу данных контента большего размера.
Но если размер семейства веб-сайтов не достигает ожидаемого, удобно размещать несколько семейств в одной базе данных контента. В SharePoint Server этот процесс не объединяет базы данных контента, а перемещает семейства веб-сайтов в новую базу данных и объединяет их в ней.
Перемещать семейства веб-сайтов между базами данных в ферме SharePoint Server можно с помощью Microsoft PowerShell. Кроме того, переместить семейства веб-сайтов можно с помощью процедур резервного копирования и восстановления. Соответствующие сведения см. в статьях Резервное копирование семейств веб-сайтов в SharePoint Server и Восстановление семейств веб-сайтов в SharePoint Server.
В этой статье
Перед началом работы
Определение размера исходного семейства сайтов
Порядок определения размера семейства сайтов с помощью Windows PowerShell
Порядок архивирования и удаления данных аудита с помощью Windows PowerShell
Перемещение семейств сайтов между базами данных контента
Порядок перемещения одного семейства сайтов с помощью Windows PowerShell
Порядок перемещения нескольких семейств сайтов с помощью Windows PowerShell
Перед началом работы
Перед началом этих действий должны быть выполнены следующие условия:
конечная база данных контента должна существовать;
исходная и конечная базы данных контента должны быть расположены в одном экземпляре SQL Server;
исходная и конечная базы данных контента должны быть присоединены к одному и тому же веб-приложению. Дополнительные сведения о добавлении базы данных контента в веб-приложение см. в статье Добавление баз данных контента в SharePoint Server.
Определение размера исходного семейства сайтов
При перемещении семейств сайтов в другую базу данных контента данные аудита копируются. Размер данных аудита зависит от настроек сбора событий для семейства сайтов. Если данные аудита слишком велики, перед перемещением семейства сайтов можно переместить данные в другую базу данных. Для этого используйте процедуру, описанную в разделе Порядок архивации и удаления данных аудита с помощью Windows PowerShell.
Независимо от причины перемещения семейства веб-сайтов всегда следует определить размер перемещаемого семейства. Это позволяет гарантировать, что на конечном жестком диске достаточно места для размещения контента семейства веб-сайтов. Убедитесь, что на конечном жестком диске как минимум в три раза больше свободного места, чем требуется для семейства сайтов.
Совет
Можно получать текущие сведения о том, сколько места на диске используется семействами сайтов, создавая квоты сайтов и оповещения по электронной почте.
Определение размера семейства веб-сайтов с помощью PowerShell
Убедитесь, что предоставлены следующие разрешения.
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
Администратор может использовать командлет Add-SPShellAdmin для предоставления разрешений на использование командлетов SharePoint Server.
Примечание
Если у вас нет разрешений, обратитесь к администратору установки или администратору SQL Server для запроса разрешений. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите Командная консоль SharePoint.
В командной строке PowerShell введите следующие команды:
$used = (Get-SPSiteAdministration -Identity <https://ServerName/Sites/SiteName>).DiskUsed $used
Где:
- <https://ServerName/Sites/SiteName> — имя семейства веб-сайтов.
Объем пространства на диске, используемый заданным сайтом, сохраняется в переменной $used и отображается в командной строке при запуске второй команды.
Примечание
Отображаемый объем дискового пространства не учитывает пространство на диске, используемое данными аудита, перемещаемыми вместе с семейством сайтов.
Дополнительные сведения см. в статье Get-SPSiteAdministration.
Архивирование и удаление данных аудита с помощью PowerShell
Убедитесь, что предоставлены следующие разрешения.
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
Администратор может использовать командлет Add-SPShellAdmin для предоставления разрешений на использование командлетов SharePoint Server.
Примечание
Если у вас нет разрешений, обратитесь к администратору установки или администратору SQL Server для запроса разрешений. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите Командная консоль SharePoint.
В командной строке PowerShell введите следующую команду:
(Get-SPSite -Identity <https://ServerName/Sites/SiteName>).Audit.TrimAuditLog(deleteEndDate)
Где:
- <https://ServerName/Sites/SiteName> — имя семейства веб-сайтов.
Чтобы удалить данные аудита без их предварительного архивирования, введите следующую команду:
(Get-SPSite -Identity <https://ServerName/Sites/SiteName>).Audit.DeleteEntries(deleteEndDate)
Дополнительные сведения см. в статье Get-SPSite.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.
Перемещение семейств сайтов между базами данных контента
Для перемещения семейств веб-сайтов между базами контента можно использовать команду PowerShellMove-SPSite. Далее представлены две процедуры. Первая перемещает одно семейство веб-сайтов в новую базу данных контента, а вторая перемещает несколько семейств в новую базу данных контента.
Перемещение одного семейства веб-сайтов
Убедитесь, что предоставлены следующие разрешения.
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
Администратор может использовать командлет Add-SPShellAdmin для предоставления разрешений на использование командлетов SharePoint Server.
Примечание
Если у вас нет разрешений, обратитесь к администратору установки или администратору SQL Server для запроса разрешений. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите Командная консоль SharePoint.
В командной строке PowerShell введите следующую команду:
Move-SPSite <https://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
Где:
<https://ServerName/Sites/SiteName> — имя семейства веб-сайтов.
<DestinationContentDb> — имя конечной базы данных контента.
Перемещение нескольких семейств веб-сайтов
Убедитесь, что вы являетесь участником следующих групп:
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
Администратор может использовать командлет Add-SPShellAdmin для предоставления разрешений на использование командлетов SharePoint Server.
Примечание
Если у вас нет разрешений, обратитесь к администратору установки или администратору SQL Server для запроса разрешений. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите Командная консоль SharePoint.
В командной строке PowerShell введите следующую команду:
Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>
Где:
<SourceContentDb> —имя исходной базы данных контента.
<DestinationContentDb> — имя конечной базы данных контента.
Эта команда перемещает все семейства сайтов из исходной базы данных контента в целевую базу данных контента.
Дополнительные сведения см. в статье Move-SPSite.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.