Перемещение коллекций веб-сайтов между базами данных в 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

  1. Убедитесь, что предоставлены следующие разрешения.

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

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

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

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

    Примечание

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

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

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

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

    Где:

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

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

    Примечание

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

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

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

  1. Убедитесь, что предоставлены следующие разрешения.

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

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

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

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

    Примечание

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

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

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

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

  1. Убедитесь, что предоставлены следующие разрешения.

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

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

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

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

    Примечание

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

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

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

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

    Где:

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

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

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

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

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

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

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

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

    Примечание

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

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

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

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

    Где:

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

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

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

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

Примечание

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

See also

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