다음을 통해 공유


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

복합 프로젝트를 사용하면 데이터베이스를 함께 배포되는 여러 개의 종속된 데이터베이스 프로젝트로 분할하여 대용량 데이터베이스를 보다 효율적으로 관리할 수 있습니다. 이 연습에서는 다음 작업을 수행합니다.

  • 데이터베이스 스키마가 정의된 데이터베이스 프로젝트 만들기

  • 특정 스키마의 테이블이 정의된 다른 데이터베이스 프로젝트 만들기

  • 특정 스키마의 저장 프로시저가 정의된 세 번째 데이터베이스 프로젝트 만들기

  • 세 번째 프로젝트를 종속 항목과 함께 구성, 빌드 및 배포.

사전 요구 사항

Visual Studio가 설치되어 있어야 하며 SQL Server를 실행하는 서버에 액세스할 수 있어야 합니다.

스키마용 데이터베이스 프로젝트 만들기

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

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

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

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

    참고

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

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

    참고

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

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

  5. 위치에서 데이터베이스 프로젝트를 만들려는 위치의 경로를 입력하거나 찾아 지정합니다.

  6. 솔루션 이름에 MyCompositeSolution을 입력하고 확인을 클릭합니다.

    데이터베이스 프로젝트가 만들어지고 솔루션 탐색기에 나타납니다. 다음에는 프로젝트의 스키마를 정의합니다.

스키마를 정의하려면

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

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

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

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

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

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

    다음에는 프로젝트를 빌드합니다.

스키마 프로젝트를 빌드하려면

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

    참고

    이후 절차에서 이 프로젝트에 정의된 스키마에 대한 참조를 확인할 수 있도록 프로젝트를 빌드해야 합니다.

    다음에는 Person 스키마의 테이블을 위한 프로젝트를 만듭니다.

테이블용 데이터베이스 프로젝트 만들기

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

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

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

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

    참고

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

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

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

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

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

    다음에는 테이블 프로젝트에 테이블을 정의하기 전에 스키마 프로젝트에 대한 참조를 추가합니다.

스키마 프로젝트에 대한 참조를 추가하려면

  1. 솔루션 탐색기에서 MyTablesProject 노드를 확장하고 참조 노드를 마우스 오른쪽 단추로 클릭한 다음 데이터베이스 참조 추가를 클릭합니다.

    데이터베이스 참조 추가 대화 상자가 열립니다.

  2. 데이터베이스 참조에서 현재 솔루션의 데이터베이스 프로젝트가 지정되어 있는지 확인합니다.

    참고

    참조한 프로젝트가 이 솔루션에 포함되지 않았으면 데이터베이스 프로젝트 스키마(.dbschema)를 대신 클릭합니다. 예를 들어 저장 프로시저를 개발하고 있는 팀 멤버가 실수로 해당 스키마 또는 테이블 프로젝트를 변경하지 못하도록 하려는 경우 이 방법을 사용할 수 있습니다.

  3. MySchemaProject를 클릭합니다.

    중요

    복합 프로젝트에서 참조를 정의할 때는 서버 변수 및 값이나 데이터베이스 변수 및 값을 지정하지 않습니다. 아무 변수도 정의되지 않으므로 참조된 프로젝트는 현재 프로젝트의 대상 서버 및 데이터베이스를 공유하는 것으로 간주됩니다.

  4. 확인을 클릭합니다.

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

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

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

  2. 스키마 뷰 도구 모음에서 외부 요소를 클릭합니다.

    Person 스키마는 다른 프로젝트에 정의되어 있기 때문에 이 작업을 수행해야 합니다.

  3. 스키마 뷰에서 MyTablesProject 노드와 스키마 노드를 차례로 확장하고 Person 노드를 마우스 오른쪽 단추로 클릭한 다음 추가를 가리키고 테이블을 클릭합니다.

    참고

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

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

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

  5. 이름에 Contacts를 입력합니다.

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

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

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

  8. 이름에 StateProvince를 입력합니다.

    다음에는 데이터베이스 프로젝트를 빌드합니다.

테이블 프로젝트를 빌드하려면

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

    다음에는 저장 프로시저를 위한 세 번째 데이터베이스 프로젝트를 만듭니다.

저장 프로시저용 데이터베이스 프로젝트 만들기

저장 프로시저용 데이터베이스 프로젝트를 만들려면

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

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

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

    참고

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

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

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

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

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

    다음에는 스키마 프로젝트를 참조하도록 저장 프로시저 프로젝트를 수정합니다.

스키마 프로젝트에 대한 참조를 추가하려면

  1. 솔루션 탐색기에서 MySprocProject 노드를 확장하고 참조 노드를 마우스 오른쪽 단추로 클릭한 다음 데이터베이스 참조 추가를 클릭합니다.

    데이터베이스 참조 추가 대화 상자가 열립니다.

  2. 데이터베이스 참조에서 현재 솔루션의 데이터베이스 프로젝트가 지정되어 있는지 확인합니다.

  3. MySchemaProject를 클릭합니다.

    중요

    복합 프로젝트에서 참조를 정의할 때는 서버 변수 및 값이나 데이터베이스 변수 및 값을 지정하지 않습니다. 아무 변수도 정의되지 않으므로 참조하는 모든 프로젝트는 동일한 대상 서버 및 데이터베이스에 배포됩니다.

  4. 확인을 클릭합니다.

    다음에는 MyTablesProject 프로젝트를 참조하도록 저장 프로시저 프로젝트를 수정합니다.

테이블 프로젝트에 대한 참조를 추가하려면

  1. 솔루션 탐색기에서 MySprocProject 노드 아래의 참조 노드를 마우스 오른쪽 단추로 클릭하고 데이터베이스 참조 추가를 클릭합니다.

    데이터베이스 참조 추가 대화 상자가 열립니다.

  2. 데이터베이스 참조에서 현재 솔루션의 데이터베이스 프로젝트가 지정되어 있는지 확인합니다.

  3. MyTablesProject를 클릭합니다.

    중요

    복합 프로젝트에서 참조를 정의할 때는 서버 변수 및 값이나 데이터베이스 변수 및 값을 지정하지 않습니다. 아무 변수도 정의되지 않으므로 참조하는 모든 프로젝트는 동일한 대상 서버 및 데이터베이스에 배포됩니다.

  4. 확인을 클릭합니다.

    다음에는 이 스키마에 저장 프로시저를 만듭니다.

Person 스키마의 테이블을 참조하는 저장 프로시저를 정의하려면

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

  2. 스키마 뷰 도구 모음에서 외부 요소를 클릭합니다.

    Person 스키마는 다른 프로젝트에 정의되어 있기 때문에 이 작업을 수행해야 합니다.

  3. 스키마 뷰에서 MySprocProject 노드와 스키마 노드를 차례로 확장하고 Person 노드를 마우스 오른쪽 단추로 클릭한 다음 추가를 가리키고 저장 프로시저를 클릭합니다.

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

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

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

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

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

    다음에는 MySprocProject와 해당 종속 항목을 구성, 빌드 및 배포합니다.

데이터베이스 구성, 빌드 및 배포

MySchemaProject를 배포용으로 구성하려면

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

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

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

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

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

  6. 대상 데이터베이스 이름에 MySprocProject를 입력합니다.

    중요

    복합 프로젝트를 구성하는 세 프로젝트 모두에 대해 동일한 대상 데이터베이스 이름을 지정해야 합니다. 그렇지 않으면 배포가 실패합니다.

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

    다음에는 MyTablesProject의 속성을 구성합니다.

MyTablesProject를 배포용으로 구성하려면

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

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

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

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

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

  6. 대상 데이터베이스 이름에 MySprocProject를 입력합니다.

    중요

    복합 프로젝트를 구성하는 세 프로젝트 모두에 대해 동일한 대상 데이터베이스 이름을 지정해야 합니다. 그렇지 않으면 배포가 실패합니다.

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

    다음에는 MySprocProject의 속성을 구성합니다.

MySprocProject를 배포용으로 구성하려면

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

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

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

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

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

  6. 대상 데이터베이스 이름에 MySprocProject를 입력합니다.

    중요

    복합 프로젝트를 구성하는 세 프로젝트 모두에 대해 동일한 대상 데이터베이스 이름을 지정해야 합니다. 그렇지 않으면 배포가 실패합니다.

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

    다음에는 데이터베이스 프로젝트를 빌드합니다.

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

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

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

    데이터베이스가 빌드되어 지정한 대상 서버에 해당 종속 항목과 함께 배포됩니다.

다음 단계

이 방법을 사용하여 데이터베이스의 보다 작은 여러 섹션에 대한 작업을 동시에 수행할 수 있습니다. 저장 프로시저에 대한 작업을 수행하는 개발자를 테이블 및 스키마 정의에서 격리하려는 경우 데이터베이스 프로젝트 대신 .dbschema 파일을 참조할 수도 있습니다.

참고 항목

개념

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