Перемещение коллекций веб-сайтов между базами данных в SharePoint Server

ОБЛАСТЬ ПРИМЕНЕНИЯ:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint в 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

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

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

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

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

    Примечание.

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

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

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

$used = (Get-SPSiteAdministration -Identity <http://ServerName/Sites/SiteName>).DiskUsed
$used

Где:

  • <http://ServerName/Sites/SiteName> имя семейства веб-сайтов.

Объем дискового пространства, используемого указанным семейством веб-сайтов, сохраняется в переменной $used и отображается в командной строке при выполнении второй команды.

Примечание.

Отображаемый объем дискового пространства не учитывает пространство на диске, используемое данными аудита, перемещаемыми вместе с семейством сайтов.

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

Архивирование и удаление данных аудита с помощью PowerShell

  1. Убедитесь, что являетесь членом следующих групп:
  • Предопределенная роль сервера securityadmin для экземпляра SQL Server.

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

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

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

    Примечание.

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

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

  2. В командной строке 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 . Далее представлены две процедуры. Первая перемещает одно семейство веб-сайтов в новую базу данных контента, а вторая перемещает несколько семейств в новую базу данных контента.

Перемещение одного семейства веб-сайтов

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

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

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

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

    Примечание.

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

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

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

Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>

Где:

  • <http://ServerName/Sites/SiteName> имя семейства веб-сайтов.

  • <DestinationContentDb> имя конечной базы данных контента.

Порядок перемещения нескольких семейств веб-сайтов

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

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

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

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

    Примечание.

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

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

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

Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>

Где:

  • <SourceContentDb> имя исходной базы данных контента.

  • <DestinationContentDb> имя конечной базы данных контента.

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

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

Примечание.

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

См. также

Понятия

Добавление баз данных контента в SharePoint Server