문제

데이터베이스를 관리하기 위해 Team Foundation 서버를 사용하는 사람이 있습니까? 우리는 현재 전복을 사용하고 있습니다. 팀은 TFS에서 빌드 프로세스를 만들기가 어렵다고 불평하고 있습니다.

좋은 포인터, 기사, 경험이 있습니까?

도움이 되었습니까?

해결책

DB Change Management는 처음에 버전 제어 시스템을 선택하는 것과 관련이 없습니다. 물론 MS의 변경 관리 도구를 사용하는 경우 TFS와 나머지 MS 개발자 스택에 대해 테스트를 받았음을 확신 할 수 있습니다. 클래식 대 "데이터베이스 프로젝트"또는 SQL Management Studio의 스트리핑 프로젝트/솔루션 바인딩에서 볼 수있는 DBPRO 또는 훨씬 더 오래된/크라피아 적 통합 형태의 통합을 사용하든 이는 사실입니다. 그러나 DBPRO를 전복과 함께 사용하거나 그 문제에 대해 TFS가있는 빨간 게이트를 사용할 수없는 이유는 없습니다.

빌드 생성도 마찬가지입니다. CC.NET vs Team Build, Nant vs MSBuild 등 ... 공식 MS 도구는 대략 경쟁과 동등한 경향이 있습니다. DB 배포 프로세스에 대해 자세히 설명하지는 않았지만 지금은 MSBuild에서 스크립트를 스크립트하기가 훨씬 어려울 수 없습니다. 스택의 다른 지점에서 다른 도구 세트를 선택하기는 어렵지 않습니다. CC.NET Drive Drive MSBuild 기반 빌드 또는 Red Gate의 명령 줄 배포 또는 기타 조합을 사용 할 수도 있습니다. 나는 MS 세계를 고수함으로써 제공되는 엄격한 통합이 하나의 도구에서 단점보다 훨씬 더 중요하다고 생각하지만 선택이 있습니다.

요점에 도달하겠습니다. 주요 문제는 기술적이지 않지만 DBA가 실제로 버전 제어를 처음에 채택하도록하는 것처럼 들립니다. "Dev"및 "Prod"환경이 일반 기계가 아닌 자신의 살아있는 개체 인 경우 독점적으로 정의됩니다 반복 가능한 빌드 프로세스의 결과로 내 책에서 버전 제어를 사용하지 않습니다. 고객 개발자가 가끔 회사 주변의 다양한 기계에서 DLL을 손으로 만든 다음 동기화하기가 너무 어렵다고 불평한다고 상상해보십시오. 당신은 그가 미쳤다고 생각할 것입니다.

그 외에도 가장 중요한 투자는 DB에 직접 수행되지 않는 곳으로가는 것입니다 ( %프로그램 파일 %를 쏟아 부는 것보다 더 많은 것). 소스 저장소에 있지 않은 경우 존재하지 않습니다.

나는 당신이 어떻게 거기에 도착하는 것이 중요하다고 생각하지 않습니다. 당신은 당신의 모든 제작자와 변경 사항을 메모장으로 작성하고, 명령 줄에서 확인하고, "빌드 프로세스"를 두 줄 쉘 스크립트로 만들 수있는 2 라인 쉘 스크립트가되도록 배포 스크립트가 잘 알려진 파일로 연결하십시오. . 또는 DBPRO와 같은 멋진 도구를 사용하여 Intellisense / Unit Testing / Offline Modeling으로 생산성을 증폭시킬 수 있습니다. 선언적 프로그래밍 일반적으로 노력하는 것이지만), 나는 첫 번째 단계가 가장 큰 것이라고 믿습니다.

다른 팁

우리는 TFS와 함께 Visual Studio 2008 팀 스위트를 사용하고 있습니다. 데이터베이스를 상대적으로 쉽게 TFS로 가져올 수있었습니다. 그러나 DBA 포함 대부분의 팀이 SQL에서 객체를 수정할 때 TFS를 업데이트하는 것을 잊어 버린다는 것을 알았습니다.

모든 종류의 빌드 프로세스는 DB Pro에 의존하여 DEV 환경과 대상 환경간에 차이 스크립트를 생성 할 것입니다. 우리의 개발 환경이 생산 환경과 깨끗한 일치가 아니기 때문에 이것이 문제가된다는 것을 알았습니다. 권한은 확실히 다르며 DEV/QA에 변경 사항이 적용되었지만 Prod로 옮겨지지 않았지만 결코 반전되지 않은 다른 경우가 있습니다. DB Pro의 다른 변경 사항에서 변경 사항을 분리하려고 시도하는 것은 UI가 최종 스크립트에서 객체를 배제하게하기 때문에 어렵습니다 (따라서 2 개의 객체를 수정하고 1000 개의 객체를 수정하면 다른 1000 개 객체를 선택 취소해야합니다). 또한 스키마 비교 구성은 종종 도구> 옵션에서 수행되는 반면 Red Gate와 같은 다른 도구를 사용하면 시작하는 것과 동일한 화면에서 비교를 구성 할 수 있습니다.

이 도구의 잠재력이 있다고 생각하지만 TFS와 함께 작업하기 위해 기존 절차와 시스템을 조정해야합니다. 또한 데이터베이스 개체에서 버전을 사용하는 것은 최신 100%가 아닌 경우에도 매우 중요합니다.

데이터베이스 에디션과 함께 TFS를 사용합니다.

데이터베이스 작성 스크립트에는 DEV 데이터를 DB에로드하기위한 게시물 스크립트가 있습니다.

우리는 정기적으로 DEV 환경에 배치합니다. 모든 개발자는 로컬로 SQL을 설치했으며 자체적으로 최신 정보를 제공하고 배포합니다.

단위 테스트 환경에서 로그인, 데이터베이스 (OLTP 및 OLAP), 복제, ETL 패키지, SQL 작업 등은 모두 개별 위치에 배포되며 모든 것이 시드됩니다.

개발자는 외부를 변경하지 않고 체크인하지 않습니다. 그러면 단위 테스트에 대한 배포가 작동하지 않기 때문에 확인하지 않습니다.

이 스택 오버플로 질문에는 이것에 대한 더 많은 의견이 있습니다.Visual Studio Team System Database Edition (GDR)의 실제 이점은 무엇입니까?(왜 그런지 모르겠지만, 내 검색으로 인해이 질문에 저를 데려 왔고, 이것에 대한 의견을 찾는 데 많은 어려움이있었습니다.이 링크가 다른 사람들이 같은 검색을 수행하는 데 도움이 될 것입니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top