Microsoft SQL Server 데이터베이스를 SQL 스크립트에 덤프하는 방법은 무엇입니까?


124

Microsoft SQL Server 데이터베이스를 SQL 스크립트로 내보내는 방법이 있습니까?

mysqldump와 유사하게 작동하는 것을 찾고 데이터베이스 이름을 취하고 모든 테이블, 저장 프로 시저를 다시 작성하고 모든 데이터를 다시 삽입하는 단일 스크립트를 생성합니다.

나는 본 적이 http://vyaskn.tripod.com/code.htm#inserts을 ,하지만 난 이상적으로 최종 스크립트를 생성하는 하나의 단계에서 작동하는 모든 것을 (뿐만 아니라 데이터를) 다시 무언가를 원한다.


@Matt 예, 데이터를 내 보내지 않습니다. 그래서 내가 제안한 스크립트와 결합해야한다고 언급 한 이유입니다. 이 방법은 올바른 순서로 스크립트를 작성합니다.
Julio César

실제로 Mangement Studio 2008에서는 "데이터 내보내기"옵션을 설정하기 만하면 스크립트에 스키마 및 삽입 문이 모두 포함됩니다.
user24161


@MattSheppard는 답변 중 하나를 수락하는 것을 고려하십시오
030

답변:


111

SQL Server Management Studio에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업 / 스크립트 생성을 선택하십시오. 마법사를 따르면 외래 키에 따라 올바른 순서로 데이터 구조를 다시 생성하는 스크립트가 표시됩니다. "스크립팅 옵션 설정"마법사 단계에서 "고급"을 선택하고 "스크립트 유형의 데이터"옵션을 "스키마 및 데이터"로 수정하십시오.

팁 : 마지막 단계에서 "새 쿼리 창에 스크립트"를 선택하면 훨씬 빠르게 작동합니다.


18
고급 옵션으로 이동하여 스키마뿐만 아니라 데이터까지 스크립트로 알려주십시오.
RomanSt

2
@romkyns는 모든 투표를받을 가치가 있습니다! "스크립트 할 데이터 유형"은 정확한 옵션 이름입니다. "스키마 및 데이터"를 선택하려고합니다.
solidau

2
SSMS에서 생성 된 스크립트의 주요 문제는 종속성을 고려하기 위해 올바르게 정렬되지 않았다는 것입니다. 수동으로 수행 할 수있는 작은 데이터베이스에는 문제가되지 않지만 데이터베이스에 50 개가 넘는 개체가있을 때는 확실히 문제가됩니다. 지금까지 ApexSQL 스크립트 를 성공적으로 사용 했습니다. 프리미엄 도구이지만 시험 모드에서 사용하여 작업을 완료 할 수 있습니다. Red Gate 에도 비슷한 도구가 있다고 생각 합니다.
David Smithers

34

Sql Server 데이터베이스 게시 마법사를 사용해보십시오 . 종속성 때문에 스크립트를 한 번에 실행하려면 스크립트를 다시 정렬해야하지만 스키마와 데이터가 포함됩니다.

2005 SQL XMO 객체가 설치되어 있지 않으면 마법사 를 실행할 때 오류가 발생합니다 . Microsoft SQL Server 2005 관리 개체 컬렉션이 필요합니다.


5
실제로 스크립트는 모든 제약 조건을 삭제하고 스키마를 생성하며 데이터를 삽입하고 최종적으로 제약 조건을 다시 작성하므로 스크립트를 재정렬 할 필요가 없습니다.
Daniel Silveira

굉장히 깔끔합니다
경고음

이 도구는 SQL Server 2015 만 지원하지만 훌륭한 도구입니다. 2008 이상은 어떻습니까?
Nam G VU

11

SQL Dumper가 매우 유용하다는 것을 알았습니다 . 무료이기 때문에 시도해 볼 수 있습니다. 데이터베이스 테이블과 열, 뷰 및 사용자 정의 쿼리 결과를 SQL 삽입 문으로 선택할 수 있습니다.


마지막 안정적인 버전은 저장 프로 시저에서 작동하지 않습니다.
VMATM

1
최신 버전은 download.cnet.com/SQL-Dumper/3000-10254_4-10514574.html에서 다운로드 가능
Raynet


6

DBSourceTools를 시도 하십시오 . 소스 데이터베이스를 스크립팅하고 대상 데이터베이스에 다시 배포하도록 설계되었습니다. 스키마와 데이터를 스크립팅합니다.


6

권장 솔루션은 SQL 2000 및 2005에서만 작동합니다. SQL 2008에서이 작업을 수행하려는 경우,

다른 플러그인없이 SQL 2008을 사용하여이를 수행 할 수 있습니다. 데이터베이스를 마우스 오른쪽 단추로 클릭하고 "작업-> 스크립트 생성 ..."을 선택하십시오. 데이터베이스와 백업 할 항목을 선택하십시오. 다음을 클릭하고 "스크립트 데이터"를 true로 설정하십시오.

링크에서 추가 문서 :

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- 저장 프로 시저 함수 트리거 트리거 테이블 뷰 제약 조건 및 기타 모든 데이터베이스 객체 /



2

SQL Server 데이터베이스 게시 마법사가 실제로 가장 좋은 방법 인 것 같습니다. 이 문제는 Windows 7에서 실행되지 않는 것입니다. 이전 컴퓨터를 사용하여 사용해야했습니다. 긍정적 인면에서는 2000과 같은 이전 SQL Server 버전에서 작동합니다.

최신 SQL 버전 및 운영 체제의 경우이 소프트웨어를 살펴볼 가치가 있습니다. http://sqlbackupandftp.com/


0

Ombelt는 MS SQL 서버 DB를 내보내기위한 훌륭한 도구입니다. www.ombelt.com

다른 DB의 덤프 시설과 매우 비슷합니다.

나를 위해 작동합니다.


0

Microsoft SQL Server 스키마 덤프 프로젝트 ( mssql-schema-dumpGitHub의 도구 )를 확인하십시오.

용법: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

수출 지원 :

  • DB : 스키마, 사용자 유형, 사용자 테이블 유형, 트리거, 전체 텍스트 카탈로그, 전체 텍스트 중지 목록, 저장 프로 시저, 함수
  • DB. 테이블 : 스키마, 트리거, 인덱스, DRI, 통계
  • DB. 뷰 : 스키마, 트리거, 인덱스, DRI, 통계
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.