2010-05-15 4 views
2

저는 SQL Server 데이터베이스에 연결하는 C# .Net의 소프트웨어 응용 프로그램을 작성하고 있습니다. 내 C# 프로젝트는 SVN 버전 제어하에 있지만 SVN 저장소에도 내 데이터베이스 스키마를 포함하고 싶습니다. previous question of mine에 대한 대답은 버전 제어에서 데이터베이스를 생성하기위한 스크립트 저장을 제안했습니다. 기존 데이터베이스에서 이러한 스크립트를 자동으로 생성하는 방법이 있습니까?SQL 데이터베이스의 스키마를 파일로 저장하려면 어떻게해야합니까?

저는 SQL Server에 익숙하지 않지만 관리 스튜디오에서 테이블을 만들려면 SQL 명령을 마우스 오른쪽 단추로 클릭하고 "Script Table As"를 클릭하여 생성 할 수 있습니다. 전체 데이터베이스에서 사용할 수있는 동일한 명령이 있습니까?

답변

1

당신은 (당신이 종속성 많은 경우,이 같은 성숙한 타사 도구를 사용하려는거야) 스크립트 밖으로, 또는 APEXSQLScript 같은 제품 SQL-DMO 또는 SQL SMO를 사용할 수 있습니다.

4

SQL Server의 버전은 언급하지 않았지만 2008 년 (또는 이전 버전)에는 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업 -> 스크립트 생성을 선택할 수 있습니다. 마법사가 단계별로 안내합니다.

+0

와 다른 대답은 "데이터베이스 - 마우스 오른쪽 버튼으로 클릭> 생성 스크립트"는 데이터베이스를 만들 수있는 스크립트를 생성하는 약간은 서투른 SSMS 스크립트 생성기를 찾아 레드 게이트 물건을 지불하는 것을 선호 그 자체가 아니라 그 안의 테이블. – Klinger

+0

@Klinger - 잘 잡으세요. 물론 내 안개가 자욱한 기억은 중간 메뉴 항목 '작업'을 생략하는 데 실패했지만 이것은 내가 암시 한 것입니다. 그러나 문제는 지금 당장 의문입니다. 나는 이제부터 스스로 부양 할 것이다 .... –

0

내장 스크립트 생성에 문제가있었습니다. 특히, 생성 된 스크립트에서 데이터베이스를 다시 만들려고 시도하는 것은 잘못된 순서로 스크립팅 된 객체로 인해 실패했습니다. (모든 개체가 있었지만 순서를 다시 잡았습니다.)

스크립트에 지정하는 개체 유형을 덤프하는 유틸리티 인 ExecuteSQLScript가 있습니다. 개체마다 스크립트를 만들 수도 있으므로 SCM에 매우 유용하므로 개별 개체의 변경 내용을 쉽게 추적 할 수 있습니다.

http://exportsqlscript.codeplex.com/

1

우리는 Red Gate 비교를 사용하여 SVN 소스 제어하에있는 폴더와 비교할 수 있습니다 (pro 버전). 언급 된 Apex 도구에는 비슷한 기능이있을 수 있습니다. 개인적으로

, 나는

관련 문제