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