[解決済み】SQL Server データベース復元エラー:指定されたキャストは有効ではありません。(SqlManagerUI)
質問
SQL Server 2008 R2 Standard (バージョン 10.50.1600.1) を本番サイトで使用しています。 SQL Server Express Edition with Advanced Services (v10.50.1600.1) は、データベースとして私のローカルホストに使用します。
数日前にSQL Serverがクラッシュし、新しい2008 R2 Expressバージョンを私のローカルホストにインストールする必要がありました。Express版から取得した古いバージョンをリストアしたときは問題なく動作しましたが、データベースを
.bak
ファイルは、本番サーバーから取得したもので、以下のようなエラーが発生します。
エラーです。指定されたキャストは有効ではありません。(SqlManagerUI)
というコマンドでデータベースを復元しようとしたところ
Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications.bak'
WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
別のエラーが発生します
Msg 3154, Level 16, State 4, Line 1
バックアップセットは、既存の'Publications'データベース以外のデータベースのバックアップを保持しています。
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE が異常終了しました。
バージョンを照合してみました。以下の画像のように、私にはすべて一致しているように見えます。
以前は通常版からエクスプレス版へデータベースを復元できたのですが、現在は失敗しています。データベースを削除し、再作成を試みました。これも失敗しました。
何が間違っているのかよくわかりません。この点に関して、ご助力をお願いします。
問題は解決されました .bakファイルが破損していたようなので。別のファイルで試したところ、うまくいきました。
解決方法は?
GUIは気まぐれな時があります。T-SQLを使用したときに出たエラーは、既存のデータベースを上書きしようとしているのに、上書き/置換を指定していないためです。以下のようにするとうまくいくかもしれません。
Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications_backup_2012_10_15_010004_5648316.bak'
WITH
MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'Publications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
, REPLACE -- Add REPLACE to specify the existing database which should be overwritten.
関連
-
[解決済み] SQL Server : ログインに成功しましたが、「データベース [dbName] にアクセスできません。(ObjectExplorer) "と表示されました。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】SQL Server 2008 Expressで、同じサーバー上のSQL Serverデータベースをクローンするにはどうすればいいですか?
-
[解決済み】SQL Serverデータベースのバックアップを下位バージョンにリストアする。
-
[解決済み】SQL Serverリストアエラー - アクセスが拒否されました。
-
[解決済み】SQL Serverで異なるデータベースにリストアする方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] SQL Server Error "String Data, Right Truncation "の意味と修正方法について教えてください。
-
[解決済み] 等値演算で "SQL_Latin1_General_CP1_CI_AS" と "Latin1_General_CI_AS" の照合の競合を解決できない
-
[解決済み] SQL Server: sys.master_files vs. sys.database_files
-
[解決済み] ')' 付近の構文が正しくない場合の対処方法
-
[解決済み] SQL Agent を使用して SSIS パッケージを実行する際の問題 - "DTSER_FAILURE(1)" で失敗します。
-
[解決済み] COUNTフィールドが正しくないか、構文エラーです。
-
[解決済み] テーブルが存在しない場合、"Table 'dbo.Foo' already exists." というエラーはどのように解決すればよいですか?
-
[解決済み] 変数に値を代入するSELECT文は、データ検索操作と組み合わせてはいけません。
-
[解決済み] SQLのReplace関数内の正規表現?
-
[解決済み] 文字列から特定の文字を削除する