SQLサーバーで.BAKを復元しようとしていますが、次のエラーが発生します。
メッセージ3241、レベル16、状態7、行1デバイス 'c:\ glyn\JA.bak'のメディアファミリーの形式が正しくありません。 SQL Serverはこのメディアファミリを処理できません。メッセージ3013、レベル16、状態1、行1 RESTORE DATABASEが異常終了しています。
2012、2008、2005を使用して復元を試みましたが、何も機能しません。次のクエリとTasks >> Back up
しかし、何も機能しません。これが私のSQLです。
RESTORE DATABASE JA FROM DISK='c:\glyn\JA.bak'
誰か提案はありますか?私はベイクが壊れている可能性があることを読みました、それはプロジェクトに取り組んでいるDVD上の別の開発者によって私に送られました。
新しいデータベースを古いSQLバージョンに復元する場合は、常に古いSQLバージョンでデータベースを手動で作成し、タスクを利用して、スクリプトを生成し、データを含めることができます。
ファイルに保存->詳細->スクリプトに書き込むデータのタイプ->スキーマとデータ。
また、Script for Server Versionも確認してください。
これは、新しいSQL Serverから古いバージョンに移行する場合にサポートされる唯一のオプションとなる場合があります。
私は同じ問題を抱えていました、私のスクリプトは間違ったFILEタイプを指定していました、.bak
と指定しましたFILE = 2
これは .trn
。
USE [master]
RESTORE DATABASE [MyNewDB] FROM
DISK = N'D:\MyOldDB.bak'
WITH
FILE = 1, -- 1 = .bak, 2 = .trn type backup
MOVE N'MyOldDB' TO N'd:\data\MyOldDB.mdf',
MOVE N'MyOldDB_log' TO N'd:\data\MyOldDB_log.ldf',
NOUNLOAD,
STATS = 5
GO
RESTOREコマンドがこれを自動検出するか、デフォルトを設定するかわかりません...
移行元と移行先のSQL Serverで次のスクリプトを実行します。バージョンが一致するか、移行先のSQL Serverのバージョンが上位である必要があります。そうでない場合、.bakファイルを復元できません。
SELECT @@Version
唯一の理由は、以前のバージョンのバックアップを復元しようとしていることです。参照: http://www.sqlservercentral.com/Forums/Topic1675066-1550-1.aspx?Update=1