다음을 통해 공유


Project Server에서 사용자 데이터 내보내기

중요!: 이 문서에서는 Project Server 2016, Project Server 2013 또는 Project Server 2010에서 사용자 데이터를 내보내는 방법을 설명합니다. Project Server 2019에서 사용자 데이터를 내보내는 프로세스는 이전 버전과 매우 다르며 이 문서에 포함되어 있지 않습니다. 이전 버전의 Project Server 2019 공개 미리 보기에서 사용자 데이터를 내보내는 방법을 알아보려면 Project Server 2019 공개 미리 보기에서 사용자 데이터 내보내기를 참조하세요.

조직은 Project Server 환경에서 특정 사용자의 콘텐츠를 내보낼 수 있습니다. 이 콘텐츠를 내보내려면 Project Server 팜 관리자가 다음 단계를 수행할 수 있습니다.

1단계 - 내보내기 스크립트 파일 다운로드

2단계- SharePoint Server 팜에서 Project Web App 인스턴스 찾기

3단계 - 사용자에 대한 작업 영역 항목 내보내기

4단계 - 각 PWA 사이트에서 사용자의 리소스 ID 또는 클레임 계정 찾기

5단계 - 찾고 있는 사용자가 포함된 프로젝트 찾기

6단계 - 데이터를 내보내는 추가 쿼리

7단계 - 보관된 항목

8단계 - 첨부 파일, 뷰 및 VBA 파일 찾기 및 저장

프로세스 개요

다음은 특정 사용자의 정보를 Project Web App 내보내는 프로세스의 개요입니다.

  1. 내보내기 스크립트 다운로드: 사용자 데이터를 내보내기 위한 .sql 및 Microsoft PowerShell 스크립트를 다운로드합니다.

  2. 사용자 환경에서 PWA 사이트 찾기: Project Server 팜에서 Project Web App 인스턴스 목록을 찾습니다.

  3. 사용자의 리소스 ID 찾기: 각 Project Web App 인스턴스에서 사용자의 고유한 리소스 ID를 찾습니다. 사용자 클레임을 지정하도록 선택할 수도 있습니다.

  4. 사용자 데이터 내보내기 수행: scipts를 사용하여 검토하려는 정보를 내보냅니다.

    다양한 버전의 Project Server에 스크립트 사용

이 문서는 Project Server 2016, Project Server 2013 및 Project Server 2010에 적용됩니다. 일반 프로세스는 세 가지 버전 모두에 적용되지만, 특히 SQL 스크립트를 실행할 때 다른 버전에 적용될 수 있는 세부 사항이 있습니다. 아래 섹션에 나와 있습니다. 팜 및 Project Professional 클라이언트에 최신 업데이트를 배포했는지 확인합니다.

참고

프로젝트 작성자가 이 문서의 절차의 일부로 내보내지지 않습니다.

1단계 - 내보내기 스크립트 파일 다운로드

Microsoft 다운로드 센터에서 내보내기 스크립트를 다운로드합니다.

다운로드에는 각 버전의 Project Server에 대해 별도의 폴더가 있는 ZIP 파일이 포함되어 있습니다. 아래의 5단계에서 설명한 대로 버전 또는 Project Server에 대한 스크립트를 사용합니다.

내보내기 스크립트 실행에 대한 중요한 참고 사항:

  • 스크립트 폴더에는 여러 .wsdl 파일이 포함되어 있습니다. 이러한 작업은 PowerShell 스크립트에 필요합니다. 실행할 때 PowerShell 스크립트와 동일한 디렉터리에 있는지 확인합니다.

  • SetupReportingProcedures201x.sql 스크립트는 일시적으로 sql 세션 내에서 사용할 수 있는 일부 전역 저장 프로시저를 메모리에 만듭니다. 이러한 저장 프로시저는 다음 스크립트에 필요합니다.

    • ExportReportingProject201x.sql

    • ExportReportingResource201x.sql

    • ExportTimesheetReporting201x.sql

참고

이러한 스크립트를 실행하기 전에 SetupReportingProcedures201x.sql을 실행합니다.

  • 각 스크립트에는 실행하기 전에 정의해야 하는 하나 이상의 변수(예: UserID 또는 데이터베이스 이름)가 있습니다. 필요한 매개 변수는 스크립트 자체의 설명 섹션을 확인합니다.

  • 정보가 있는 데이터베이스의 컨텍스트에서 각 .sql 스크립트를 실행합니다. 데이터베이스에 대한 db_datareader 권한이 있어야 합니다.

  • 기본적으로 인터넷에서 다운로드한 스크립트를 실행할 수 없으므로 zip 파일을 "차단 해제"해야 할 수 있습니다. 다음을 수행하여 파일 차단을 해제합니다.

  1. 파일 탐색기 zip 파일을 저장한 위치로 이동합니다.

  2. zip 파일을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  3. 일반 탭에서 차단 해제를 선택합니다. 파일 차단을 해제합니다.

  4. 확인을 클릭합니다.

    이제 zip 파일에 포함된 모든 파일이 차단 해제되어야 합니다. 파일의 속성 페이지의 일반 탭에 차단 해제 확인란 옵션이 더 이상 표시되지 않는지 확인하여 개별 파일에서 이를 확인할 수 있습니다.

    참고

    압축을 푼 파일에만 액세스할 수 있는 경우 각 파일의 차단을 개별적으로 해제할 수도 있습니다.

2단계- SharePoint Server 팜에서 Project Web App 인스턴스 찾기

다음 필터와 함께 Get-SPProjectWebInstance cmdlet을 사용하여 SharePoint Server 팜에 있는 PWA 사이트의 URL, 사이트 ID 및 데이터베이스 이름을 가져옵니다.

 Get-SPProjectWebInstance | ft -a Url,SiteId,DatabaseName,DatabaseServer

이후 단계에서 사용자의 개인 데이터를 삭제할 때 각 사이트에 대한 정보가 필요합니다.

예를 들어 샘플 Contoso Project Server 팜에서 cmdlet을 실행하면 다음 세 개의 PWA 사이트가 반환될 수 있습니다.

URL SiteID 데이터베이스 DatabaseServer
https://contoso/pwa1
63ed0197-3647-4279-ed5e80855fc7
WSS_Content
SQL01
https://contoso/pwa2
67fd0727-5279-3321-ef4e90956fc8
WSS_Content
SQL01
https://contoso/pwa3
63ed0197-3647-4279-eg7e20233fg9
WSS_Content
SQL02

SharePoint Server 2010 팜에서 Project Web App 인스턴스 찾기

Project Server 2010의 경우 Project Server PSI 서비스 애플리케이션의 서비스 애플리케이션 ID도 찾아야 합니다. 다음 매개 변수를 사용하여 Get-ServiceApplication PowerShell cmdlet을 실행하여 이 작업을 수행합니다.

Get-SPServiceApplication | ? { $_.TypeName -eq "Project Server PSI Service Application" } | ft -a

그러면 Project Server 서비스 애플리케이션의 이름도 반환됩니다. 그런 다음 Get-SPProjectWebInstance cmdlet을 사용하여 -ServiceApplication 매개 변수를 사용하여 서비스 애플리케이션 이름을 지정하여 4개의 Project Server 데이터베이스의 이름을 반환할 수 있습니다.

Get-SPProjectWebInstance -ServiceApplication "Project Server"  | ft -a Url,PrimaryServer,PublishedDatabase,DraftDatabase,ArchiveDatabase,ReportingServer,ReportingDatabase

각 데이터베이스의 데이터베이스 이름을 참조할 수 있어야 합니다.

참고

Project Server 2010 Reporting 데이터베이스는 다른 세 개의 데이터베이스와 다른 SQL Server 인스턴스에 있을 수 있습니다.

3단계 - 사용자에 대한 작업 영역 항목 내보내기

ExportWorkspaceItemsByDisplayName201x.sql 스크립트를 실행하고 사용자의 가능한 표시 이름(부분 이름 검색)을 사용하여 데이터를 검색합니다.

Project Server 2010용 Reporting 데이터베이스 또는 이후 버전의 관련 PWA 사이트에 대한 데이터베이스에서 스크립트를 실행합니다. 1단계에서 제공된 예제 결과에서 세 Project Web App 인스턴스 모두에 대한 데이터베이스는 WSS_Content.

스크립트에서 다음 매개 변수에 대한 값을 제공합니다.

매개 변수 설명
@siteID(Project Server 2016만 해당)
사용자의 리소스 ID를 찾으려는 사이트의 PWA 사이트 ID입니다. 1단계에서 PWA 사이트의 PWA 사이트 ID 값을 찾았습니다.
@resDisplayName
Project Server 사용자의 표시 이름 또는 부분 표시 이름입니다.

4단계 - 각 PWA 사이트에서 사용자의 리소스 ID 또는 클레임 계정 찾기

Project Server 팜의 모든 PWA 사이트에 대한 정보를 얻은 후에는 개인 데이터를 삭제하려는 사용자의 리소스 ID(ResID) 또는 클레임 계정을 찾아야 합니다. 1단계에서 검색한 각 PWA 사이트에서 이 작업을 수행합니다(ResID는 각 PWA 인스턴스에서 다르기 때문에).

FindUser201x.sql SQL 스크립트를 실행하여 사용자의 리소스 ID 또는 클레임 계정을 찾습니다.

참고

SQL Server Management Studio FindUser201x.sql SQL 스크립트를 실행해야 하며 적절한 데이터베이스에 액세스할 수 있는 팜 관리자 권한이 있어야 합니다.

Project Server 2010용 게시된 데이터베이스 또는 이후 버전의 관련 PWA 사이트에 대한 데이터베이스에서 스크립트를 실행합니다. 1단계에서 제공된 예제 결과에서 세 Project Web App 인스턴스 모두에 대한 데이터베이스는 WSS_Content.

스크립트에서 다음 매개 변수에 대한 값을 제공합니다.

매개 변수 설명
@siteID(Project Server 2016만 해당)
사용자의 리소스 ID를 찾으려는 사이트의 PWA 사이트 ID입니다. 1단계에서 PWA 사이트의 PWA 사이트 ID 값을 찾았습니다.
@searchName
Project Server 사용자의 표시 이름입니다.

예를 들어 1단계의 예제에서 찾은 Contoso PWA1 사이트에서 Adam Barr의 userID를 찾으려면 다음과 같이 스크립트의 매개 변수 값을 편집합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @searchName nvarchar(255) = 'Adam Barr'

스크립트는 사용자의 리소스 이름, 리소스 ID, 이메일 주소 및 클레임 계정 값을 반환합니다.

5단계 - 찾고 있는 사용자가 포함된 프로젝트 찾기

4단계에서 찾은 리소스 ID를 사용하여 사용자가 참여한 프로젝트를 찾을 수 있습니다. 이 작업은 SQL 스크립트를 사용하여 프로젝트 목록에 대해 저장된 프로젝트 데이터를 쿼리하여 수행됩니다.

Project Server에는 각 데이터 저장소에 대한 별도의 스크립트가 있습니다. 스크립트의 결과는 유사할 수 있지만 게시되지 않은 초안 프로젝트가 있는 경우 몇 가지 차이점이 표시될 수 있습니다.

스크립트를 실행하기 전에 원하는 리소스 ID로 업데이트합니다.

Project Server 2010의 경우 다음 스크립트를 실행합니다.

(각 스크립트의 맨 위에 있는 설명을 읽어야 합니다. 일부 스크립트에서는 데이터베이스 이름을 추가하거나 다른 매개 변수를 업데이트해야 합니다.)

  • ExportDraftProjectList2010.sql

  • ExportPublishedProjectList2010.sql

  • ExportReportingProjectList2010.sql

Project Server 2013의 경우 다음 스크립트를 실행합니다.

  • ExportDraftProjectList2013.sql

  • ExportPublishedProjectList2013.sql

  • ExportReportingProjectList2013.sql

Project Server 2016 경우 다음 스크립트를 실행합니다.

  • ExportDraftProjectList2016.sql

  • ExportPublishedProjectList2016.sql

  • ExportReportingProjectList2016.sql

쿼리의 출력을 검사하고 특정 사용자 데이터를 찾을 프로젝트를 결정합니다. 편의를 위해 목록을 SQL Server CSV 파일로 내보낼 수 있습니다.

사용자 정보를 검색할 프로젝트를 결정한 경우 위의 스크립트에서 반환한 ProjectUID를 사용하여 각 프로젝트에 대해 다음 스크립트를 실행합니다.

Project Server 2010의 경우 다음 스크립트를 실행합니다.

(각 스크립트의 맨 위에 있는 설명을 읽어야 합니다. 일부 스크립트에서는 데이터베이스 이름을 추가하거나 다른 매개 변수를 업데이트해야 합니다.)

  • ExportDraftProject2010.sql

  • ExportPublishedProject2010.sql

  • ExportReportingProjects2010.sql

  • ExportReportingProjectTimephasedData2010.sql

Project Server 2013의 경우 다음 스크립트를 실행합니다.

  • ExportDraftProject2013.sql

  • ExportPublishedProject2013.sql

  • ExportReportingProjects2013.sql

  • ExportReportingProjectTimephasedData2013.sql

Project Server 2016 경우 다음 스크립트를 실행합니다.

  • ExportDraftProject2016.sql

  • ExportPublishedProject2016.sql

  • ExportReportingProjects2016.sql

  • ExportReportingProjectsTimephased2016.sql

이러한 쿼리의 출력 값에 대한 자세한 내용은 보고 데이터의 프로젝트별 사용자 데이터를 참조하세요.

추가 사용자 정보가 필요한 경우 리소스, 작업표, 상태 등에 대한 정보를 검색하는 스크립트는 6단계를 참조하세요.

6단계 - 데이터를 내보내는 추가 쿼리

이러한 추가 쿼리를 실행하여 리소스, 작업표, 상태 등에 대한 추가 정보를 찾습니다.

PowerShell 스크립트를 실행하는 방법에 대한 자세한 내용은 아래 PowerShell 스크립트 실행을 참조하세요.

Project Server 2010에서 데이터 내보내기

Project Server 2010에서 데이터를 내보내려면 다음 표에 설명된 대로 .sql 스크립트 및 Microsoft PowerShell 스크립트를 사용합니다. 출력의 각 필드에 대한 자세한 내용은 출력 정의 열의 링크를 참조하세요.

(각 스크립트의 맨 위에 있는 설명을 읽어야 합니다. 일부 스크립트에서는 데이터베이스 이름을 추가하거나 다른 매개 변수를 업데이트해야 합니다.)

내보내기 옵션 다음 스크립트를 실행합니다. 출력 정의
포트폴리오
ExportPortfolioModels2010.sql
드라이버
우선 순위
분석
자원 계획
Export-ResourcePlanTimephasedData2010.ps1
ExportResourcePlans2010.sql
ExportReportingResourcePlans2010.sql
ResourcePlan
리소스
ExportResource2010.sql
ExportReportingResource2010.sql
리소스
ReportingResource
보안
ExportSecurity2010.sql
보안
서비스 설정
ExportServerSettings2010.sql
QueueJobs
CustomFields
LookupTables
일정
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
위임
상황 보고서
ExportStatusReports2010.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2010.sql
ExportSubmittedTaskStatusUpdates2010.sql
ExportAssignmentTransactionHistory2010.sql
ExportAssignmentHistoryData2010.ps1
ExportSavedTaskStatusUpdates2010.sql
Export-SavedTaskStatusUpdates2010.ps1(참고)
StatusAssignSaved
StatusAssignHistory
작업표
ExportTimesheets2010.sql
ExportReportingTimesheets2010.sql
작업표
Timesheets_Reporting
사용자 보기 설정
Export-UserViewSettings2010.ps1
UserViewSettings
워크플로
ExportWorkflow2010.sql
워크플로
작업 영역 항목
ExportWorkspaceItemsByDisplayName2010.sql
WorkspaceItems

Project Server 2013에서 데이터 내보내기

Project Server 2013에서 데이터를 내보내려면 다음 표에 설명된 대로 .sql 스크립트 및 Microsoft PowerShell 스크립트를 사용합니다. 출력의 각 필드에 대한 자세한 내용은 출력 정의 열의 링크를 참조하세요.

내보내기 옵션 다음 스크립트를 실행합니다. 출력 정의
포트폴리오
ExportPortfolioModels2013.sql
드라이버
우선 순위
분석
자원 계획
ExportResourcePlanTimephasedData2013.ps1
ExportResourcePlans2013.sql
ResourcePlan
리소스
ExportResource2013.sql
ExportReportingResource2013.sql
리소스
ReportingResource
보안
ExportSecurity2013.sql
보안
서비스 설정
ExportServerSettings2013.sql
QueueJobs
CustomFields
LookupTables
일정
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
위임
상황 보고서
ExportStatusReports2013.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2013.sql
ExportSubmittedTaskStatusUpdates2013.sql
ExportAssignmentTransactionHistory2013.sql
ExportAssignmentHistoryData2013.ps1
ExportSavedTaskStatusUpdates2013.sql
Export-SavedTaskStatusUpdates2013.ps1(참고)
StatusAssignSaved
StatusAssignHistory
작업표
ExportTimesheets2013.sql
ExportReportingTimesheets2013.sql
작업표
Timesheets_Reporting
사용자 보기 설정
Export-UserViewSettings2013.ps1
UserViewSettings
워크플로
ExportWorkflow2013.sql
워크플로
작업 영역 항목
ExportWorkspaceItemsByDisplayName2013.sql
WorkspaceItems

Project Server 2016 데이터 내보내기

Project Server 2016 데이터를 내보내려면 다음 표에 설명된 대로 .sql 스크립트 및 Microsoft PowerShell 스크립트를 사용합니다. 출력의 각 필드에 대한 자세한 내용은 출력 정의 열의 링크를 참조하세요.

내보내기 옵션 다음 스크립트를 실행합니다. 출력 정의
계약
ExportEngagementScripts2016.sql
계약
포트폴리오
ExportPortfolioModels2016.sql
드라이버
우선 순위
분석
자원 계획
ExportResourcePlans2016.sql
ResourcePlan
리소스
ExportResource2016.sql
ExportReportingResource.sql
리소스
ReportingResource
보안
ExportSecurity2016.sql
보안
서비스 설정
ExportServerSettings2016.sql
QueueJobs
CustomFields
LookupTables
일정
UnsubscribedAlerts
SubscribedReminders
ReminderEmails
위임
상황 보고서
ExportStatusReports2016.sql
StatusReports
TaskStatus
ExportAssignmentsSavedData2016.sql
ExportSubmittedTaskStatusUpdates2016.sql
ExportAssignmentTransactionHistory2016.sql
ExportAssignmentHistoryData.ps1
ExportSavedTaskStatusUpdates2016.sql
Export-SavedTaskStatusUpdates2016.ps1
StatusAssignSaved
StatusAssignHistory
작업표
ExportTimesheets2016.sql
ExportReportingTimesheets2016.sql
작업표
Timesheets_Reporting
사용자 보기 설정
Export-UserViewSettings2016.ps1
UserViewSettings
워크플로
ExportWorkflow2016.sql
워크플로
작업 영역 항목
ExportWorkspaceItemsByDisplayName2016.sql
WorkspaceItems

7단계 - 보관된 항목

ExportArchievdData201x.sql은 리소스와 관련된 보관된 데이터베이스에 저장된 다음 데이터를 반환합니다.

내보내기 옵션 출력 정의
보관된 항목 - 일정 일정
보관된 항목 - 사용자 지정 필드 CustomFields
보관된 항목 - 조회 테이블 코드 체계표
보관된 항목 - 프로젝트 프로젝트 목록
ProjectVersionId(보관 버전 ID)
ProjectVersionDescription(백업 날짜 및 시간)
ProjectVersionDate(백업 날짜)
보관된 항목 - 리소스 리소스
보관된 항목 - 리소스 사용자 지정 필드 리소스 - 사용자 지정 필드

보관된 프로젝트 데이터: 보관된 프로젝트를 내보내려면:

  1. 현재 프로젝트를 보관합니다. (2010)
  2. 보관된 버전을 복원합니다. (2010)
  3. 사용자 관련 데이터를 내보냅니다.
  4. 보관에서 프로젝트를 복원합니다.

보관된 비프로젝트 데이터:

  1. SharePoint 백업 및 복구(2010)를 사용하여 현재 팜의 복제본을 만듭니다.
  2. 관리 백업 및 복원에서 보관된 항목을 복원합니다(이전 절차 참조).
  3. 사용자 관련 데이터를 내보냅니다.

8단계 - 첨부 파일, 뷰 및 VBA 파일 찾기 및 저장

첨부 파일 및 보기를 찾으려면 지정된 프로젝트를 XML로 내보내는 것이 좋습니다. 이렇게 하려면 Project Professional 열고 XML 파일로 저장합니다. 검토하려는 프로젝트에 대한 XML 파일이 있으면 Project Online 사용자 지정 사용자 항목 찾기 및 Project Server 사용자 내보내기 데이터를 참조하세요.

PowerShell 스크립트 실행

아래 표에는 지정된 스크립트에 필요한 매개 변수가 표시됩니다. SharePoint 관리 셸에서 팜 관리자 권한으로 각 스크립트를 실행합니다.

스크립트 매개 변수
ResourcePlanTimephasedData201x.ps1
Export-SavedTaskStatusUpdates201x.ps1
ExportTaskStatusUpdateHistory201x.ps1
ProjectServerURL
ResId
Outputpath
PromptForCredential
UseWebLogin
Sync-ProjectWorkspace201x.ps1 ProjectServerURL
ProjectId
PromptForCredential
UseWebLogin
Export-UserViewSettings201x.ps1 ProjectServerURL
ResId
Outputpath

이러한 매개 변수는 다음 표에 설명되어 있습니다.

매개 변수 설명
ProjectServerURL PWA 사이트의 URL
ResId 사용자의 리소스 ID
Outputpath 내보내기 파일을 저장할 위치입니다.
ProjectId 동기화할 프로젝트 작업 영역

또한 스크립트를 실행할 때마다 다음 권한 부여 매개 변수 중 하나를 포함합니다.

Auth 매개 변수 설명
[아무것도 전달되지 않음] NTLM 및 Kerberos 프로토콜을 사용하여 현재 사용자로 인증합니다.
PromptForCredential 기본 또는 다이제스트 프로토콜을 사용하거나 다른 사용자와 함께 NTLM 및/또는 Kerberos를 사용하여 인증합니다.
UseWebLogin Forms 및 ADFS/SAML 프로토콜을 사용하여 인증합니다.

예시:

.\Export-UserViewSettings2016.ps1 -ProjectServerURL "https://pwa" -resId "55efd6ff-853c-4fec-8abd-6df2c90b94e5" -OutputPath "C:\"

매개 변수에 대한 추가 예제 및 정보는 각 PowerShell 스크립트 파일을 참조하세요.

Export-SavedTaskStatusUpdates201x.ps1 실행(2010 및 2013에만 해당)

Export-SavedTaskStatusUpdates201x.ps1 스크립트를 실행하려면 저장된 할당을 보려면 내보내는 사용자의 대리자로 를 실행해야 합니다. 다음 절차를 따르세요.

  1. Project Server에서 위임 켜기
  2. 내보내는 사용자에 대한 위임 권한 사용
  3. 사용자로 위임할 위임 권한을 사용하도록 설정합니다. (관리자로서 이미 권한이 있을 수 있습니다.)
  4. 자신을 내보낼 사용자의 대리자로 구성
  5. Project Web App 로그인합니다.
  6. 기어 아이콘을 클릭한 다음 대리자로 동작을 클릭합니다.
  7. 대리자 세션을 시작합니다.
  8. Export-SavedTaskStatusUpdates201x.ps1 PowerShell 스크립트를 실행합니다.
  9. 대리자 세션을 중지합니다.

참고 항목

Project Server에서 사용자 데이터 삭제