2012-03-11 15 views
0

MS SQL SERVER2008 R2データベースバックアップをMySQLサーバにインポートします。 .bakを.sqlに変換してMySQLデータベースサーバにインポートできるように助けてください。.bakをMySQL(.sql)にインポートする

私はこれに関して他のスレッドを読んでいますが、これまでに何も働いていません。

ありがとうございます。

+2

[SQL Serをインポートする方法MySQLのバージョン?bakファイルですか?](http://stackoverflow.com/questions/156279/how-to-import-a-sql-server-bak-file-into-mysql) – Mark

+0

Hey Mark 私はその記事を読んでいます。問題は、MS SQLを使用して.bakを復元しようとすると、.bakファイルを選択するとエラーが発生することです。 MSSQLエラー: "指定されたキャストが有効ではありません。(SqlManagerUI) –

+0

それから質問してください - 現在の質問は重複しています – Mark

答えて

3

あなたは(あなたがこれを行うには無料の評価版をダウンロードすることができます)SQL Serverのローカルバージョンにデータベースを復元することができます。

http://msdn.microsoft.com/en-us/evalcenter/ff459612.aspx

その後、あなたはManagement Studioでのインポート/エクスポートウィザードを使用することができますテーブルやその他のオブジェクトをMySQLデータベースに転送します(SQL ServerがMySQLとの接続を確立するには、追加のODBCドライバがローカルにインストールされている必要があります)。

EDIT

SQL Serverにデータベースを復元する場合、不格好なUIを使用しないでください。実際のRESTORE DATABASEコマンドを使用します。例:

元のデータベースは、ローカルに存在しないドライブまたはフォルダに配置されたファイルで作成されていることがあります。だから私は、一時的に、権限を変更Everyoneアカウントを与え、c:\db_temp\と呼ばれる、非常に単純なフォルダを作成し提案し、次を実行している:

RESTORE FILELISTONLY FROM DISK = 'c:\path\foo.bak'; 

これは、のような結果セットが返されます:あなたが必要

LogicalName PhysicalName 
----------- ------------ 
Foo   C:\...\foo.mdf 
Foo_log  C:\...\foo_log.ldf 

を上記の結果に基づいて、RESTORE DATABASEコマンドを次のように作成します。

RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak' 
    WITH MOVE 'Foo'  TO 'c:\db_temp\foo.mdf', 
     MOVE 'Foo_log' TO 'c:\db_temp\foo_log.ldf'; 
+0

これも試しましたが、MSSQLは.bakファイルから読み込まれません。 "指定されたキャストは無効です。 –

+0

SQL Serverはどの時点で「指定されたキャストが有効ではありません」と言っていましたか?あなたがしたことを正確に記述することができますか? –

関連する問題