초기 스키마 생성 후 SSDT(SQL Server Data Tools)를 사용하여 큐브 및 차원 정의를 변경한 다음 스키마 생성 마법사를 다시 실행할 수 있습니다. 마법사는 주체 영역 데이터베이스 및 연결된 데이터 원본 뷰의 스키마를 업데이트하여 변경 내용을 반영하고 현재 테이블에 있는 데이터를 가능한 한 다시 생성할 수 있도록 유지합니다. 초기 생성 후 테이블을 변경한 경우 스키마 생성 마법사는 다음 규칙을 사용하여 가능한 경우 이러한 변경 내용을 유지합니다.
이전에 마법사에서 테이블을 생성한 경우 테이블을 덮어씁니다. 마법사에 의해 생성된 테이블이 덮어쓰이지 않도록 하려면 데이터 원본 뷰에서 테이블의
AllowChangesDuringGeneration속성을false으로 변경할 수 있습니다. 테이블을 제어할 때 테이블은 다른 사용자 정의 테이블처럼 처리되며 다시 생성 중에는 영향을 받지 않습니다. 생성에서 테이블을 제거한 후, 데이터를 원본 뷰에서 테이블의AllowChangesDuringGeneration속성을true로 변경하여 마법사에서 변경할 수 있도록 테이블을 다시 열 수 있습니다. 자세한 내용은 데이터 원본 뷰의 속성 변경(Analysis Services)을 참조하세요.마법사가 아닌 다른 항목으로 테이블이 데이터 원본 뷰 또는 기본 데이터베이스에 추가된 경우 테이블을 덮어쓰지 않습니다.
스키마 생성 마법사가 이전에 주체 영역 데이터베이스에서 생성된 테이블을 다시 생성하는 경우 마법사에서 해당 테이블의 기존 데이터를 유지하도록 선택할 수 있습니다.
데이터 보존 지원
일반적으로 스키마 생성 마법사는 생성된 테이블에 저장된 데이터를 유지합니다. 또한 마법사에서 생성한 테이블에 열을 추가하는 경우 마법사는 해당 데이터도 유지합니다. 이 기능을 사용하여 차원 및 큐브를 추가하거나 수정한 다음 기본 테이블에 저장된 데이터를 다시 로드하지 않고도 기본 개체를 다시 생성할 수 있습니다.
비고
구분된 텍스트 파일에서 데이터를 로드하는 경우 스키마 생성 마법사에서 이러한 파일과 다시 생성 중에 포함된 데이터를 덮어쓸지 여부를 선택할 수도 있습니다. 텍스트 파일은 완전히 덮어쓰거나 전혀 덮어쓰지 않습니다. 스키마 생성 마법사는 이러한 파일을 부분적으로 덮어쓰지 않습니다. 기본적으로 이러한 파일은 덮어쓰여지지 않습니다.
부분 보존
스키마 생성 마법사는 일부 상황에서 기존 데이터를 유지할 수 없습니다. 다음 표에서는 마법사가 다시 생성 중에 기본 테이블의 모든 기존 데이터를 유지할 수 없는 상황의 예를 제공합니다.
| 데이터 변경 유형 | 치료 |
|---|---|
| 호환되지 않는 데이터 형식 변경 | 스키마 생성 마법사는 가능하면 표준 SQL Server 데이터 형식 변환을 사용하여 기존 데이터를 한 데이터 형식에서 다른 데이터 형식으로 변환합니다. 그러나 특성의 데이터 형식을 기존 데이터와 호환되지 않는 형식으로 변경하면 마법사에서 영향을 받는 열의 데이터를 삭제합니다. |
| 참조 무결성 오류 | 데이터를 포함하는 차원 또는 큐브를 변경하면 다시 생성 중에 참조 무결성 오류가 발생하는 경우 스키마 생성 마법사는 외래 키 테이블의 모든 데이터를 삭제합니다. 삭제된 데이터는 외래 키 제약 조건 위반을 일으킨 열 또는 참조 무결성 오류가 포함된 행으로 제한되지 않습니다. 예를 들어 차원 키를 고유하지 않거나 null이 아닌 데이터가 있는 특성으로 변경하면 외래 키 테이블의 모든 기존 데이터가 삭제됩니다. 또한 한 테이블의 모든 데이터를 삭제하면 연속 효과가 발생할 수 있으며 다른 참조 무결성 위반이 발생할 수 있습니다. |
| 삭제된 특성 또는 차원 | 차원에서 특성을 삭제하면 스키마 생성 마법사에서 삭제된 특성에 매핑된 열을 삭제합니다. 차원을 삭제하면 마법사가 삭제된 차원에 매핑된 테이블을 삭제합니다. 이러한 경우 마법사는 삭제된 열 또는 테이블에 포함된 데이터를 삭제합니다. |
스키마 생성 마법사는 데이터를 손실하지 않고 마법사를 취소할 수 있도록 데이터를 삭제하기 전에 경고를 실행합니다. 그러나 스키마 생성 마법사는 예상된 데이터 손실과 예상치 못한 데이터 손실을 구분할 수 없습니다. 마법사를 실행하면 삭제할 데이터가 포함된 테이블과 열이 대화 상자에 나열됩니다. 마법사를 계속 진행하여 데이터를 삭제할 수 있거나, 혹은 마법사를 취소하고 테이블 및 열에 대한 변경 내용을 수정할 수 있습니다.
큐브 및 차원 변경 지원
차원 및 큐브의 속성을 변경하면 스키마 생성 마법사는 다음 표에 설명된 대로 기본 주체 영역 데이터베이스와 관련 데이터 원본 뷰에서 적절한 개체를 다시 생성합니다.
차원, 큐브 또는 특성과 같은 개체를 삭제합니다.
스키마 생성 마법사는 삭제된 개체가 매핑되는 기본 개체를 삭제합니다. 마법사에서 생성한 테이블에 열을 추가하는 경우 새 열에서 해당 테이블이 삭제되는 것을 방지하지 않습니다. 개체를 삭제하면 기본 개체에 저장된 데이터가 삭제되고 참조 무결성 오류가 발생할 경우 다른 데이터가 삭제될 수도 있습니다.
차원, 큐브 또는 특성과 같은 개체의 이름을 변경합니다.
스키마 생성 마법사는 이름이 바뀐 개체가 매핑되는 기본 개체의 이름을 바꿉니다. 또한 마법사는 기본 키와 같은 영향을 받는 모든 개체의 이름을 바꿉니다. 기본 개체에 저장된 기존 데이터는 유지됩니다.
데이터 형식 변경과 같은 개체 수정
스키마 생성 마법사는 변경된 개체가 매핑되는 기본 개체를 수정합니다. 새 데이터 형식이 기존 데이터와 호환되지 않는 한 데이터베이스의 기본 개체에 저장된 기존 데이터는 유지됩니다.
차원, 큐브 또는 특성과 같은 새 개체를 추가합니다.
스키마 생성 마법사는 새 개체가 매핑되는 기본 개체를 추가합니다.
주체 영역 데이터베이스에 사용자 개체가 있기 때문에 스키마 생성 마법사에서 필요한 변경을 수행할 수 없는 경우(데이터베이스 엔진이 오류를 반환하기 때문에) 스키마 생성 마법사가 실패하고 데이터베이스 엔진에서 반환한 오류가 표시됩니다. 예를 들어 마법사에서 테이블을 생성한 후 테이블에 기본 키 제약 조건 또는 비클러스터형 인덱스를 만드는 경우 스키마 생성 마법사는 제약 조건이나 인덱스를 만들지 않았기 때문에 해당 테이블을 삭제하지 않습니다.
스키마 변경 지원
주체 영역 데이터베이스 또는 연결된 데이터 원본 뷰에서 테이블 또는 열의 속성을 변경하는 경우 스키마 생성 마법사는 다음 표에 설명된 대로 변경 내용을 처리합니다.
스키마 생성 마법사에서 생성된 테이블 또는 열을 삭제합니다.
스키마 생성 마법사에서 생성된 테이블 또는 열을 삭제하면 삭제된 테이블이 다시 생성됩니다. 마법사는 삭제된 테이블 또는 열이 다시 생성될 것이라는 경고를 제공하지 않습니다.
스키마 생성 마법사에서 생성된 테이블 또는 열의 속성 변경
스키마 생성 마법사에서 생성된 테이블 또는 열의 속성을 수정하면 변경된 테이블이 변경되지 않고 다시 생성됩니다. 예를 들어 열의 데이터 형식 또는 Null 허용 여부를 변경하거나 스키마 생성 마법사에서 생성된 테이블의 파일 그룹을 변경하는 경우 변경 내용이 다시 생성되지 않습니다. 마법사는 변경된 개체가 변경 없이 다시 생성된다는 경고를 제공하지 않습니다.
스키마 생성 마법사에서 생성된 테이블에 열을 추가하거나 주체 영역 데이터베이스 또는 준비 영역 데이터베이스에 테이블을 추가합니다.
스키마 생성 마법사에서 생성된 테이블에 열을 추가하는 경우 마법사는 다시 생성 중에 추가 열과 여기에 저장된 모든 데이터를 유지합니다. 그러나 주체 영역 데이터베이스 또는 준비 영역 데이터베이스에 테이블을 추가하는 경우 스키마 생성 마법사는 새 테이블을 통합하지 않습니다. 추가된 열 또는 추가된 테이블은 Analysis Services 프로젝트, Analysis Services 데이터베이스, DTS 패키지, 데이터 원본 뷰 또는 생성된 스키마의 다른 위치에 반영되지 않습니다.
데이터 원본 및 데이터 원본 뷰 변경 지원
스키마 생성 마법사가 다시 실행되면 원래 생성에 사용한 것과 동일한 데이터 원본 및 데이터 원본 뷰를 다시 사용합니다. 데이터 원본 또는 데이터 원본 뷰를 추가하는 경우 마법사는 이를 사용하지 않습니다. 초기 생성 후 원래 데이터 원본 또는 데이터 원본 뷰를 삭제하는 경우 마법사를 처음부터 실행해야 합니다. 마법사의 모든 이전 설정도 삭제됩니다. 삭제된 데이터 원본 또는 데이터 원본 뷰에 바인딩된 기본 데이터베이스의 기존 개체는 다음에 스키마 생성 마법사를 실행할 때 사용자가 만든 개체로 처리됩니다.
데이터 원본 뷰가 생성 당시 기본 데이터베이스의 실제 상태를 반영하지 않는 경우 스키마 생성 마법사는 주체 영역 데이터베이스 및 스테이징 영역 데이터베이스에 대한 스키마를 생성할 때 오류가 발생할 수 있습니다. 예를 들어 데이터 원본 뷰에서 열의 데이터 형식이 설정되어 int있지만 열의 데이터 형식이 실제로 설정된 string경우 스키마 생성 마법사는 외래 키의 데이터 형식을 데이터 원본 뷰와 일치하도록 int 설정한 다음 실제 데이터 형식이 string관계이므로 관계를 만들 때 실패합니다.
반면에 데이터 원본 연결 문자열을 이전 세대와 다른 데이터베이스로 변경하면 오류가 생성되지 않습니다. 새 데이터베이스가 사용되며 이전 데이터베이스는 변경되지 않습니다.
또한 참조하십시오
데이터 원본 뷰 및 데이터 원본에 대한 변경 내용 관리
스키마 생성 마법사(Analysis Services)