Перемещение сайтов между базами данных (SharePoint Foundation 2010)
Применимо к: SharePoint Foundation 2010
Последнее изменение раздела: 2011-03-22
В определенных обстоятельствах может потребоваться переместить одно или несколько семейств веб-сайтов в другую базу данных контента. Например, размер семейства веб-сайтов может превысить размер базы данных контента, в котором оно хранится, и придется переместить его в базу данных контента большего размера. В Windows SharePoint Services 3.0 этот процесс также назывался разделением базы данных контента (по имени команды Stsadm, которая использовалась для выполнения данной процедуры). В Microsoft SharePoint Foundation 2010 эту операцию точнее рассматривать как перемещение семейства веб-сайтов в большую базу данных контента.
С другой стороны, если размер семейства веб-сайтов не достигает ожидаемого, удобно размещать несколько семейств в одной базе данных. В Windows SharePoint Services 3.0 этот процесс назывался объединением баз данных контента. Во время этой операции фактического объединения баз данных контента не происходит — семейства веб-сайтов перемещаются в новую базу данных и совместно хранятся в ней.
В этой статье описывается подготовка к процессу и само перемещение семейств сайтов из нескольких баз данных контента.
Семейства веб-сайтов можно перемещать с помощью команд программы командной строки Stsadm или Windows PowerShell 2,0. Для этой задачи нет графического пользовательского интерфейса.
Совет
Также переместить семейства сайтов можно с помощью процедур резервного копирования и восстановления. Дополнительные сведения см. в статье Back up a site collection (SharePoint Foundation 2010) и Restore a site collection (SharePoint Foundation 2010).
Для выполнения операций, описанных в этой статье, убедитесь, что учетная запись пользователя обладает доступом к одному из серверов, на котором работает Windows PowerShell 2,0, и что она входит в следующие группы:
предопределенная роль базы данных db_owner и роль SharePoint_Shell_Access исходной базы данных контента SQL, базы данных контента администрирования, конечной базы данных контента и базы данных конфигурации;
группа WSS_ADMIN_WPG на локальном компьютере.
Чтобы эти операции работали, должны выполняться следующие условия:
конечная база данных контента должна существовать;
исходная и конечная база данных контента должны храниться в одном экземпляре SQL Server;
исходная и конечная база данных контента должны быть присоединены к одному веб-приложению. Дополнительные сведения о добавлении базы данных контента в веб-приложение см. в статье Add a content database (SharePoint Foundation 2010).
Содержание
Определение размера исходного семейства сайтов
Независимо от причины перемещения семейства веб-сайтов перед его началом следует всегда определять размер перемещаемого семейства, чтобы удостовериться, что на целевом жестком диске достаточно свободного места для контента семейства веб-сайтов. Убедитесь, что на целевом жестком диске как минимум в три раза больше свободного места, чем требуется для семейства веб-сайтов.
Совет
Можно получать последние сведения о том, сколько места на диске используется семействами сайтов, создавая квоты и оповещения по электронной почте.
Определение размера семейства сайтов
В меню Пуск выберите пункт Все программы.
Выберите пункт Продукты SharePoint 2010.
Щелкните компонент Командная консоль SharePoint 2010.
В командной строке Windows PowerShell 2,0 введите следующие команды.
$used = (Get-SPSiteAdministration -Identity <https://ServerName/Sites/SiteName>).DiskUsed
$used
Замените https://ServerName/Sites/SiteName на имя семейства веб-сайтов. Используемое семейством место на диске хранится в переменной $used и отображается в командной строке при выполнении второй команды.
Дополнительные сведения см. в разделе Get-SPSiteAdministration.
Перемещение семейств сайтов из базы данных контента
Для перемещения семейств сайтов из баз данных контента можно использовать команду Windows PowerShellMove-SPSite. Далее представлены две процедуры. Первая перемещает одно семейство сайтов в новую базу данных контента, а вторая перемещает несколько семейств в новую базу данных контента.
Перемещение одного семейства сайтов
В командной строке Windows PowerShell введите следующую команду:
Move-SPSite <https://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>
Замените https://ServerName/Sites/SiteName на имя семейства веб-сайтов, а <DestinationContentDb> — на имя конечной базы данных контента.
Перемещение нескольких семейств сайтов
В командной строке Windows PowerShell введите следующую команду:
Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>
Замените <SourceContentDb> на имя исходной базы данных контента, а <DestinationContentDb> — на имя конечной базы данных контента. Эта команда перемещает все семейства веб-сайтов из исходной базы данных контента в конечную.
Дополнительные сведения см. в разделе Move-SPSite.
Примечание
Для выполнения административных задач из командной строки мы рекомендуем использовать Windows PowerShell. Программа командной строки Stsadm является устаревшей, однако она добавлена для совместимости с предыдущими версиями продукта.