방법: 대상 플랫폼 변경 및 데이터베이스 프로젝트 게시

SSDT(SQL Server Data Tools) 데이터베이스 프로젝트의 대상 SQL Server 버전을 지원되는 SQL Server 인스턴스(SQL Server 2005, 2008, 2008 R2, Microsoft SQL Server 2012 또는 SQL Azure)로 변경할 수 있습니다. 이렇게 하면 한 프로젝트에서 데이터베이스 개발을 중앙 집중화하면서도 필요에 따라 여러 SQL Server 인스턴스에 게시할 수 있습니다.

또한 SSDT는 대상 플랫폼을 인식하고 코드에서 오류를 자동으로 검색하여 이 작업을 간단하게 만듭니다(예: SQL Azure에 게시될 프로젝트에 지원되지 않는 기능을 사용하는 경우).

프로젝트의 대상 플랫폼을 변경하는 방법

  1. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 왼쪽의 프로젝트 설정 탭을 선택하여 Project 설정 속성 페이지에 액세스합니다.

  2. 이 페이지의 대상 플랫폼 드롭다운 목록에는 데이터베이스 프로젝트를 게시할 수 있는 지원되는 모든 SQL Server 플랫폼이 포함되어 있습니다. 이 절차에서는 SQL Azure를 선택합니다.

스크립트를 편집할 때 플랫폼 유효성 검사 사용

  1. 솔루션 탐색기에서 Products 테이블을 마우스 오른쪽 단추로 클릭하고 코드 보기를 선택하여 Transact-SQL 편집기에서 코드를 엽니다.

  2. CREATE TABLE 문 끝에 ON [PRIMARY]를 추가합니다.

  3. 오류 목록 창에 다음 오류가 표시됩니다. SQL70015: SQL Azure에서는 '파일 그룹 참조 및 분할 체계'가 지원되지 않습니다.

    SSDT는 대상 플랫폼에 따라 스크립트의 유효성을 자동으로 검사합니다. 이 경우 SQL Azure에서 파일 그룹이 지원되지 않으므로 SSDT는 오류를 반환합니다. SQL Azure에서 지원되지 않는 Transact-SQL 문 목록은 부분적으로 지원되는 Transact-SQL 문(Microsoft Azure SQL Database)을 참조하세요.

  4. ON 절을 제거합니다. 오류 목록에서 오류가 즉시 사라집니다.

데이터베이스 프로젝트를 게시하려면

  1. SQL Azure 인스턴스에 액세스할 수 있는 경우 다음 단계로 건너뛸 수 있습니다. 그렇지 않으면 솔루션 탐색기TradeDev 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택하여 프로젝트 설정 속성 페이지에 액세스합니다. 대상 플랫폼 드롭다운 목록을 사용하여 프로젝트를 게시할 SQL Server 플랫폼을 선택합니다.

  2. 솔루션 탐색기에서 TradeDev 프로젝트를 마우스 오른쪽 단추로 클릭하고 게시를 선택합니다. SSDT가 프로젝트 빌드를 시작합니다. 빌드 오류가 없으면 데이터베이스 게시 대화 상자가 나타납니다.

  3. 데이터베이스 게시 대화 상자에서 편집을 선택하여 대상 데이터베이스 연결을 편집합니다.

  4. 연결 속성 대화 상자에서 인증을 위해 SQL Server 인스턴스 이름과 자격 증명을 입력합니다. 데이터베이스에 연결NewTrade를 입력합니다. 그러면 데이터베이스 프로젝트를 새 데이터베이스에 게시하는 시도를 합니다. 기존 데이터베이스를 선택하여 여기에 게시할 수도 있습니다. 예를 들어 기존 TradeDev 데이터베이스를 선택하면 오프라인 TradeDev 프로젝트의 개체(스크립트)에 대한 모든 변경 내용이 Live TradeDev 데이터베이스로 전파됩니다.

    게시할 데이터베이스를 변경할 수 있는 권한이 있는 경우 게시 버튼을 누릅니다. 그러나 프로덕션 데이터베이스에 대한 쓰기 권한이 없는 경우 스크립트 생성 단추를 선택하여 Transact-SQL 게시 스크립트를 생성한 다음 DBA에 전달될 수 있습니다. 그런 다음 DBA는 스크립트를 실행하여 해당 스키마가 데이터베이스 프로젝트와 동기화되도록 프로덕션 서버를 업데이트할 수 있습니다.

  5. Data Tools 작업 창에는 게시 작업의 진행률이 표시되고 오류가 발생하는 경우 알림이 표시됩니다. 이 새 창에서 배포 미리 보기, 생성된 스크립트 또는 원하는 경우 전체 게시 결과를 보도록 선택할 수도 있습니다.

  6. 게시 설정을 프로필에 저장하여 향후 게시 작업에서 동일한 설정을 다시 사용할 수도 있습니다. 이렇게 하려면 데이터베이스 게시 대화 상자에서 프로필 다른 이름으로 저장 단추를 선택합니다. 나중에 기존 설정을 다시 로드하려는 경우 프로필 로드 단추를 선택할 수 있습니다.

  7. 데이터 도구 작업 창의 메시지를 확인합니다. 게시 미리 보기 만들기 오른쪽에 있는 "미리 보기 보기" 링크를 선택합니다. 그러면 배포 미리 보기 보고서가 열립니다. 프로젝트의 대상 플랫폼이 프로젝트가 게시된 데이터베이스 서버와 동일하지 않은 경우 SSDT는 이 보고서에서 경고를 실행합니다. 예를 들어 프로젝트의 대상 플랫폼이 Microsoft SQL Server 2012이고 프로젝트를 SQL Server 2008 R2 서버 인스턴스에 게시하려는 경우 출력 창에 다음 경고가 표시됩니다.

Microsoft SQL Server 2012를 대상 플랫폼으로 지정하는 프로젝트에서 SQL Server 2008에 대한 호환성 문제가 발생할 수 있습니다. Microsoft SQL Server 2012에 도입된 엔터티(예: 시퀀스 개체)가 이러한 프로젝트에 포함되어 있으면 게시 작업이 실패합니다.

개체 조건자가 새로 만든 전체 텍스트 인덱스에 대해 CONTAINS 또는 FREETEXT를 사용하고 트랜잭션 스크립트를 사용하는 경우 배포가 실패합니다. 배포 중에 트랜잭션 스크립트를 포함하는 옵션을 사용하도록 설정하면 절차와 보기가 트랜잭션 내부에 정의되고 전체 텍스트 인덱스는 배포 스크립트의 끝에 트랜잭션 외부에서 정의됩니다. 스크립트에서 이 순서로 인해 CONTAINS 또는 FREETEXT를 사용하는 프로시저 또는 뷰는 전체 텍스트 인덱스에 대해 확인되지 않으므로 배포 오류가 발생합니다.