2010-05-27 8 views
4

저는 꽤 큰 스키마를 가진 하나의 데이터베이스와 9 개의 데이터베이스가 포함 된 상당히 큰 데이터베이스 프로젝트를 가졌습니다.데이터베이스 프로젝트의 대안을 찾고 있습니다

이 프로젝트는 빌드하는 데 많은 시간이 걸리므로 머리카락을 꺼내려고합니다. 우리는 데이터베이스 소스를 제어하고 싶지만 다른 개발자가 프로젝트를 사용하고 데이터베이스 프로젝트를 빌드하는 데 어려움을 겪고 있습니다.

나는 우리의 작업을 심각하게 곤란 케하고 있으므로 대안을 찾고 있습니다. 아마도 Redgate의 SQL Compare로 뭔가를 할 수 있을까요? 아마도 구문의 유효성을 검사하지 않는다는 단점이 있습니다. 누구나 생각/제안이 가장 감사 할 것입니다. 동기화

+0

왜 DB 소스를 계속 제어 하시겠습니까? 이건 정말 바보 같아. – Darknight

+0

불행히도 응용 프로그램은 데이터베이스와 밀접하게 결합되어 있습니다. – Dave

+0

상황을 좀 더 자세히 설명해 주시겠습니까? 그것은 유지에 관련된 db를 동기화합니까? db에 SC가 포함되지 않도록하는 특별한 이유는 무엇입니까? – Darknight

답변

2

데이터베이스 개발주기의 일부로 SQL 비교와 함께 작동하도록 설계된 SQL Source Control을 사용해보십시오. 현재 베타 버전이지만 기능이 완벽하고 정식 버전과 매우 비슷합니다.

http://www.red-gate.com/products/SQL_Source_Control/index.htm

우리는이가 현재 데이터베이스 프로젝트를 구축 비주얼 스튜디오 걸리는 시간에 비해 커밋에 수행하는 방법을 알고 싶네. VS에서 프로젝트를 자주 만들어야 문제가 발생합니까? 스키마의 크기와 평균 빌드 시간은 얼마나됩니까?

+0

빌드는 SSD가있는 컴퓨터에서 20 분 더 빨라집니다. Visual Studio 2010 및 현재 10 분 테스트. Visual Studio 2010에서 SSD를 사용하는 컴퓨터는 현재 5 분 미만의 시간이 소요됩니다. 소스 제어에 들어가는 데이터베이스 프로젝트는 16 메가입니다. – Dave

+0

이 작업을 시도해 보니 매우 기쁩니다. 그러나 팀에서 실행해야합니다. – Dave

+0

팀과 함께 시범을 보는데 필요한 모든 것을 준비해 드릴 수있어서 기쁩니다. 귀하의 데이터베이스는 확실히 그것의 보속 있지만 어떤 제품을 넣어 것 같은데! 레드 게이트 닷컴의 David Atkinson에게 저에게 연락하십시오. –

0

유지 데브/라이브 DB :

아마이 일을하는 방법의 전체 호스트가있다, 나는 (소프트웨어 솔루션을 포함한) 다른 사용자가 더욱 확대 될 확신합니다. 내 경우

나는 두 배 방법을 사용 :

(가) 실행 스크립트는 엄격한 로그를 유지 dB의 차이 (저장 발동, 테이블, 필드 등)

(b)에 를 얻을 수 DB 내 경우 (NOT 데이터 변경)

변경의 나는 시간이 지남에 따라서 반 구조화 된 로그를 구축했습니다

Client_Details     [Alter][Table][New Field] 
{ 
    EnforcePasswordChange; 
} 

Users      [Alter][Table][New Field] 
{ 
    PasswordLastUpdated; 
} 

P_User_GetUserPasswordEnforcement   [New][Stored Procedure] 
P_User_UpdateNewPassword    [New][Stored Procedure] 
P_User_GetCurrentPassword    [New][Stored Procedure] 
P_Doc_BulkDeArchive      [New][Stored Procedure] 

탭핑을 무시하면 마크 다운이 엉망이되었습니다.

그러나 일반적인 요지를 얻습니다.

나는 로그가 필요한 모든 시간의 99 %를 찾았습니다.

+0

자동화 되었습니까, 아니면 수동입니까? – Dave

+0

설명서가 없으므로 이미 언급 한 소프트웨어 솔루션이 있습니다. 하지만 저는 KISS의 엔지니어링 원칙에 따라 작업하고 있습니다. – Darknight

+0

그리고 추가하기 만하면 로그의 이름은 항상 엄격한 방식으로 지정됩니다. [프로젝트 이름] - [빌드/릴리스 버전]. 나는 동시에 3 개의 큰 프로젝트를 다루고있다. 이 로그가 없으면 모든 변경 사항을 추적하는 것이 어려울 것입니다. 그 습관에 관한 문제입니다. 나는 항상 mu 로그 파일을 열었습니다. (내가 작업하고있는 프로젝트입니다.) 내가 변경을 할 때마다 로그를 남깁니다. 그것의 그렇게 열심히. 사전 제작으로 이동하려면 로그를 따르십시오. 똑같은 삶으로 옮겨 간다. – Darknight

관련 문제