방법: 데이터베이스 개체 및 설정 가져오기
데이터베이스 개체의 정의가 이미 포함된 데이터베이스를 관리하려면 빈 데이터베이스 프로젝트를 만든 다음 해당 데이터베이스의 개체 및 설정을 이 프로젝트로 가져옵니다. 데이터베이스 가져오기 마법사를 사용하거나 명령 창에서 자동화 명령을 사용하여 개체 및 설정을 가져올 수 있습니다. 비어 있지 않은 프로젝트에 데이터베이스 개체를 추가하려는 경우에는 다른 절차를 사용하여 추가 개체를 가져오거나 기존 개체를 변경해야 합니다. 자세한 내용은 방법: 데이터베이스에서 데이터베이스 프로젝트로 업데이트 가져오기를 참조하십시오.
참고
데이터베이스에서 가져올 경우 암호는 포함되지 않습니다. 가져오기 작업이 완료되면 프로젝트의 암호가 임의의 문자로 설정됩니다. 스키마를 비교할 경우 암호 차이는 보고되지 않습니다.
필요한 권한
가져올 개체 및 설정이 포함된 데이터베이스에 액세스할 수 있는 권한이 있어야 합니다. 많은 개발 환경에서는 데이터베이스 관리자 역할이 부여된 사용자가 개발 작업 팀에 프로젝트를 전달하기 전에 데이터베이스 프로젝트를 만들고 개체 및 설정을 가져옵니다.
데이터베이스 가져오기 마법사를 사용하여 데이터베이스 개체 및 설정을 가져오려면
데이터베이스 개체가 아직 없는 데이터베이스 프로젝트를 열거나 새로 만듭니다.
자세한 내용은 방법: 빈 데이터베이스 및 서버 프로젝트 만들기를 참조하십시오.
참고
새 데이터베이스 프로젝트 마법사를 사용하면 프로젝트를 만들면서 동시에 스키마를 가져올 수 있습니다. 자세한 내용은 방법: 데이터베이스 및 서버 프로젝트 만들기를 참조하십시오.
스키마 뷰가 나타나지 않는 경우 보기 메뉴를 열고 데이터베이스 스키마 뷰를 클릭합니다.
스키마 뷰가 나타납니다.
스키마 뷰에서 데이터베이스 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 개체 및 설정 가져오기를 클릭합니다.
데이터베이스 가져오기 마법사가 나타납니다.
소스 데이터베이스 연결에서 기존 데이터베이스 서버의 정보를 가져오는 데 사용할 연결을 클릭합니다. 연결이 표시되지 않으면 새 연결을 클릭하고 연결을 만듭니다.
서버 탐색기나 다른 여러 위치에서 데이터베이스 연결을 만들 수 있습니다. 자세한 내용은 방법: 데이터베이스 연결 만들기를 참조하십시오.
(선택 사항) 가져오기 옵션에서 다음 중 하나 이상을 수행합니다.
열 데이터 정렬이 데이터베이스 데이터 정렬과 일치하지 않는 경우에만 열 데이터 정렬이 명시적으로 지정되도록 제한할 수 있습니다. 이러한 방식으로 제한하려면 데이터베이스 데이터 정렬과 다를 경우에만 열 데이터 정렬 스크립팅 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
소스 데이터베이스 및 그 내용에 대한 확장 속성을 가져오려면 확장 속성 가져오기 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
예를 들어 이름이 MyTable인 테이블을 가져올 수 있습니다. 이 경우 MyTable.table.sql 파일에 sp_addextendedproperty 문이 추가됩니다. 이러한 문에는 sp_addextendedproperty, sp_settriggerorder, sp_tableoption 및 sp_indexoption이 포함됩니다. 자세한 내용은 Microsoft 웹 사이트의 sp_addextendedproperty (Transact-SQL) 항목을 참조하십시오.
로그 파일 및 파일 그룹의 크기를 가져오려면 로그 및 파일 그룹 파일 크기 가져오기 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
소스 데이터베이스의 사용 권한을 가져오려면 권한 가져오기 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
사용 권한을 가져올 경우 데이터베이스 프로젝트의 모델에 해당 사용 권한을 추가할지 여부를 지정할 수 있습니다. 모델에 사용 권한을 추가하면 데이터베이스 프로젝트가 로드되는 속도가 느려집니다.
소스 데이터베이스 프로젝트 설정과 일치하도록 데이터베이스 프로젝트 설정을 업데이트하려면 가져온 스키마 설정으로 데이터베이스 구성 재정의 확인란을 선택합니다. 그렇지 않은 경우 해당 확인란의 선택을 취소합니다.
프로젝트의 각 폴더에 저장되는 데이터베이스 개체 수를 제한하여 데이터베이스 프로젝트를 열고 작업을 수행하는 데 소요되는 시간을 줄일 수 있습니다. 디렉터리당 최대 파일 수 목록에서 디스크의 단일 디렉터리에 허용할 파일 수를 클릭합니다.
시작을 클릭하여 스키마를 가져옵니다.
스키마를 가져올 때 만들어지는 개체와 관련된 모든 오류가 오류 목록 창에 표시됩니다. 스키마를 가져온 후에는 상태 표시줄에 소스 데이터베이스 ServerName.DatabaseName**에서 데이터베이스 스키마 가져오기 시작… 데이터베이스 스키마를 가져왔습니다.**라는 메시지가 표시됩니다. 다른 오류는 마법사 요약 페이지에 나타나며 프로젝트 폴더의 로그 파일에도 기록됩니다.
이때 데이터베이스 프로젝트를 빌드 및 배포하려면 먼저 데이터베이스 프로젝트 설정을 구성해야 합니다. 자세한 내용은 방법: 데이터베이스 프로젝트에 대한 데이터베이스 속성 구성을 참조하십시오.
Visual Studio 자동화 모델을 사용하여 데이터베이스 개체 및 설정을 가져오려면
데이터베이스 개체가 아직 없는 데이터베이스 프로젝트를 열거나 새로 만듭니다.
자세한 내용은 방법: 빈 데이터베이스 및 서버 프로젝트 만들기를 참조하십시오.
참고
새 데이터베이스 프로젝트 마법사를 사용하면 프로젝트를 만들면서 동시에 스키마를 가져올 수 있습니다. 자세한 내용은 방법: 데이터베이스 및 서버 프로젝트 만들기를 참조하십시오.
보기 메뉴를 열고 다른 창을 가리킨 다음 명령 창을 클릭합니다.
명령 창에서 다음 명령을 입력합니다.
Project.ImportDatabaseSchema /ConnectionString "YourConnectionInfo"
YourConnectionInfo는 가져올 개체 및 설정이 포함된 데이터베이스에 연결하는 데 사용할 연결 문자열로 바꿉니다.
참고
가져오기 작업을 제어하는 추가 옵션을 명령에 지정할 수 있습니다. 자세한 내용은 Visual Studio의 데이터베이스 기능에 대한 자동화 명령 참조를 참조하십시오. 연결을 지정하지 않으면 데이터베이스 가져오기 마법사가 나타납니다.
지정한 데이터베이스의 개체 및 설정이 해당 명령을 실행할 때 솔루션 탐색기에서 선택한 데이터베이스 프로젝트로 가져와집니다. 스키마를 가져올 때 만들어지는 개체와 관련된 모든 오류가 오류 목록 창에 표시됩니다.
이때 데이터베이스 프로젝트를 빌드 및 배포하려면 먼저 데이터베이스 프로젝트 설정을 구성해야 합니다. 자세한 내용은 방법: 데이터베이스 프로젝트에 대한 데이터베이스 속성 구성을 참조하십시오.