2011-12-07 11 views
0

私はSQL Serverデータベースを掘り起こす必要があります。私が与えたダンプは、MySQLとPostgresでよく慣れていた通常のテキストベースのSQL文ダンプではなく、バイナリファイルのようです。バイナリSQL Serverのダンプから生のSQL文を生成していますか?

これはSQL Serverデータベースをエクスポートする通常の方法ですか、これは何らかの問題ですか?前者の場合は、これを私が慣れているSQLテキストファイルに変換することができますか?それともバイナリーではなくテキストでエクスポートするように私にそれを与えた人に頼むことができますか?

答えて

3

"MSSQL dump"が実際に参照することはありません。

あなたは実際に何が与えられたのかを知る必要があります。それはMSSQLのバックアップファイル(通常は.bak)か、単にデタッチされたデータベース(.mdf)ですか?

前者の場合は、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ユーティリティで "ネイティブフォーマット"(あるいはおそらくUnicodeネイティブ形式)。それを読み取る唯一の方法は、データベースにBCPを戻すことです。

誰かがあなたに一連のデータを提供したときに、そのデータがどんな形式とフォーマットであるかについての説明も提供する必要があります。XMLの場合でも、 XLSシート、または< xzb>のような謎のタグが何であるかを知ることができるものが必要です。

関連する問題