SQLサーバーからの.BAKファイルはMicrosoftTapeFormat(MTF)参照です:http://www.fpns.net/willy/msbackup.htm
bakファイルには、SQLサーバーがデータベースの保存に使用するLDFファイルとMDFファイルが含まれている可能性があります。
これらを抽出するには、SQLサーバーを使用する必要があります。 SQL Server Expressは無料で、その役割を果たします。
したがって、SQL Server Expressエディションをインストールし、SQLServerPowershellを開きます。 sqlcmd -S <COMPUTERNAME>\SQLExpress
を実行します (管理者としてログインしている間)
次に、次のコマンドを発行します。
restore filelistonly from disk='c:\temp\mydbName-2009-09-29-v10.bak';
GO
これにより、バックアップの内容が一覧表示されます。必要なのは、論理名を示す最初のフィールドです。1つは実際のデータベースで、もう1つはログファイルです。
RESTORE DATABASE mydbName FROM disk='c:\temp\mydbName-2009-09-29-v10.bak'
WITH
MOVE 'mydbName' TO 'c:\temp\mydbName_data.mdf',
MOVE 'mydbName_log' TO 'c:\temp\mydbName_data.ldf';
GO
この時点で、データベースを抽出しました。次に、Microsoftの「SQLWebデータ管理者」をインストールします。このエクスポートツールと一緒に使用すると、データベースを含むSQLスクリプトが作成されます。