문제

mysqldump를 사용하는 MySQL과 동일한 SQL Server용 스키마 및 데이터 내보내기/덤핑 도구가 있습니까?레거시 ASP 사이트를 재배치하려고 하는데 Windows 서버 작업이 만족스럽지 않습니다.

메모:DTS 내보내기 유틸리티 자체가 테이블 정의 없이 데이터를 내보내는 것 같습니다.Enterprise Manager를 사용하고 DB를 내보내는 것은 스키마 및 데이터를 내보내는 것과 더 가까워집니다.하지만 여전히 저장 프로시저가 누락되었습니다.

기본적으로 필요한 모든 것을 한 번에 잡을 수 있는 모든 솔루션을 찾고 있습니다.

도움이 되었습니까?

해결책

가장 쉬운 방법은 SQL Server 데이터베이스 게시 마법사를 사용하는 것입니다.

  • 오픈 소스
  • 무료
  • 당신이 원하는 것을 정확하게 수행합니다
  • 마이크로소프트에서 개발

mysqldump의 모든 기능을 갖추고 있지는 않지만 충분히 유사합니다.

http://www.codeplex.com/sqlhost/wiki/view.aspx?title=database%20publishing%20wizard

다른 팁

SQL Server 2008 Management Studio를 사용하여 이 작업을 정말 쉽게 수행하려면:

1.) 데이터베이스(테이블 아님)를 마우스 오른쪽 버튼으로 클릭하고 작업 -> 스크립트 생성을 선택합니다.

location of tool

2.) 첫 번째 페이지에서 다음을 클릭하세요.

3.) 전체 데이터베이스를 복사하려면 다음을 클릭하세요.특정 테이블을 복사하려면 "특정 데이터베이스 개체 선택"을 클릭하고 원하는 테이블을 선택한 후 다음을 클릭하세요.

4.) "파일에 저장"을 선택해야 합니다. 중요한:"파일에 저장" 옆에 있는 고급 버튼을 클릭하고 "스크립트에 대한 데이터 유형"을 찾아 "스키마만"을 "스키마 및 데이터"(테이블을 생성하려는 경우) 또는 "데이터만"(테이블을 생성하려는 경우)으로 변경합니다. 기존 테이블에 데이터를 복사하고 있습니다).

adding data to the script

5.) 나머지 부분을 클릭하면 완료됩니다!.sql 파일로 저장됩니다.

데이터베이스를 이동하는 가장 쉬운 방법은 SQL Server Management Studio를 사용하여 데이터베이스를 다른 서버로 내보내거나, 그래도 작동하지 않으면 다른 사람이 제안한 대로 백업을 만들고 다른 곳에서 복원하는 것입니다.

테이블 구조를 SQL로 덤프하고 데이터에 대한 삽입 스크립트를 생성하는 방법을 찾고 있다면 좋은 무료 옵션은 다음에서 amScript 및 amInsert를 사용하는 것입니다. http://www.asql.biz/en/Download2005.aspx.

좋은 유료 버전을 원한다면 Red-Gate SQL Compare 및 Red-Gate SQL-Data Compare를 확인해 보세요.이러한 도구는 아마도 과잉일 가능성이 높으며, 자주 사용하지 않을 경우 약간 비쌀 수도 있습니다.대부분 DBA에게 맡길 것이라고 생각합니다.Red-Gate 도구는 다음에서 볼 수 있습니다. http://www.red-gate.com/.

적합한 도구를 찾지 못해 나만의 도구를 만들기로 결정했습니다.sqlserverdump 명령줄 유틸리티.에서 확인해보세요 http://sqlserverdump.codeplex.com/.

SMO API를 사용하는 것이 더 쉽습니다.이는 mysqldump와 정확히 동일하게, 심지어 더 나은 작업을 수행할 수 있게 해줍니다.다음은 코드 예입니다.

http://samyem.blogspot.com/2010/01/automate-sql-dumps-for-sqlserver.html

글쎄, Mysqldump는 일련의 SQL 문입니다.DTS를 사용하여 이 작업을 수행할 수 있지만 백업을 생성하여 새 시스템에 복원하면 어떨까요?

SQL을 통해 수행하려면 다음을 수행하십시오.http://msdn.microsoft.com/en-us/library/aa225964(SQL.80).aspx

또는 DB를 마우스 오른쪽 버튼으로 클릭하고 작업 -> 백업(http://msdn.microsoft.com/en-us/library/ms187510.aspx)

가장 쉬운 방법은 백업 및 복원 또는 분리 및 연결입니다.

또는 모든 테이블을 스크립팅하고 데이터를 BCP로 만든 다음 새 서버의 데이터에 BCP를 넣습니다.

또는 DTS/SSIS를 사용하여 이 작업을 수행하세요.

SQL Enterprise 관리자 또는 SQL Server Management Studio에는 마법사 기반 접근 방식이 있으며 후자는 스크립트를 생성하므로 수행 방법을 확인할 수 있습니다.

BACKUP 및 RESTORE 명령을 사용할 수도 있습니다.자세한 내용은 여기를 참조하세요: http://msdn.microsoft.com/en-us/library/ms189826.aspx

DTS 또는 Integration Services를 두 서버 모두에 연결할 수 있는 경우 마법사를 사용하여 한 서버에서 다른 서버로 '개체를 복사'할 수 있습니다.'데이터베이스 복사'를 위해서는 두 서버가 서로 인증할 수 있어야 합니다. 이는 일반적으로 동일한 도메인에 있고 서비스가 도메인 로그온 하에 실행된다는 것을 의미합니다.

그렇지 않은 경우에는 스키마에 대한 스크립트를 생성하고 Integration Services/DTS 패키지를 사용하여 데이터를 파일로 내보낸 다음 다른 파일로 가져올 수 있습니다.

우리는 이제 일반적으로 사용합니다. SQL 비교 그리고 SQL 데이터 비교.레드 게이트의 SQL 패키저 옵션일 수도 있습니다.

백업/복원이 수행하지 않는 두 가지 작업:

  1. 원래 질문의 일부인 Microsoft 서버에서 벗어나십시오.
  2. 하나가 천천히 실행될 때 동일한 구조를 갖는 두 DB 사이의 구조적 차이를 빠르게 찾는 데 도움이됩니다.Unix Diff 또는 Sdiff, 공백을 무시하지만 입력 파일을 만들 수있는 방법이 필요합니다.

CREATE TABLE과 같은 동등한 SQL 문이 필요한 경우...& INSERT INTO..., 그렇다면 HeidiSQL을 사용해 보는 것이 좋습니다.이는 Microsoft SQL Server, MySQL 및 PostgreSQL에 액세스할 수 있는 환상적인 무료 유틸리티입니다.이를 통해 데이터를 탐색 및 편집하고, 테이블, 보기, 프로시저, 트리거 및 예약된 이벤트를 생성 및 편집할 수 있습니다.또한 구조와 데이터를 SQL 파일로 내보낼 수 있습니다.http://www.heidisql.com

도구/SQL로 데이터베이스 내보내기로 이동하여 스키마를 선택합니다.테이블을 생성하고 데이터를 “삽입”하려면 확인란을 선택하세요.그게 다야.

저는 "Microsoft SQL Server Management Studio"나 phpMyAdmin보다 HeidiSQL을 선호합니다...등.

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