데이터베이스 객체의 버전 관리


19

개발자가 작업중인 데이터베이스가 너무 큽니다 (데이터베이스 객체가 많음). DB 객체 변경 (변경 관리)을 제어해야합니다. 우리 회사는 DB 변경에 대해서만 책임이있는 사람을 가질 수 없습니다. 따라서 데이터베이스와 스크립트를 동기화 할 수있는 표준 코드의 버전 제어와 같은 데이터베이스 객체에 대해 안전한 소스가 필요합니다. 가장 좋은 것은 무엇입니까? 안정적이고 저렴하며 기능적-두 가지 중 하나를 선택하십시오.


답변:




8
  • Visual Studio의 일반적인 데이터베이스 / 서버 프로젝트
  • RedGate SQL 소스 제어

둘 다 TFS 및 SVN / Hg와 호환됩니다


5

우리 팀은 Visual Studio 2010 데이터베이스 프로젝트를 사용합니다. 대부분의 프로젝트는 원활하게 통합되는 소스 제어를 위해 MS Team Foundation Server에 의존하지만 최근에 다른 소스 시스템에서도 약간의 고통을 줄 수 있음을 알았습니다. Perforce에 대한 하나의 프로젝트가 있습니다. VS2010의 빌드 및 배포 기능은 매우 잘 작동하며 PowerShell을 사용하여 자동화 할 수 있습니다 (예를 들어 배포를 테스트하기 위해 기준을 복원하려는 경우 매우 유용함). 예를 들어 전체 또는 차등 배포 대상을 원하는 경우 다른 구성을 만들 수 있습니다.

배포시 데이터 수집 또는 기타 스크립트를 포함 할 수 있으며 버전 제어도 가능합니다. 작성한 스크립트를 체크인하여 데이터베이스 오브젝트를 관리하거나보다 직관적 인 스키마보기를 사용할 수 있습니다. 모든 종속성이 추적됩니다. 모든 속성, 파일 및 파일 그룹 및 권한을 포함하여 소스 제어 하에서 SQL Server DB의 모든 측면을 관리 할 수 ​​있습니다. 표준과 관행을 유지하기에 좋습니다. 그것은 시각적 데이터베이스 diff 도구를 가지고 있습니다.이 기능에 대한 Red-Gate의 함축을 선호하지만 VS2010에서 배포를 만들기 위해 그래픽 비교를 사용하지 않으며 MS 빌드에 익숙해 짐에 따라 무질서 해졌습니다. DB 프로젝트를 깨끗하게 유지하도록 도와주세요.

불행히도 데이터베이스를 소스 제어 상태로 유지하기 위해이 수준의 깊이를 다른 시스템과 비교할 수는 없습니다. 나는 "개발자 훈육"으로 꽤 많이 일했지만 더 이상 시스템을 고려하지 않고 그 시스템으로 돌아가고 싶지 않습니다. SVN에 SSMS 플러그인을 사용하는 간단한 문제도 있었지만 꽤 오래되었습니다. 이를 위해 Red-Gate를 사용하여 배포 스크립트를 생성해야했습니다.



0

DB Ghost는 데이터베이스 버전 관리에 유용한 도구입니다. 동기화, 비교, 델타, 복사, 빌드, 스크립트 등을 자동화 된 작업을 위해 명령 줄을 통해 실행할 수 있습니다.

http://www.dbghost.com/


0

SQL Server 2008 R2 (이전) 소스 제어 참고 : 데이터베이스 오브젝트는 소스 제어 제공자에 의해 직접 보호되지 않습니다… 여전히 규율 된 규칙을 사용해야 함을 의미합니다 ... 다른 도구를 사용하여 데이터베이스 오브젝트를 계속 변경할 수 있기 때문에… http : / /technet.microsoft.com/en-us/library/ms173550%28v=sql.105%29.aspx

MS 데이터베이스 프로젝트와 달리 RedGate SQL 소스 제어는 데이터베이스를 버전 제어 시스템에 연결합니다… http://www.red-gate.com/products/sql-development/sql-source-control/


0

방금 데이터베이스 적용 변경 관리 솔루션을 MS-SQL에 릴리스했습니다.

예-DBmaestro에서 일할 때 편견이 있습니다

저희 제품이 귀하의 요구에 부응한다고 생각하며 베테랑 데이터베이스 전문가 인 Ben Taylor가 데이터베이스에 게시 된 관리 솔루션에 대한 포괄적이고 편견없는 리뷰를 읽어 보시기 바랍니다. -287832-dbmaestro를 사용한 데이터베이스 데이터베이스 변경 관리


0

시스템 Sql Historian 은 최신 버전의 db 객체를 SVN 또는 TFS에 자동으로 유지함으로써 "개발자 징계"를 제거합니다. 개발자의 현재 워크 플로에 투명하게 설계되었으므로 시간 손실이나 직원의 불만없이 버전을 완벽하게 관리 할 수 ​​있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.