dポイントプレゼントキャンペーン実施中!

SQLSERVER2005でwindows2003serverで運用しています。
マネージメントスタジオの復元機能で行いました。

どこに間違いがあるのでしょうか?

RESTORE DATABASE [test] FROM DISK = N'C:\~.bak' WITH FILE = 1, NOUNLOAD, STATS = 10
GO
メッセージ 5133、レベル 16、状態 1、行 1
オペレーティング システム エラー 87(パラメータが間違っています。) により、ファイル "E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\~.mdf" のディレクトリ参照に失敗しました。
メッセージ 3156、レベル 16、状態 3、行 1
ファイル '~' を 'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\~.mdf' に復元できません。WITH MOVE を使用して、そのファイルにとって有効な場所を特定してください。
メッセージ 5133、レベル 16、状態 1、行 1
オペレーティング システム エラー 87(パラメータが間違っています。) により、ファイル "E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\~.ldf" のディレクトリ参照に失敗しました。
メッセージ 3156、レベル 16、状態 3、行 1
ファイル '~_log' を 'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\~_log.ldf' に復元できません。WITH MOVE を使用して、そのファイルにとって有効な場所を特定してください。
メッセージ 3119、レベル 16、状態 1、行 1
RESTORE ステートメントのプランを作成中に問題が検出されました。詳細については、以前のメッセージを参照してください。
メッセージ 3013、レベル 16、状態 1、行 1
RESTORE DATABASE が異常終了しています。

A 回答 (1件)

バックアップしたDBのデータファイルのパスをデフォルトから


変えているのでしょう。

メッセージで対処方法は記載されています。
>WITH MOVE を使用して、そのファイルにとって有効な場所を特定してください。

以下のようにMOVE句で移動するか、復元先のディレクトリを作成するか
どちらかで対処してください。

RESTORE DATABASE [test]
FROM DISK = N'C:\xxx_backup.bak'
with
MOVE N'test' TO N'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\test.mdf',
MOVE N'test_log' TO N'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\test_log.ldf',
RECOVERY;
GO
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す