Перемещение коллекций веб-сайтов между базами данных в SharePoint Server
ОБЛАСТЬ ПРИМЕНЕНИЯ:2013 2016 2019 Subscription Edition SharePoint в Microsoft 365
Иногда нужно переместить одно или несколько семейств веб-сайтов в другую базу данных контента. Например, размер семейства веб-сайтов может превысить размер базы данных контента, в которой оно хранится, и придется переместить его в базу данных большего размера. В SharePoint Server эта процедура должна рассматриваться как перемещение семейства веб-сайтов в большую базу данных.
Но если размер семейства веб-сайтов не достигает ожидаемого, удобно размещать несколько семейств в одной базе данных контента. В SharePoint Server этот процесс не объединяет базы данных контента, вместо этого семейства веб-сайтов перемещаются в новую базу данных и присоединяются к ней.
Вы можете перемещать семейства веб-сайтов между базами данных в ферме SharePoint Server с помощью Microsoft PowerShell. Кроме того, переместить семейства веб-сайтов можно с помощью процедур резервного копирования и восстановления. Сведения о том, как это сделать, см. в разделах Резервное копирование семейств веб-сайтов в SharePoint Server и Восстановление семейств веб-сайтов в SharePoint Server.
Перед началом работы
Перед началом этих действий должны быть выполнены следующие условия:
конечная база данных контента должна существовать;
исходная и конечная базы данных контента должны быть расположены в одном экземпляре SQL Server;
исходная и конечная базы данных контента должны быть присоединены к одному и тому же веб-приложению. Дополнительные сведения о добавлении базы данных контента в веб-приложение см. в статье Add content databases in SharePoint Server.
Определение размера исходного семейства веб-сайтов
При перемещении семейств сайтов в другую базу данных контента данные аудита копируются. Размер данных аудита зависит от настроек сбора событий для семейства сайтов. Если данные аудита слишком велики, перед перемещением семейства сайтов можно переместить данные в другую базу данных. Для этого используйте процедуру, описанную в разделе Архивация и удаление данных аудита с помощью Microsoft PowerShell.
Независимо от причины перемещения семейства веб-сайтов всегда следует определить размер перемещаемого семейства. Это позволяет гарантировать, что на конечном жестком диске достаточно места для размещения контента семейства веб-сайтов. Убедитесь, что на конечном жестком диске как минимум в три раза больше свободного места, чем требуется для семейства сайтов.
Совет
Можно контролировать то, сколько места на диске используется семействами веб-сайтов, создавая квоты сайтов и оповещения по электронной почте.
Определение размера семейства веб-сайтов с помощью PowerShell
- Убедитесь, что вы являетесь участником следующих групп:
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.
Примечание.
При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите командную консоль SharePoint.
В командной строке PowerShell введите следующие команды:
$used = (Get-SPSiteAdministration -Identity <http://ServerName/Sites/SiteName>).DiskUsed
$used
Где:
- <http://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 <http://ServerName/Sites/SiteName>).Audit.TrimAuditLog(deleteEndDate)
Где:
- <http://ServerName/Sites/SiteName> имя семейства веб-сайтов.
Чтобы удалить данные аудита без их предварительного архивирования, введите следующую команду:
(Get-SPSite -Identity <http://ServerName/Sites/SiteName>).Audit.DeleteEntries(deleteEndDate)
Дополнительные сведения см. в статье Get-SPSite.
Примечание.
[!Примечание] Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.
Перемещение семейств веб-сайтов между базами данных контента
Для перемещения семейств веб-сайтов между базами данных контента можно использовать команду PowerShell Move-SPSite . Далее представлены две процедуры. Первая перемещает одно семейство веб-сайтов в новую базу данных контента, а вторая перемещает несколько семейств в новую базу данных контента.
Перемещение одного семейства веб-сайтов
- Убедитесь, что вы являетесь участником следующих групп:
Предопределенная роль сервера securityadmin для экземпляра SQL Server.
Предопределенная роль базы данных db_owner во всех базах данных, которые должны обновляться.
Группа администраторов для сервера, на котором выполняются командлеты PowerShell.
С помощью командлета Add-SPShellAdmin администратор может предоставлять разрешения на использование командлетов SharePoint Server.
Примечание.
При отсутствии разрешений обратитесь к своему администратору программы установки или администратору SQL Server за разрешениями. Дополнительные сведения о разрешениях PowerShell см. в статье Add-SPShellAdmin.
Запустите командную консоль SharePoint.
В командной строке PowerShell введите следующую команду:
Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
Где:
<http://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 является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.