2012-01-03 3 views
0

VS2010 데이터베이스 프로젝트에서 생성 된 배포 스크립트를 제한하여 전체 삭제 및 시퀀스 생성이 아닌 수정 된 데이터베이스 개체 만 포함 할 수 있는지 알고 싶습니다. .데이터베이스 vs2010의 데이터베이스 프로젝트를 사용한 배포 패치 적용

예를 들어, 연속적인 변경이 통합 된 후 다음 버전 스크립트에는 수정 된 저장 프로 시저, 함수 또는 테이블 만 있어야합니다. "항상 데이터베이스 재 작성"옵션의 선택을 취소했습니다. 그러나 그것은 단지 전체 데이터베이스에 대한 스크립트를 생성합니다.

나는 비슷한 질문을 찾으려고 노력했지만 필요한 부분에 가깝지만 여전히 내 문제를 해결하지 못했습니다.

+0

VS2010 DB 프로젝트를 사용한 적이 한번도 없었습니다. 그러나 저는 과거에 정확히이 작업을 위해 Redgate SQL Compare를 사용했다고 말할 수 있습니다. http://www.red-gate.com/products/sql-development/sql-compare/ – rejj

+0

데이터베이스 프로젝트를 배포 해 본 적이 있습니까? 혹시 연구 해 봤니? –

답변

1

우리는 환경 설정 및 제어 이유로 손으로 모든 변경 사항을 추적하고 데이터베이스를 (나는 우리의 단계를 설명 답변 here on SO를) 업데이트하는 스크립트를 유지하지만, 우리는 또한을 위해 레드 게이트의 SQL Packager, SQL CompareSQL Data Compare 제품을 사용 우리의 필요 사항 중 일부.

처음에는 가격이 비싸지 만 Google org에서 직접 지불 한 것 이상입니다.

+0

당신이 말하는 자료를 제게 제공해 주실 수 있습니까? 알려 주시기 바랍니다 ... – bhushan1980

+0

@ bhushan1980 : 나는 제품에 대한 링크와 우리의 stackoverflow 질문으로 답을 업데이트했습니다. –

0

문제는 정의 당 필드의 이름 바꾸기 유형을 처리 할 수 ​​없어이 기능이 작동하지 않는다는 것입니다. 마법사는 파일의 이름이 변경되었는지, 파일이 삭제되었는지, 관련없는 파일이 생성되었는지 여부를 알 수 없습니다. 또한 stuf와 같은 계산 (초기) 값을 처리 할 수 ​​없습니다.

그래서이 aproach는 단지 퇴화 된 엣지 경우에만 가능하며 중간 크기 프로젝트에서도 장기간 작동하지 않습니다.

+0

감사합니다. VS2010에서 데이터베이스 프로젝트를 빌드 할 때 데이터베이스의 각 오브젝트에 대한 스키마가 있으며 실제로 IDE에서 SP/UDF를 편집 할 수 있습니다. 이러한 변경 사항은 변경된 프로젝트 또는 솔루션의 객체에 대해서만 스크립트를 추적하여 생성하고자합니다. 할 수 있습니까? 지금은 drop을위한 스크립트를 생성하고 전체 데이터베이스를 생성합니다. 이 작업을 수행하기 위해 설정을 변경해야합니까? – bhushan1980

+0

아니요, 실제로 할 수는 없습니다. RedGate SchemaComapre는 꽤 좋습니다. 결국, 슬프게도 인프라는 적절하지 않습니다. – TomTom

1

데이터베이스 프로젝트는 배포 할 데이터베이스와 "컴파일 된"프로젝트 (.dbschema 파일)를 비교 한 다음 변경 스크립트를 작성하여 배포합니다. 변경 스크립트 작성 방법에 대한 많은 옵션이 있지만 기본적으로 "라이브"변경 스크립트가 생성된다는 점이 다릅니다. 배포 도구가 생각하는 내용 만 다릅니다.

+0

감사합니다. VS2010에서 데이터베이스 프로젝트를 빌드 할 때 데이터베이스의 각 오브젝트에 대한 스키마가 있으며 실제로 IDE에서 SP/UDF를 편집 할 수 있습니다. 이러한 변경 사항은 변경된 프로젝트 또는 솔루션의 객체에 대해서만 스크립트를 추적하여 생성하고자합니다. 할 수 있습니까? 지금은 drop을위한 스크립트를 생성하고 전체 데이터베이스를 생성합니다. 이 작업을 수행하기 위해 설정을 변경해야합니까? 나는 더 많은 정보를 얻기 위해 웹상의 자료를 계속 찾아 볼 것이다. MS Build는 소스 제어하에있는 경우 변경된 스크립트를 얻을 수있는 설정을 제공합니까? – bhushan1980

+0

설정이 잘못되었습니다. "배포"탭에서 프로젝트 설정을 확인하십시오. 설정해야하는 "매번 데이터베이스 재 작성"설정이 있습니다. 또한 프로젝트 설정에서 "내 격리 된 샌드 박스 환경"이 아닌 "프로젝트 설정"을 사용하고 있는지 확인하십시오. –

관련 문제