web-dev-qa-db-ja.com

エラー:指定されたキャストは無効です。 (SqlManagerUI)

SQL Server 2008 R2のデータベースからバックアップがあります。このバックアップをSQL Serverに復元しようとすると、次のエラーが表示されます。「エラー:指定されたキャストが無効です。(SqlManagerUI)」このエラーを解決するにはどうすればよいですか?ありがとう。

16
Tavousi

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' 
12
u07ch

これは、古いバージョンのSQLデータベースで新しいバージョンのバックアップを復元しようとしたときにも発生します。たとえば、2012年に110の互換性で作成されたDBバックアップを復元しようとし、2008 R2で復元しようとしている場合。

17
user1089020

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"です。

バックアップが破損しているか、新しいバージョンから取得されていることを意味します。

4
Ali Adravi

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」という名前についてはわかりませんが、これはうまくいきました。

それにもかかわらず、バックアップ(およびデータベース)は、旧バージョンとの後方互換性はありません。

0
Paul