다음을 통해 공유


연습: 부분 프로젝트를 사용하여 데이터베이스 프로젝트 분할

부분 프로젝트를 사용하여 데이터베이스 프로젝트의 일부 개체에 대한 개발을 격리할 수 있습니다. 데이터베이스를 부분 프로젝트로 분할하고 가져온 부분 프로젝트의 개체에 대한 버전 제어 액세스를 제한하면 사용자가 데이터베이스 프로젝트 중 업데이트해서는 안 되는 부분을 실수로 변경하는 것을 방지할 수 있습니다.

개체 또는 개체 그룹을 부분 프로젝트로 내보낼 수 있습니다. 예를 들어 스키마 정의와 해당 내용을 내보낼 수 있습니다. 개체 형식별로 개체를 내보내 테이블과 뷰 등을 각기 다른 프로젝트에 포함할 수 있습니다.

이 연습에서는 다음 단계를 수행합니다.

  • 데이터베이스의 스키마 및 두 테이블에 대한 정의가 포함된 소스 데이터베이스 프로젝트 만들기

  • 개체를 부분 프로젝트로 내보내기

  • 개발 데이터베이스 프로젝트 만들기

  • 부분 프로젝트의 개체를 개발 프로젝트로 가져오기

  • 가져온 개체를 참조하는 저장 프로시저 정의

  • 개발 프로젝트 구성, 빌드 및 배포

사전 요구 사항

Visual Studio가 설치되어 있어야 하며 SQL Server를 실행하는 서버에 대한 쓰기 권한이 있어야 합니다.

소스 데이터베이스 프로젝트 및 해당 개체 만들기

스키마와 테이블이 포함된 데이터베이스 프로젝트가 이미 있는 경우 이 연습 단계에서 만드는 프로젝트 대신 해당 프로젝트를 사용해도 됩니다.

소스 데이터베이스 프로젝트를 만들려면

  1. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 열립니다.

  2. 설치된 템플릿에서 데이터베이스 노드를 확장하고 SQL Server를 클릭합니다.

    참고

    Visual Studio Professional을 사용하는 경우에는 설치된 템플릿에서 데이터베이스 노드, SQL Server 노드를 차례로 확장한 다음 고급을 클릭합니다.

  3. 템플릿 목록에서 SQL Server 2008 데이터베이스 프로젝트를 클릭합니다.

    참고

    대상 배포 데이터베이스의 SQL Server 버전이 다른 경우 사용 중인 SQL Server의 버전과 일치하는 프로젝트 형식을 지정할 수 있습니다.

  4. 이름에 MySourceDatabase를 입력합니다.

  5. 위치에서 데이터베이스 프로젝트를 만들려는 위치의 경로를 찾아 지정하고 확인을 클릭합니다.

    중요

    경로가 너무 길면 이 연습의 뒷부분에서 부분 프로젝트를 가져오려고 할 때 오류가 발생할 수 있습니다. 이러한 오류를 방지하려면 짧은 경로를 사용합니다.

    데이터베이스 프로젝트가 만들어지고 솔루션 탐색기에 나타납니다.

    다음에는 스키마와 해당 스키마의 테이블을 정의합니다.

스키마를 정의하려면

  1. 보기 메뉴에서 데이터베이스 스키마 뷰를 클릭합니다.

  2. MySourceDatabase 노드와 스키마 노드를 차례로 확장하고 스키마 노드를 마우스 오른쪽 단추로 클릭한 다음 추가를 가리키고 스키마를 클릭합니다.

    새 항목 추가 대화 상자가 열립니다.

  3. 템플릿 목록에서 스키마를 클릭합니다.

  4. 이름에 Person을 입력한 다음 추가를 클릭합니다.

    다음에는 새 스키마에 테이블을 만듭니다.

Person 스키마에 테이블을 정의하려면

  1. 스키마 뷰에서 Person 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 테이블을 클릭합니다.

    참고

    여기에서는 연습을 간단하게 하기 위해 테이블 정의는 업데이트하지 않습니다.

    새 항목 추가 대화 상자가 열립니다.

  2. 템플릿 목록에서 테이블을 클릭합니다.

  3. 이름에 Contacts를 입력한 다음 추가를 클릭합니다.

  4. Person 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 테이블을 클릭합니다.

    새 항목 추가 대화 상자가 열립니다.

  5. 템플릿 목록에서 테이블을 클릭합니다.

  6. 이름에 StateProvince를 입력한 다음 추가를 클릭합니다.

    다음에는 Person 스키마와 해당 프로젝트를 내보냅니다.

개체를 부분 프로젝트로 내보내기

개체를 부분 프로젝트로 내보내려면

  1. 솔루션 탐색기에서 스키마 개체 노드를 확장하고 스키마 노드를 확장합니다.

    Person 노드가 나타납니다.

  2. 데이터베이스 수준 개체 노드, 보안 노드, 스키마 노드를 차례로 확장합니다.

    Person.schema.sql 파일이 나타납니다.

  3. Person 노드를 마우스 오른쪽 단추로 클릭하고 부분 프로젝트로 내보내기를 클릭합니다.

    다른 이름으로 저장 대화 상자가 열립니다.

  4. 파일 이름에 ExportedPersonSchema를 입력하고 저장을 클릭합니다.

    부분 프로젝트를 저장한 폴더를 기록해 둡니다.

  5. 파일 메뉴에서 솔루션 닫기를 클릭합니다. 변경 내용을 솔루션에 저장할지 확인하는 메시지가 나타나면 를 클릭합니다.

    다음에는 Person 스키마의 테이블을 참조하는 저장 프로시저를 개발할 프로젝트를 만듭니다.

개발 데이터베이스 프로젝트 만들기

개발 데이터베이스 프로젝트를 만들려면

  1. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 열립니다.

  2. 설치된 템플릿에서 데이터베이스 노드를 확장하고 SQL Server를 클릭합니다.

    참고

    Visual Studio Professional을 사용하는 경우에는 설치된 템플릿에서 데이터베이스 노드, SQL Server 노드를 차례로 확장한 다음 고급을 클릭합니다.

  3. 템플릿 목록에서 SQL Server 2008 데이터베이스 프로젝트를 클릭합니다.

    참고

    대상 배포 데이터베이스의 SQL Server 버전이 다른 경우 사용 중인 SQL Server의 버전과 일치하는 프로젝트 형식을 지정할 수 있습니다.

  4. 이름에 MyDevelopmentDatabase를 입력합니다.

  5. 위치에서 데이터베이스 프로젝트를 만들려는 위치의 경로를 찾아 지정하고 확인을 클릭합니다.

    데이터베이스 프로젝트가 만들어지고 솔루션 탐색기에 나타납니다.

    다음에는 이전 절차에서 내보낸 부분 프로젝트를 가져옵니다.

개체를 부분 프로젝트로 가져오기

부분 프로젝트를 가져오려면

  1. 솔루션 탐색기에서 MyDevelopmentDatabase 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 부분 프로젝트 가져오기를 클릭합니다.

  2. 확인 대화 상자에서 를 클릭합니다.

  3. 열기 대화 상자에서 MySourceDatabase로부터 내보낸 부분 프로젝트가 있는 폴더를 찾아 지정합니다.

  4. ExportedPersonSchema.files 파일을 클릭한 다음 열기를 클릭합니다.

    프로젝트가 언로드되었다가 다시 로드되고 솔루션 탐색기에 MySourceDatabaseBasePath 폴더가 나타납니다.

  5. MySourceDatabaseBasePath 폴더를 확장합니다.

    이 폴더에는 소스 데이터베이스에서 내보낸 파일이 있습니다.

    다음에는 Person 스키마에 정의한 테이블을 참조하는 저장 프로시저를 정의합니다.

가져온 개체를 참조하는 저장 프로시저 정의

간단한 저장 프로시저를 정의하려면

  1. 보기 메뉴에서 데이터베이스 스키마 뷰를 클릭합니다.

  2. 스키마 뷰에서 MyDevelopmentDatabase 노드를 확장하고 스키마 노드를 확장합니다.

  3. Person 노드를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 저장 프로시저를 클릭합니다.

    새 항목 추가 대화 상자가 열립니다.

  4. 이름에 uspCountContacts를 입력하고 추가를 클릭합니다.

    저장 프로시저가 프로젝트에 추가되고 Transact-SQL 편집기에 나타납니다.

  5. Transact-SQL 편집기에서 다음과 일치하도록 코드를 업데이트합니다.

    CREATE PROCEDURE [Person].[uspCountContacts]
    AS
    SELECT COUNT(*) FROM [Person].[Contacts]
    
  6. 파일 메뉴에서 모두 저장을 클릭합니다.

    다음에는 개발 데이터베이스 프로젝트를 구성하고 빌드한 다음 대상 데이터베이스에 배포합니다.

개발 프로젝트 구성, 빌드 및 배포

개발 데이터베이스를 구성, 빌드 및 배포하려면

  1. 솔루션 탐색기에서 MyDevelopmentDatabase 노드를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  2. 속성 페이지에서 배포 탭을 클릭합니다.

  3. 배포 작업 목록에서 배포 스크립트(.sql)를 만들고 데이터베이스에 배포를 클릭합니다.

  4. 대상 데이터베이스 설정에서 편집을 클릭합니다.

  5. 이 프로젝트를 배포할 대상 서버에 대한 연결을 지정한 다음 확인을 클릭합니다.

  6. 파일 메뉴에서 모두 저장을 클릭합니다.

  7. 솔루션 탐색기에서 MyDevelopmentDatabase 노드를 마우스 오른쪽 단추로 클릭하고 빌드를 클릭합니다.

  8. 솔루션 탐색기에서 MyDevelopmentDatabase 노드를 마우스 오른쪽 단추로 클릭하고 배포를 클릭합니다.

    데이터베이스가 지정한 서버에 배포됩니다.

다음 단계

이 배포에는 Person 스키마, 해당 스키마에 정의한 테이블 및 저장 프로시저가 포함됩니다. 이제 프로젝트를 버전 제어에 추가한 다음 저장 프로시저의 정의를 수정할 수 있는 개발자를 제한하기 위한 사용 권한을 설정할 수 있습니다.

참고 항목

개념

대용량 데이터베이스의 팀 개발 시작