2011-12-07 2 views
0

나는 SQL Server 데이터베이스를 파헤쳐 야하고, 주어진 덤프는 MySQL과 Postgres에서 익숙한 일반적인 텍스트 기반 SQL 문 덤프 대신 이진 파일 인 것 같습니다.바이너리 SQL Server 덤프에서 원시 SQL 문 생성?

SQL Server 데이터베이스를 내보내는 일반적인 방법입니까, 아니면 이런 종류의 문제입니까? 전자의 경우에는 이것을 익숙한 SQL 텍스트 파일로 변환 할 수 있습니까? 아니면 바이너리가 아닌 텍스트로 내보내기 위해 나에게 준 사람에게 물어볼 수 있을까요?

답변

3

"MSSQL 덤프"가 실제로 참조 할 수있는 것이 하나도 없습니다.

실제로 주어진 것을 알아야합니다. MSSQL 백업 파일 (대개 .bak) 또는 단순히 분리 된 데이터베이스 (.mdf)입니까?

SQL Management Studio를 사용하여 복원 할 수있는 경우 SQL Management Studio를 다시 사용할 수 있습니다.

INSERT 명령 등의 SQL 스크립트로 백업하는 간단한 방법은 없습니다. SQL 서버로 복원 한 다음 DTS 또는 SQL Server Management Studio를 사용하여 SQL로 내 보내야합니다.

그러나 은 SQL이 MySQL 또는 다른 SQL 제품과 호환됨을 보장하지 않습니다.

+0

이것은 .bak입니다. 그렇다면 MySQL에서와 같이 SQL 문을 텍스트 덤프 할 수있는 방법이 없다는 말입니까? 내 계획은 vim 매크로를 사용하여 파일에서 직접 데이터를 가져 와서 (실제로 SQL 서버를 사용하는 것을 피하는 것이었지만) 구문 분석 할 텍스트 파일이 없다면 분명히 그렇게 할 수 없다. –

+0

먼저 MSSQL으로 복원 한 다음 일반 SQL로 내보내기해야합니다. 내 업데이트 답변을 참조하십시오. – Cylindric

1

@Cylindric은 가장 가능성이있는 상황을 나타냅니다. 가능성이 희박한 옵션 (그리고 내가 처음 생각한 것)은 하나의 데이터 세트 (예 : 한 테이블의 내용)라고 가정 할 경우 BCP 유틸리티를 사용하여 "기본 형식"(또는 아마도 유니 코드 네이티브 형식). 그것을 읽을 수있는 유일한 방법은 데이터베이스에 다시 BCP하는 것입니다.

누군가가 데이터 세트를 제공하면 데이터가 어떤 형식 및 형식인지에 대한 설명을 제공해야합니다. XML의 경우에도 "자체 설명"데이터 형식, < xzb>와 같은 미스터리 태그가 무엇인지 알 수있는 XLS 시트 나 무언가가 있어야합니다.