SQL Server 2008 R2のデータベースからバックアップがあります。このバックアップをSQL Serverに復元しようとすると、次のエラーが表示されます。「エラー:指定されたキャストが無効です。(SqlManagerUI)」このエラーを解決するにはどうすればよいですか?ありがとう。
funnies を使用して、古いデータベースをSQL 2008に復元します。 TSQL経由でやってみましたか?
Use Master
Go
RESTORE DATABASE YourDB
FROM DISK = 'C:\YourBackUpFile.bak'
WITH MOVE 'YourMDFLogicalName' TO 'D:\Data\YourMDFFile.mdf',--check and adjust path
MOVE 'YourLDFLogicalName' TO 'D:\Data\YourLDFFile.ldf'
これは、古いバージョンのSQLデータベースで新しいバージョンのバックアップを復元しようとしたときにも発生します。たとえば、2012年に110の互換性で作成されたDBバックアップを復元しようとし、2008 R2で復元しようとしている場合。
2008年のstore 2012 dbのようなバージョン変更が原因で発生する場合があります。
RESTORE VERIFYONLY FROM DISK = N'd:\yourbackup.bak'
次のようなエラーが発生する場合:
メッセージ3241、レベル16、状態13、行2デバイス 'd:\ alibaba.bak'のメディアファミリの形式が正しくありません。 SQL Serverはこのメディアファミリを処理できません。メッセージ3013、レベル16、状態1、行2 VERIFY DATABASEが異常終了しています。
さらに確認してください:
RESTORE HEADERONLY FROM DISK = N'd:\yourbackup.bak'
BackupNameは "* INCOMPLETE *"、Positionは "1"、その他のフィールドは "NULL"です。
バックアップが破損しているか、新しいバージョンから取得されていることを意味します。
SQL Server 2012からSQL Server 2008 R2に復元するときに、「指定されたキャストは無効です」という同様のエラーが発生しました
最初にMDFおよびLDF名:
RESTORE FILELISTONLY
FROM DISK = N'C:\Users\Dell laptop\DotNetSandBox\DBBackups\Davincis3.bak'
GO
次に、返された名前を使用してMOVEで復元しました。
RESTORE DATABASE Davincis3
FROM DISK = 'C:\Users\Dell laptop\DotNetSandBox\DBBackups\Davincis3.bak'
WITH
MOVE 'JQueryExampleDb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.mdf',
MOVE 'JQueryExampleDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\Davincis3.ldf',
REPLACE
GO
「JQueryExampleDb」という名前についてはわかりませんが、これはうまくいきました。
それにもかかわらず、バックアップ(およびデータベース)は、旧バージョンとの後方互換性はありません。