Настройка средства переноса
Применимо к: Project Server 2010
Последнее изменение раздела: 2015-03-09
В этой статье представлены инструкции по настройке файла инициализации (INI), который используется средством переноса для переноса данных Microsoft Office Project Server 2003 в Microsoft Office Project Server 2007. Кроме того, в этой статье описываются некоторые запросы SQL, которые используются для поиска в базе данных Project Server 2003 для включения проектов с заданными состояниями в файл конфигурации переноса.
Содержание:
Обзор файла конфигурации переноса
Параметры конфигурации переноса
Пример файла конфигурации переноса
Запрос проектов в базе данных Project Server 2003
Обзор файла конфигурации миграции
Обычно вызов средства миграции из командной строки осуществляется приблизительно следующим образом:
D:\Program Files\Microsoft Office\OFFICE12>P12MigrationTool.exe -c d:\migration\ProjectServer2007Migrate.ini
Перед запуском средства переноса нужно вручную отредактировать файл конфигурации переноса в текстовом редакторе. Файл определяет параметры местоположения файла журнала обновления, переносимые проекты, местоположение компьютера с Microsoft SQL Server, на котором будет располагаться база данных Office Project Server 2007, и так далее.
Пример файла конфигурации миграции (с именем ProjectServer2007Migrate.ini.sample) есть в каталоге установки средства миграции. В этот файл можно внести соответствующие параметры конфигурации и затем выбрать его при запуске средства. К примеру добавлены комментарии с описанием вариантов конфигурации каждого параметра.
В следующих разделах более подробно рассматривается файл конфигурации миграции.
Параметры конфигурации миграции
Ниже перечислены возможные параметры из файла конфигурации миграции.
Параметр | Описание |
---|---|
[General] |
Раздел общих параметров конфигурации. Параметры для этого раздела перечислены далее. |
BatchName= |
Средство переноса можно запускать несколько раз (например, чтобы переносить проекты в виде пакетов). Соответственно каждому запуску средства переноса нужно будет присвоить уникальное имя. Файл журнала, который создается при каждом запуске средства, получает имя, соответствующее значению параметра BatchName. Если уникальное имя не указано, файл перезаписывает предыдущий файл журнала. |
LogFileNamePrefix= |
Определяет префикс файла журнала переноса. Имя файла состоит из значения параметра LogFileNamePrefix и штампа времени запуска средства переноса. Например, файл журнала может называться batch1-20060314-1542.log:
Возможность добавлять к имени файла журнала префикс полезна при многократных переносах, например, с использованием последовательного подхода. |
LogFilePath= |
Определяет путь к файлам журнала, созданным средством миграции. Средство записывает в журнал подробную информацию. Файл журнала — это основной источник сведений при устранении неполадок средства миграции. Если средству не удается записать данные в журнал, оно прекращает работать. Благодаря этому в файле всегда можно прочесть дополнительную информацию о средстве миграции. |
MigrateAll= |
Save: все проекты Project Server 2003 перенесены на Office Project Server 2007, и ни один из них не опубликован. Publish: все проекты Project Server 2003 перенесены наOffice Project Server 2007, и опубликованные проекты из Project Server 2003 автоматически опубликованы в Office Project Server 2007. Чтобы игнорировать параметр MigrateAll, закомментируйте строку Примечание Закомментируйте параметр MigrateAll, чтобы следовать рекомендуемой методике, по которой перед переносом проектов средство переноса запускается для переноса данных, не относящихся к проекту (данные глобального корпоративного шаблона, корпоративных ресурсов и веб-клиента Project). Кроме того, убедитесь, что в разделах [Project Names to Save and Publish] и [Project Names to Publish] не указаны проекты. Важно! Настройка MigrateAll= игнорируется, если в разделе [Project Names to Save and Publish] или [Project Names to Publish] указаны какие-либо имена проектов. |
FixUpSecurityCategories= |
Если параметр FixUpSecurityCategories установлен в Yes, то в процессе миграции проекты автоматически добавляются в категории безопасности. Если он установлен в No, проекты после переноса не добавляются в категории безопасности. Обычно выбирается значение No, если категории Office Project Server 2007 будут заметно отличаться от категорий Project Server 2003 и проекты предполагается добавлять в категории вручную. |
StopProjectMigrationIfStatusUpdatesPending= |
По умолчанию параметр StopProjectMigrationIfStatusUpdatesPending имеет значение Yes. Если выбрано значение Yes, то проекты с ожидающими утверждения обновлениями не переносятся. Если выбрана настройка No, то переносятся все проекты с ожидающими утверждения обновлениями. Параметр No полезен в том случае, если клиенту нужно перенести даже проекты с такими обновлениями. Например, это происходит в том случае, если нужно перенести старые проекты, но активных менеджеров, способных обработать обновления, нет. |
NeverPublishMasterProjects= |
По умолчанию параметр NeverPublishMasterProjects имеет значение Yes. Этот параметр не позволяет ошибочно публиковать главные проекты. Он пригодится клиентам, которые выбрали значение параметра Never Publish Master Projects в Project Server 2003. Если после переноса нужно будет опубликовать какие-либо главные проекты, присвойте параметру NeverPublishMasterProjects значение No. Даже при таком значении параметра нужно будет вручную включить главный проект в раздел [Project Names to Save and Publish]. Примечание Публикация главного проекта в Office Project Server 2007 не повышает уровень доступности. |
[Project Names to Save] |
Введите имена проектов, которые нужно будет сохранить после переноса. Указанные в этом разделе проекты не публикуются. Примечание Необходимо указать полное имя (как в столбце PROJ_NAME таблицы MSP_PROJECTS). |
[Project Names to Save and Publish] |
Введите имена проектов, которые нужно будет сохранить и опубликовать после переноса. Примечание Только опубликованные проекты (с расширением PUBLISHED) в Project Server 2003 можно опубликовать в Office Project Server 2007. Если указать проект с версиями, он только сохраняется, но не публикуется. Примечание Необходимо указать полное имя проекта (как оно сохранено в столбце PROJ_NAME в таблице MSP_PROJECTS). Примечание Если указан главный проект с параметром neverPublishMasterProjects=false, подпроекты (уже перенесенные или подлежащие переносу при данном запуске) публикуются автоматически. Обратите внимание, что публикация главного проекта в Project Server 2010 не повышает уровень доступности. |
[Excluded Project Names] |
Укажите все проекты, которые нужно явным образом исключить при переносе. Обычно этот параметр используется с параметром MigrateAll при переносе большинства, но не всех проектов. Примечание Необходимо указать полное имя проекта (как оно сохранено в столбце PROJ_NAME в таблице MSP_PROJECTS). |
[Project Server 2007] |
Раздел настройки Office Project Server 2007. Параметры для этого раздела перечислены далее. |
Project2007PWAServer= |
Введите URL-адрес Microsoft Project Web App. Например, введите Project2007PWAServer=http://Project2007PWAServer/pwa |
Project2007SQLServer= |
Введите имя экземпляра SQL Server, на котором размещаются базы данных Office Project Server 2007. Важно! По умолчанию базы данных Project Server 2003 должны находиться на том же экземпляре SQL Server, что и Office Project Server 2007. Для этого нужно сделать резервные копии и восстановить базы данных Project Server 2003 на экземпляре SQL Server, на котором находятся базы данных Office Project Server 2007. При наличии серьезных проблем см. описание свойства Project2003LinkedSQLServer из раздела [Project Server 2003]. |
DraftDB = |
Введите имя базы данных черновиков Office Project Server 2007. |
PublishedDB = |
Введите имя базы данных опубликованных проектов Office Project Server 2007. |
[Project Server 2003] |
Раздел настройки Project Server 2003. Параметры для этого раздела перечислены далее. |
Project2003ProjectTablesDB = |
При наличии одной конфигурации базы данных Project Server 2003 (вместо распределенной конфигурации) введите имя базы данных и следующее значение параметра Project2003WebTablesDB=. Примечание Средство миграции не переносит таблицы кубов служб аналитики SQL Server. После переноса кубы придется создавать заново. |
Project2003WebTablesDB= |
При наличии распределенной базы данных Project Server 2003 введите имя базы данных веб-таблиц. Как уже говорилось выше, если использовалась одна конфигурация данных Project Server 2003, здесь и в параметре Project2003ProjectTablesDB= нужно ввести имя базы. |
Project2003LinkedSQLServer=SQLServerName |
По умолчанию этот параметр не включен (параметр Project2003LinkedSQLServer= закомментирован). Если этот параметр не указан, средство переноса предполагает, что базы данных Project 2003 находятся на том же компьютере, что и Office Project Server 2007 SQL Server. Если сервер SQL Server, на котором находится база данных Project 2003, нельзя разместить на компьютере с базами данных Office Project Server 2007, с помощью этого параметра можно указать компьютер с базой данных Project Server 2003. Для этого обязательно нужно добавить базу данных Project Server 2003> в качестве связанного сервера к Office Project Server 2007 SQL Server. Инструкции по настройке подключения к связанному серверу SQL см. в статье, посвященной выполняемым перед переносом задачам Настройка связанного сервера в SQL Server. |
Пример файла конфигурации миграции
Далее следует пример готового файла конфигурации миграции.
[General]
LogFilePath=C:\ProjectServer2007Migration
LogFileNamePrefix=Batch1
MigrateAll=Publish
FixUpSecurityCategories=yes
StopProjectMigrationIfStatusUpdatesPending=yes
NeverPublishMasterProjects=yes
[Project Names to Save]
Project1.published
Project2.Target
[Project Names to Save and Publish]
Project3.Published
Project4.Published
[Excluded Project Names]
Project5.Published
Project6.Target
[Project Server 2007]
Project2007PWAServer=http://Project2007pwaserver/pwa
Project2007SQLServer=Project2007sqlserver
DraftDB=Project2007ProjectServerDraft
PublishedDB=Project2007ProjectServerPublished
[Project Server 2003]
Project2003ProjectTablesDB=Project2003ProjDB
Project2003WebTablesDB=Project2003WebDB
;Project2003LinkedSQLServer=LinkedSQLServerName
Примечание
В файле конфигурации миграции, который устанавливается вместе со средством миграции, есть комментарии с описанием возможных параметров. Комментарии могут помочь правильно настроить файл. Комментарии можно оставить в файле и после настройки.
Запрос проектов в базе данных Project Server 2003
Скрипты SQL Server из этого раздела могут пригодиться при поиске в базе данных Project Server 2003 проектов, которые нужно включить в один из следующих разделов файла конфигурации переноса:
[Project Names to Save]
[Project Names to Save and Publish]
[Excluded Project Names]
Полученные в ответ на запросы имена файлов можно при необходимости скопировать в соответствующие разделы файла конфигурации миграции.
Еще не начатые проекты
SELECT p.PROJ_NAME FROM dbo.MSP_PROJECTS p
INNER JOIN dbo.MSP_TASKS t ON (t.PROJ_ID = p.PROJ_ID AND t.TASK_UID = 0)
WHERE p.PROJ_TYPE = 0 AND t.TASK_PCT_COMP = 0 AND t.TASK_PCT_WORK_COMP = 0
Законченные проекты
SELECT p.PROJ_NAME FROM dbo.MSP_PROJECTS p
INNER JOIN dbo.MSP_TASKS t ON (t.PROJ_ID = p.PROJ_ID AND t.TASK_UID = 0)
WHERE p.PROJ_TYPE = 0 AND t.TASK_PCT_COMP = 100 AND t.TASK_PCT_WORK_COMP = 100
Не законченные проекты
SELECT p.PROJ_NAME FROM dbo.MSP_PROJECTS p
INNER JOIN dbo.MSP_TASKS t ON (t.PROJ_ID = p.PROJ_ID AND t.TASK_UID = 0)
WHERE p.PROJ_TYPE = 0 AND (t.TASK_PCT_COMP != 100 OR t.TASK_PCT_WORK_COMP != 100)
Текущие проекты
SELECT p.PROJ_NAME FROM dbo.MSP_PROJECTS p
INNER JOIN dbo.MSP_TASKS t ON (t.PROJ_ID = p.PROJ_ID AND t.TASK_UID = 0)
WHERE p.PROJ_TYPE = 0 AND (t.TASK_PCT_COMP > 0 OR (t.TASK_STOP_DATE > t.TASK_START_DATE AND t.TASK_DUR > 0))
Проекты с кодом структуры "Project Status" равным "Opportunity"
В следующем запросе нужно заменить использованные значения "Project Status" и "Opportunity" кодом структуры и запрашиваемым значением.
SELECT p1.PROJ_NAME
FROM dbo.MSP_FIELD_ATTRIBUTES fa
INNER JOIN dbo.MSP_ATTRIBUTE_STRINGS ats ON (fa.PROJ_ID = ats.PROJ_ID AND fa.AS_ID = ats.AS_ID AND fa.ATTRIB_ID = 206)
INNER JOIN dbo.MSP_PROJECTS p ON (p.PROJ_ID = fa.PROJ_ID AND p.PROJ_TYPE = 2)
INNER JOIN dbo.MSP_OUTLINE_CODES oc ON (p.PROJ_ID = oc.PROJ_ID AND oc.OC_FIELD_ID = fa.ATTRIB_FIELD_ID)
INNER JOIN dbo.MSP_CODE_FIELDS cf ON (cf.CODE_FIELD_ID = oc.OC_FIELD_ID AND cf.CODE_UID = oc.CODE_UID)
INNER JOIN dbo.MSP_PROJECTS p1 ON (p1.PROJ_ID = cf.PROJ_ID)
WHERE ats.AS_VALUE like '%Project Status%' AND oc.OC_CACHED_FULL_NAME like 'Opportunity'
Шаблоны проекта
SELECT p.PROJ_NAME FROM dbo.MSP_PROJECTS p WHERE PROJ_TYPE = 1