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

팜 관리자가 Project Server 환경에서 특정 사용자의 데이터를 삭제하는 방법을 알아봅니다. 이 정보는 Project Server 2016, Project Server 2013 및 Project Server 2010에 적용됩니다. Project Server 2019 공개 미리 보기에서 사용자 데이터를 삭제하는 방법을 알아보려면 Project Server 2019 공개 미리 보기에서 사용자 데이터 삭제를 참조하세요.

참고

문제와 위험은 SharePoint Server의 일부인 프로젝트 사이트에 저장됩니다. 사용자 정보를 삭제할 때 가장 좋은 방법은 먼저 사용자의 SharePoint Server 정보를 삭제한 다음 Project Server 정보를 삭제하는 것입니다.

이 문서의 스크립트를 실행하기 전에 팜 및 Project Professional 클라이언트에 최신 업데이트를 배포했는지 확인합니다.

어떤 사용자 정보가 삭제되나요?

Project Server에서 관리자는 이 문서에 자세히 설명된 단계에 따라 다음과 같은 사용자의 개인 데이터 및 개인 식별 데이터(사용자를 식별하는 데 사용할 수 있는 데이터)를 삭제할 수 있습니다.

  • 표시 이름, 발음 이름, GUID - 사용자 표시 이름을 삭제하거나 이름을 바꾸도록 선택할 수 있습니다(스크립트 실행 방법에 대한 세부 정보).

  • 사용자별 보기 설정 - 예를 들어 사용자가 보기(예: 리소스 센터, 프로젝트 센터, 일정 웹 파트 등)가 있는 그리드 페이지 상단에 보기 설정(보기, 필터, 그룹, 테이블, 맵, 그리기, 보고서)에 대한 사용자 지정이 있는 경우 삭제됩니다.

  • Calendar 예외 세부 정보 - 예를 들어 사용자가 아프거나 휴가 중이어서 1월에 일주일 동안 결근한 경우 예외 이름을 수동으로 삭제해야 합니다. 날짜는 동일하게 유지됩니다.

  • 사용자 권한 - 예를 들어 사용자가 프로젝트 서버 범주와 연결되어 있는 경우 그룹에 개별 전역 권한이 부여된 경우 계속 진행하여 모든 연결을 제거합니다. 이 사용자도 비활성으로 설정됩니다.

참고

프로젝트 작성자는 이 문서의 절차의 일부로 삭제되지 않습니다.

프로젝트 사이트, 문제, 위험에 포함된 사용자 개인 정보는 SharePoint에 저장되며 이 프로세스를 통해 삭제되지 않습니다. SharePoint Server에서 직접 이 데이터를 삭제해야 합니다.

중요

Project Server에서 동일한 사용자의 정보를 삭제하기 전에 SharePoint Server 사용자 정보 삭제 프로세스를 실행하는 것이 좋습니다. 이렇게 하면 Project Server의 사용자 개인 정보 및 위험이 해당 SharePoint Server 데이터에 의해 업데이트되는 것을 방지할 수 있습니다.

시나리오 삭제

필요에 따라 이 프로세스를 통해 위에 나열된 사용자의 개인 정보를 삭제할 수 있지만 작업표, 프로젝트 및 과제와 같은 공유 항목에서 사용자 표시 이름을 삭제하는 것과 관련하여 일부 제어를 허용합니다. 세 가지 삭제 시나리오를 수행할 수 있습니다.

시나리오 1: Project Web App instance에서 표시 이름을 제외한 사용자 정보 삭제

이 시나리오에서는 사용자의 개인 정보가 모두 삭제되지만 사용자의 표시 이름은 그대로 유지됩니다.

사용자가 활성 상태였던 공유 항목(작업표 및 프로젝트 등)에 대한 추가 검토를 수행해야 하는 경우 이 시나리오를 선택할 수 있습니다.

시나리오 2: Project Web App instance에서 사용자 정보를 삭제하지만 모든 위치에서 표시 이름을 업데이트합니다.

이 시나리오에서는 사용자의 모든 개인 정보가 삭제됩니다. 사용자의 표시 이름이 표시된 모든 위치에서 "삭제된 사용자"와 같이 사용자가 선택한 문자열로 바뀝니다. 사용자의 리소스 ID는 그대로 유지됩니다.

작업표 및 프로젝트와 같은 공유 레코드에서도 사용자 표시 이름을 유지할 필요가 없는 경우 이 시나리오를 선택할 수 있습니다.

시나리오 3: Project Web App instance에서 사용자 정보를 삭제하지만 작업표 레코드를 제외한 모든 위치에서 표시 이름 변경

이 시나리오에서는 작업표 레코드를 제외한 사용자의 모든 개인 정보가 삭제됩니다. 사용자의 표시 이름을 "삭제된 사용자"와 같은 다른 문자열로 바꾸도록 선택할 수 있습니다. 그러나 사용자 이름이 계속 유지되는 작업표 레코드에는 영향을 미치지 않습니다. 업데이트된 표시 이름은 작업표 레코드에서 연결 해제되고 작업표 레코드의 데이터를 통해 업데이트된 사용자 이름을 식별할 수 없도록 새 리소스 ID가 생성됩니다.

사용자가 제출자 또는 승인자로 표시되는 작업표 레코드를 추가로 검토해야 하는 경우 이 시나리오를 선택할 수 있습니다.

프로세스 개요

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

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

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

  3. 사용자의 리소스 ID 찾기: 각 Project Web App instance에서 사용자의 클레임 계정을 지정하여 사용자의 고유 리소스 ID를 찾습니다.

  4. 사용자 데이터 내보내기 수행: 이 절차는 Project Server에서 사용자 데이터 내보내기에 설명되어 있습니다.

  5. Project Professional에서 사용자가 참여한 모든 프로젝트를 닫습니다. 이렇게 하면 사용자에게 정보가 있는 모든 프로젝트가 변경됩니다.

  6. RedactProjectUser PowerShell 스크립트를 실행합니다. 스크립트를 실행하여 각 PWA 사이트에서 사용자 정보를 삭제합니다.

    스크립트를 통해 사용자의 표시 이름을 다르게 변경하도록 선택할 수 있습니다(예: "삭제된 사용자"). 이 기능은 사용자의 데이터가 공유되어 있지만 삭제하지 않으려는 경우에 유용합니다(예: 프로젝트의 배정 소유자 또는 프로젝트 일정의 일부).

  7. Project Professional 사용자의 캐시 삭제: 스크립트가 성공적으로 완료된 후에는 Project Web App instance에 연결된 동안 Project Professional 사용하여 프로젝트를 여는 각 장치의 캐시를 삭제해야 합니다. 캐시를 지우면 사용자 정보가 장치에 캐시되어 있는 경우 프로젝트에 다시 추가되지 않습니다.

    중요

    Project Server에서 동일한 사용자의 정보를 삭제하기 전에 SharePoint Server 사용자 정보 삭제 프로세스를 실행하는 것이 좋습니다. 이렇게 하면 Project Server의 사용자 개인 정보 및 위험이 해당 SharePoint Server 데이터에 의해 업데이트되는 것을 방지할 수 있습니다.

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

이 문서는 Project Server 2016, Project Server 2013 및 Project Server 2010에 적용됩니다. 일반적인 프로세스는 세 가지 버전 모두에 적용되지만, 특히 SQL 스크립트를 실행할 때 다른 버전에 적용될 수 있는 세부 사항이 있습니다. 이러한 내용은 지침에 나와 있습니다.

1단계 - 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 사이트 ID 데이터베이스
https://contoso/pwa1
63ed0197-3647-4279-ed5e80855fc7
WSS_Content
https://contoso/pwa2
67fd0727-5279-3321-ef4e90956fc8
WSS_Content
https://contoso/pwa3
63ed0197-3647-4279-eg7e20233fg9
WSS_Content

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 instance에 있을 수 있습니다.

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

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

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의 사용자 ID를 찾으려면 다음과 같이 스크립트의 매개 변수 값을 편집합니다.

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

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

Project Server 2010에서는 스크립트가 작업표 GUID를 생성합니다. 이 GUID는 Project Web App instance에서 사용자 정보를 삭제하려는 경우에 필요하지만 작업표 레코드를 제외한 모든 위치에서 표시 이름을 변경하려는 경우에 필요합니다. 보고 및 삭제 스크립트에 사용할 이 GUID를 기록해 둡니다.

3단계 - 모든 사용자의 프로젝트 닫기

다음 단계에서 삭제 스크립트를 실행하기 전에 Project Server 환경에서 사용자의 모든 프로젝트가 닫혀 있는지 확인해야 합니다. 이렇게 하면 삭제 스크립트에서 변경한 내용을 덮어쓰지 않습니다.

필요한 경우 PWA 관리자는 PWA 서버 설정을 통해 프로젝트를 강제로 체크 인할 수 있습니다.

  1. 서버 설정 페이지의 큐 및 데이터베이스 관리 섹션에서 엔터프라이즈 개체 강제 체크인을 클릭합니다.

  2. 엔터프라이즈 개체 강제 체크인 페이지의 프로젝트 목록에서 확인해야 하는 프로젝트 옆에 있는 확인란을 선택한 다음 체크 인을 클릭합니다.

  3. 강제 체크인을 수행할지 묻는 메시지가 표시됩니다. 확인을 클릭합니다.

4단계 - 사용자 데이터 내보내기

사용자의 개인 데이터를 삭제하기 전에 사용자가 참여한 모든 프로젝트를 알아야 합니다. 이렇게 하면 나중에 사용자의 데이터가 제거되었는지, 삭제할 올바른 사용자가 있는지 확인할 수 있습니다. 사용자 데이터 내보내기는 Project Server에서 사용자 데이터 내보내기에 자세히 설명되어 있습니다. 아래 6단계에 대한 ExportWorkspaceItemsByDisplayName201x.sql 스크립트가 필요합니다.

5단계 - 작업 영역 항목 삭제

작업 영역 항목은 SharePoint Server의 일부인 프로젝트 사이트에 저장됩니다. Project Server 정보를 삭제하기 전에 사용자의 SharePoint Server 정보를 삭제해야 합니다. 이렇게 하면 작업 영역 항목의 사용자 개인 정보가 해당 SharePoint Server 데이터에 의해 업데이트되지 않습니다(아직 존재하는 경우).

작업 영역 항목은 다음과 같습니다.

  • 문제
  • 위험
  • 결과물
  • 연결된 문서

6단계 - Project Server에 작업 영역 항목 동기화

Sync-ProjectWorkspace201x.ps1 스크립트는 프로젝트 작업 영역 전체 동기화를 수행하기 위해 Project Server에서 큐 작업을 만듭니다. 찾고 있는 사용자가 포함된 각 프로젝트에 대해 이 스크립트를 실행합니다. (각 프로젝트마다 프로젝트 ID가 필요합니다. ExportWorkspaceItemsByDisplayName201x.sql 스크립트를 사용하여 이 파일을 검색할 수 있습니다.) 추가 단계를 진행하기 전에 큐 작업이 완료되었는지 확인합니다 .

7단계 - 리소스 일정을 열고 사용자에 대한 예외 이유 지우기

Project Server의 자원 달력에서 사용자의 개인 데이터를 제거하려면 프로젝트 관리자가 수동으로 열어 포함된 모든 달력 예외 이유를 지워야 합니다.

  1. Project Web App에서 리소스 센터로 이동합니다.

  2. 리소스 센터에서 업데이트할 사용자를 선택합니다.

  3. 리소스 탭의 리소스 섹션에서 열기를 클릭합니다. 메시지가 표시되면 Project Professional을 열지 확인합니다.

  4. Project Professional에서 업데이트할 사용자를 두 번 클릭합니다.

  5. 자원 정보 대화 상자에서 작업 시간 변경을 클릭합니다.

  6. 근무 시간 변경 대화 상자의 예외 탭에서 삭제할 예외를 선택한 다음 삭제를 클릭합니다.

  7. 확인을 클릭합니다.

  8. 리소스 정보 대화 상자에서 확인을 클릭합니다.

  9. 파일 탭에서 저장을 클릭합니다.

8단계 - 자원 및 프로젝트 자원 테이블에서 사용자의 개인 정보 삭제

Project Server 2010은 이후 버전과 데이터베이스 구조가 다르므로 프로시저와 스크립트도 다릅니다. 아래에서 해당 버전에 해당하는 섹션을 참조하세요.

중요

이 스크립트를 실행하기 전에 Project Server 데이터베이스를 백업해야 합니다. 사용자 데이터 삭제를 성공적으로 완료한 것을 확인한 후 백업 파일을 삭제할 수 있습니다.

Project Server 2016

RedactUser2016.sql SQL 스크립트를 실행하면 Project Web App instance에서 사용자의 개인 데이터가 제거되고 선택적으로 사용자의 표시 이름을 업데이트할 수 있습니다.

다음 매개 변수를 사용하여 RedactUser2016.sql 실행합니다.

매개 변수 설명 참고
@siteID
PWA instance의 사이트 ID입니다
필수
@resUID
개인 데이터를 삭제하려는 사용자의 리소스 ID입니다.
resUID 또는 res_claims_account가 필요합니다.
@res_claims_account
개인 데이터를 삭제하려는 사용자의 클레임 계정입니다
resUID 또는 res_claims_account가 필요합니다.
@res_new_name
리소스가 제공되면 리소스의 사용자 이름이 이 문자열로 업데이트됩니다.
중요: 위의 시나리오 2 또는 3을 수행하지 않는 한 이 값은 NULL이어야 합니다.
옵션
@update_timesheet_names
사용하도록 설정하면("1" 값) 작업표 레코드의 사용자 이름이 제공된 문자열로 @res_new_name 바뀝니다
사용하도록 설정하지 않으면("값 "0") 사용자 이름은 작업표 레코드에 남아 있지만 사용자 이름은 작업표에 새 리소스 ID가 할당되어 사용자 이름을 추적할 수 없게 합니다.
이 확인란은 기본적으로 선택됩니다.

시나리오 1의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하고 표시 이름은 그대로 남겨둡니다.

이 시나리오에서는 Project Web App instance에서 사용자의 개인 데이터를 제거하지만 사용자의 표시 이름은 그대로 유지합니다. 프로젝트의 작업 소유자 또는 작업표의 항목과 같은 공유 항목에 표시될 경우 검토를 위해 사용자의 표시 이름을 남겨 둘 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정과 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

스크립트는 사이트에서 표시 이름을 https://contoso.sharepoint.com/sites/pwa 제외한 Adam Barr의 모든 개인 데이터를 제거합니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID와 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

스크립트는 사이트에서 표시 이름을 https://contoso.sharepoint.com/sites/pwa 제외한 Adam Barr의 모든 개인 데이터를 제거합니다.

시나리오 2의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하지만 모든 위치에서 표시 이름을 업데이트합니다.

이 시나리오는 Project Web App instance에서 사용자의 개인 데이터를 제거하고 작업표를 포함하여 모든 위치에서 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다. 사용자의 표시 이름을 익명이 되는 이름으로 변경하려면 이 메서드를 사용합니다.

스크립트를 성공적으로 실행한 후 2단계에서 사용한 FindUser201x.sql 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

클레임 계정 또는 리소스 ID로 사용자를 지정할 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정과 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 1

스크립트는 Adam Barr의 모든 개인 데이터를 제거하고 사이트 전체에서 https://contoso.sharepoint.com/sites/pwa Adam Barr의 표시 이름을 "삭제된 사용자"로 변경합니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID와 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1

스크립트는 Adam Barr의 모든 개인 데이터를 제거하고 사이트 전체에서 https://contoso.sharepoint.com/sites/pwa Adam Barr의 표시 이름을 "삭제된 사용자"로 변경합니다.

시나리오 3의 스크립트 구성 예제: Project Online instance에서 사용자 정보를 삭제하지만 작업표 레코드를 제외한 모든 위치에서 표시 이름 변경

이 시나리오에서는 작업표 레코드에 나타나는 부분을 제외하고 Project Web App instance에서 사용자의 개인 데이터를 제거하고 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다.

스크립트를 실행한 후 2단계에서 사용한 FindUser201x.sql 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

클레임 계정 또는 리소스 ID로 사용자를 지정할 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정과 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 0

스크립트는 사이트에서 Adam Barr의 모든 개인 데이터를 https://contoso.sharepoint.com/sites/pwa 제거하고 작업표 레코드를 제외하고 그의 표시 이름을 "삭제된 사용자"로 변경합니다. 작업표 레코드에서 사용자에 대한 새 리소스 ID가 생성되어 "삭제된 항목"과 연결된 레코드에서 사용자를 연결 해제합니다.

계정이 삭제되었기 때문에 사용자의 클레임 계정을 사용하여 스크립트를 다시 실행할 수 없습니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID와 1단계에서 검색한 PWA 사이트 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @siteId uniqueidentifier = '63ed0197-3647-4279-ed5e80855fc7'
DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0

스크립트는 사이트에서 Adam Barr의 모든 개인 데이터를 https://contoso.sharepoint.com/sites/pwa 제거하고 작업표 레코드를 제외하고 그의 표시 이름을 "삭제된 사용자"로 변경합니다. 작업표 레코드에서 사용자에 대한 새 리소스 ID가 생성되어 "삭제된 항목"과 연결된 레코드에서 사용자를 연결 해제합니다.

Project Server 2013

RedactUser2013.sql SQL 스크립트를 실행하면 Project Web App instance에서 사용자의 개인 데이터가 제거되고 선택적으로 사용자의 표시 이름을 업데이트할 수 있습니다.

다음 매개 변수를 사용하여 RedactUser2013.sql 실행합니다.

매개 변수 설명 참고
@resUID 개인 데이터를 삭제하려는 사용자의 리소스 ID입니다. resUID 또는 res_claims_account가 필요합니다.
@res_claims_account 개인 데이터를 삭제하려는 사용자의 클레임 계정입니다 resUID 또는 res_claims_account가 필요합니다.
@res_new_name 리소스가 제공되면 리소스의 사용자 이름이 이 문자열로 업데이트됩니다.> [! 중요]> 위의 시나리오 2 또는 3을 수행하지 않는 한 이 값은 NULL이어야 합니다. 옵션
@update_timesheet_names 활성화하면("1" 값), 작업표 레코드의 사용자 이름이 제공된 문자열로 @res_new_name 바뀝니다. 활성화하지 않으면("0" 값), 사용자 이름은 작업표 레코드에 남아 있지만, 사용자 이름에는 작업표에서 새 리소스 ID가 할당되어 사용자 이름을 추적할 수 없게 됩니다. 이 확인란은 기본적으로 선택됩니다.

시나리오 1의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하고 표시 이름은 그대로 남겨둡니다.

이 시나리오에서는 Project Web App instance에서 사용자의 개인 데이터를 제거하지만 사용자의 표시 이름은 그대로 유지합니다. 프로젝트의 작업 소유자 또는 작업표의 항목과 같은 공유 항목에 표시될 경우 검토를 위해 사용자의 표시 이름을 남겨 둘 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정을 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

스크립트는 사이트에서 표시 이름을 https://contoso.sharepoint.com/sites/pwa 제외한 Adam Barr의 모든 개인 데이터를 제거합니다.

계정이 삭제되었기 때문에 사용자의 클레임 계정을 사용하여 스크립트를 다시 실행할 수 없습니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1

스크립트는 사이트에서 표시 이름을 https://contoso.sharepoint.com/sites/pwa 제외한 Adam Barr의 모든 개인 데이터를 제거합니다.

시나리오 2의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하지만 모든 위치에서 표시 이름을 업데이트합니다.

이 시나리오는 Project Web App instance에서 사용자의 개인 데이터를 제거하고 작업표를 포함하여 모든 위치에서 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다. 사용자의 표시 이름을 익명이 되는 이름으로 변경하려면 이 메서드를 사용합니다.

스크립트를 성공적으로 실행한 후 2단계에서 사용한 FindUser201x.sql 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

클레임 계정 또는 리소스 ID로 사용자를 지정할 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정을 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 1

스크립트는 Adam Barr의 모든 개인 데이터를 제거하고 사이트 전체에서 https://contoso.sharepoint.com/sites/pwa Adam Barr의 표시 이름을 "삭제된 사용자"로 변경합니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1

스크립트는 Adam Barr의 모든 개인 데이터를 제거하고 사이트 전체에서 https://contoso.sharepoint.com/sites/pwa Adam Barr의 표시 이름을 "삭제된 사용자"로 변경합니다.

시나리오 3의 스크립트 구성 예제: Project Online instance에서 사용자 정보를 삭제하지만 작업표 레코드를 제외한 모든 위치에서 표시 이름 변경

이 시나리오에서는 작업표 레코드에 나타나는 부분을 제외하고 Project Web App instance에서 사용자의 개인 데이터를 제거하고 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다.

스크립트를 실행한 후 2단계에서 사용한 FindUser201x.sql 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

클레임 계정 또는 리소스 ID로 사용자를 지정할 수 있습니다.

사용자의 클레임 계정 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 클레임 계정을 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = NULL
DECLARE @res_claims_account nvarchar(255) = 'i:0#.w|contoso\adamb'
DECLARE @res_new_name nvarchar(255) = 'Deleted User'
DECLARE @update_timesheet_names bit = 0

스크립트는 사이트에서 Adam Barr의 모든 개인 데이터를 https://contoso.sharepoint.com/sites/pwa 제거하고 작업표 레코드를 제외하고 그의 표시 이름을 "삭제된 사용자"로 변경합니다. 작업표 레코드에서 사용자에 대한 새 리소스 ID가 생성되어 "삭제된 항목"과 연결된 레코드에서 사용자를 연결 해제합니다.

사용자의 리소스 ID 사용

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_claims_account nvarchar(255) = NULL
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0

스크립트는 사이트에서 Adam Barr의 모든 개인 데이터를 https://contoso.sharepoint.com/sites/pwa 제거하고 작업표 레코드를 제외하고 그의 표시 이름을 "삭제된 사용자"로 변경합니다. 작업표 레코드에서 사용자에 대한 새 리소스 ID가 생성되어 "삭제된 항목"과 연결된 레코드에서 사용자를 연결 해제합니다.

Project Server 2010

RedactUser-PrimaryDB2010.sql 및 RedactUser-ReportingDB2010.sql SQL 스크립트를 실행하면 Project Web App instance에서 사용자의 개인 데이터가 제거되고 선택적으로 사용자의 표시 이름을 업데이트할 수 있습니다.

다음 매개 변수를 사용하여 각 사용자에 대해 이러한 스크립트를 모두 실행합니다.

매개 변수 설명 참고
@resUID 개인 데이터를 삭제하려는 사용자의 리소스 ID입니다. resUID 또는 res_claims_account가 필요합니다.
@res_new_name 리소스가 제공되면 리소스의 사용자 이름이 이 문자열로 업데이트됩니다.> [! 중요]> 위의 시나리오 2 또는 3을 수행하지 않는 한 이 값은 NULL이어야 합니다. 옵션
@update_timesheet_names 활성화하면("1" 값), 작업표 레코드의 사용자 이름이 제공된 문자열로 @res_new_name 바뀝니다. 활성화하지 않으면("0" 값), 사용자 이름은 작업표 레코드에 남아 있지만, 사용자 이름에는 작업표에서 새 리소스 ID가 할당되어 사용자 이름을 추적할 수 없게 됩니다. 이 확인란은 기본적으로 선택됩니다.
@timesheet_new_res_uid 다음과 같은 경우에 @update_timesheet_names=0사용합니다. FindUser201x.sql의 값을 사용합니다. 기본 스크립트와 보고 스크립트 모두에 동일한 값을 사용해야 합니다.

시나리오 1의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하고 표시 이름은 그대로 남겨둡니다.

이 시나리오에서는 Project Web App instance에서 사용자의 개인 데이터를 제거하지만 사용자의 표시 이름은 그대로 유지합니다. 프로젝트의 작업 소유자 또는 작업표의 항목과 같은 공유 항목에 표시될 경우 검토를 위해 사용자의 표시 이름을 남겨 둘 수 있습니다.

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) = NULL
DECLARE @update_timesheet_names bit = 1
DECLARE @timesheet_new_res_uid uniqueidentifier = NULL

스크립트는 사이트에서 표시 이름을 https://contoso.sharepoint.com/sites/pwa 제외한 Adam Barr의 모든 개인 데이터를 제거합니다.

시나리오 2의 스크립트 구성 예제: Project Web App instance에서 사용자 정보를 삭제하지만 모든 위치에서 표시 이름을 업데이트합니다.

이 시나리오는 Project Web App instance에서 사용자의 개인 데이터를 제거하고 작업표를 포함하여 모든 위치에서 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다. 사용자의 표시 이름을 익명이 되는 이름으로 변경하려면 이 메서드를 사용합니다.

스크립트를 성공적으로 실행한 후 2단계에서 사용한 FindUser201x.sql 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 1
DECLARE @timesheet_new_res_uid uniqueidentifier = NULL

스크립트는 Adam Barr의 모든 개인 데이터를 제거하고 사이트 전체에서 https://contoso.sharepoint.com/sites/pwa Adam Barr의 표시 이름을 "삭제된 사용자"로 변경합니다.

시나리오 3의 스크립트 구성 예제: Project Online instance에서 사용자 정보를 삭제하지만 작업표 레코드를 제외한 모든 위치에서 표시 이름 변경

이 시나리오에서는 작업표 레코드에 나타나는 부분을 제외하고 Project Web App instance에서 사용자의 개인 데이터를 제거하고 사용자의 표시 이름을 선택한 이름(예: "삭제된 사용자")으로 변경합니다.

스크립트를 실행한 후 2단계에서 사용한 FindUser 스크립트를 다시 실행하여 사용자의 표시 이름이 변경되었는지 확인할 수 있습니다.

이 예제에서는 2단계에서 검색한 Adam Barr의 리소스 ID를 사용하고 다음과 같이 스크립트의 매개 변수를 구성합니다.

DECLARE @res_uid uniqueidentifier = '19004637-C518-E811-80E0-001DD8C187B9'
DECLARE @res_new_name nvarchar(255) =  'Deleted User'
DECLARE @update_timesheet_names bit = 0
DECLARE @timesheet_new_res_uid uniqueidentifier = 'delete-user-data-from-project-server'

스크립트는 사이트에서 Adam Barr의 모든 개인 데이터를 https://contoso.sharepoint.com/sites/pwa 제거하고 작업표 레코드를 제외하고 그의 표시 이름을 "삭제된 사용자"로 변경합니다. 새 리소스 ID가 작업표 레코드에 추가되어 "삭제된 항목"과 연결된 레코드에서 연결을 해제합니다.

9단계 - 보관된 개체에서 리소스 정보 수정

보관된 프로젝트 데이터

리소스를 수정한 프로젝트의 경우:

  1. Project Web App 설정에서 엔터프라이즈 개체 삭제를 선택합니다.
  2. 보관된 프로젝트 삭제를 선택합니다.
  3. 필요한 보관된 프로젝트를 삭제합니다.

보관된 비프로젝트 데이터

Project Server는 다음과 같은 보관된 항목의 단일 버전만 유지합니다.

  • Enterprise 자원 그룹 및 달력
  • Enterprise 사용자 정의 필드
  • Enterprise Global

새 관리 백업 을 수행합니다(2010). 이렇게 하면 이전 버전을 리소스의 개인 데이터가 수정된 버전으로 덮어쓰게 됩니다.

10단계 - Project Online instance에 연결하는 Project Professional 사용자의 캐시 지우기

Project Professional 또는 Microsoft Project 데스크톱 클라이언트가 Project Web App에 연결된 모든 장치에서 캐시를 지워야 합니다. 캐시를 지우면 사용자 정보가 삭제된 프로젝트가 시스템에 남아 있는 캐시된 데이터에서 업데이트되지 않습니다.

Project Professional에서 캐시를 지우려면:

  1. 파일 메뉴를 선택한 다음 옵션을 클릭합니다.

  2. 프로젝트 옵션 페이지에서 저장을 선택합니다.

  3. 캐시 섹션에서 캐시 정리를 선택합니다.

참고 항목

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