방법: 데이터베이스 스키마 가져오기
업데이트: 2007년 11월
데이터베이스 프로젝트는 데이터베이스의 오프라인 표현으로, 데이터베이스 변경 내용을 관리하는 메커니즘입니다. 데이터베이스 프로젝트를 만들었지만 데이터베이스 개체 정의를 만들거나 가져오지 않은 경우 데이터베이스에서 데이터베이스 스키마를 가져올 수 있습니다. 데이터베이스 프로젝트에 이미 데이터베이스 개체가 하나 이상 있는 경우 다른 절차를 사용하여 추가 개체를 가져오거나 기존 개체를 변경해야 합니다. 자세한 내용은 방법: 데이터베이스에서 데이터베이스 프로젝트로 업데이트 가져오기를 참조하십시오.
참고: |
---|
데이터베이스 스키마를 가져오는 경우 소스 데이터베이스의 확장 속성도 가져옵니다. 개체에 대한 확장 속성은 개체 정의가 있는 동일한 파일에서 정의됩니다. 예를 들어 MyTable 테이블에 대한 확장 속성이 있으면 MyTable.table.sql 파일에 sp_addextendedproperty 문이 추가됩니다. 이러한 문에는 sp_addextendedproperty, sp_settriggerorder, sp_tableoption 및 sp_indexoption이 포함됩니다. |
데이터베이스 스키마를 가져오려면
데이터베이스 개체가 없는 기존 데이터베이스 프로젝트를 열거나 새로 만듭니다. 자세한 내용은 방법: 빈 데이터베이스 프로젝트 만들기 또는 방법: 데이터베이스 프로젝트 열기를 참조하십시오.
솔루션 탐색기에는 데이터베이스 프로젝트가 있는 솔루션이 표시됩니다.
참고: 새 데이터베이스 프로젝트 마법사를 사용하면 프로젝트를 만들면서 동시에 스키마를 가져올 수 있습니다. 자세한 내용은 방법: 데이터베이스 프로젝트 만들기를 참조하십시오.
스키마 뷰가 나타나지 않는 경우 보기 메뉴를 열고 스키마 뷰를 클릭합니다.
스키마 뷰가 나타납니다.
스키마 뷰에서 데이터베이스 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 데이터베이스 스키마 가져오기를 클릭합니다.
데이터베이스 가져오기 마법사가 나타납니다.
소스 데이터베이스 연결에서 기존 데이터베이스에서 스키마 정보를 가져오는 데 사용할 연결을 클릭합니다. 연결이 표시되지 않으면 새 연결을 클릭하여 연결을 만듭니다.
서버 탐색기 또는 Visual Studio Team System Database Edition의 다른 여러 위치에서 데이터베이스 연결을 만들 수 있습니다. 자세한 내용은 방법: 데이터베이스 연결 만들기를 참조하십시오.
(선택 사항) 다음 중 하나 이상을 수행합니다.
열 데이터 정렬이 데이터베이스 데이터 정렬과 일치하지 않는 경우에만 열 데이터 정렬이 명시적으로 지정되도록 제한할 수 있습니다. 이러한 방식으로 제한하려면 가져오기 옵션에서 데이터베이스 데이터 정렬과 다를 경우에만 열 데이터 정렬 스크립팅 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
소스 데이터베이스 및 그 내용에 대한 확장 속성을 무시하려면 가져오기 옵션에서 확장 속성 무시 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
소스 데이터베이스 프로젝트 설정과 일치하도록 데이터베이스 프로젝트 설정을 업데이트하려면 가져오기 옵션에서 가져온 스키마 설정으로 데이터베이스 구성 재정의 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
참고: 데이터베이스에서 가져오는 설정은 ANSI 패딩, ANSI null, ANSI 경고, 산술 연산 중단, 숫자 반올림 시 중단, Null 연결 시 Null 생성, 따옴표 붙은 식별자 및 데이터베이스 데이터 정렬뿐입니다.
마침을 클릭하여 스키마 가져오기를 시작합니다.
스키마를 가져올 때 만들어지는 개체와 관련된 모든 오류가 오류 목록 창에 표시됩니다. 스키마를 가져온 경우 Visual Studio 상태 표시줄에 표시됩니다. 예를 들어 상태 표시줄에 "소스 데이터베이스 ServerName.DatabaseName에서 데이터베이스 스키마 가져오기 시작… 데이터베이스 스키마를 가져왔습니다."가 표시됩니다. 기타 오류는 마법사 요약 페이지에 표시되며 프로젝트 폴더의 로그 파일에도 기록됩니다.
이때 데이터베이스 프로젝트를 빌드 및 배포하려면 먼저 데이터베이스 프로젝트 설정을 구성해야 합니다. 자세한 내용은 방법: 빌드 및 배포할 데이터베이스 프로젝트 구성을 참조하십시오.
보안
가져올 데이터베이스 스키마가 있는 데이터베이스에 액세스할 수 있는 권한이 있어야 합니다. 많은 개발 환경에서는 데이터베이스 관리자 역할이 부여된 사용자가 개발 작업 팀에 프로젝트를 전달하기 전에 데이터베이스 프로젝트를 만들고 데이터베이스 스키마를 가져옵니다.
참고: |
---|
데이터베이스 스키마를 가져올 때 TRUSTWORTHY 데이터베이스 설정을 가져오지 않는 동작은 의도된 것입니다. 이러한 종류의 설정에는 sysadmin 권한이 필요하며, 이러한 설정은 명시적으로 설정해야 합니다. 디자인 타임 유효성 검사 데이터베이스에서 sysadmin 권한이 있는 사용자는 데이터베이스 프로젝트에서 TRUSTWORTHY 설정을 사용할 수 있습니다. |