19

データベースのバックアップを復元しようとしていますが、エラーが発生します:

サーバー「ASIF-VAIO」の復元に失敗しました。(Microsoft.SqlServer.SmoExtended)

追加情報:

System.Data.SqlClient.SqlError:ファイル'C:\ Program Files \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ uwa.mdf'は、'Aston_Fresh_log'(2)および'Aston_Fresh'(1)によって要求されます。WITH MOVE句を使用して、1つ以上のファイルを再配置できます。(Microsoft.SqlServer.Smo)

4

7 に答える 7

28

復元するときは、必ず

  • まだ存在していない新しいデータベース名を選択します(既存のデータベースを上書きする場合を除く)

ここに画像の説明を入力してください

  • Overwriteタブページのオプションにチェックマークを付け、およびファイルの有効な新しいファイル名をOptions定義して、システム上の別のデータベースを誤って上書きしないようにします。.mdf.ldf

ここに画像の説明を入力してください

于 2013-02-19T09:42:35.603 に答える
5

この投稿にはいくつかの優れた回答がありますが、私の解決策がここでカバーされているとは思わないか、回答/コメントを理解していませんでした。

ただし、このエラーが発生したときは、2つのインデックス(プライマリとインデックス)を使用してデータベースを復元していました。問題は、復元時に2つの.ndfファイル(インデックスごとに1つ)が作成されたが、それらに同じ名前が付けられていたことでした。

つまり、基本的に、「D:\ MSSQLDATA\DatabaseName.ndf」に復元する2つの「名前を付けて復元」ファイルがありました。

これを克服するには、ファイル名の1つを変更する必要があったため、たとえば変更しました

 Index      |    D:\MSSQLDATA\DatabaseName.ndf
 Primary    |    D:\MSSQLDATA\DatabaseName1.ndf

一意のファイル名を使用すると、これが修正されました。

于 2015-02-13T17:58:33.310 に答える
3

これは私にとってはうまくいきました:スクリプトセクションの各MDFおよびLDFファイルに異なる名前を付けました。

MOVE N'R_Data' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db1.mdf',

MOVE N'R_audit' 
  TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Build51_Testing_db2.mdf', 

等...

もともとAlbertoMorilloによって提案されました

于 2013-11-28T13:40:06.570 に答える
1

私はそれが最後の答えから長いことを知っています、しかし私はこの問題の解決策をグーグルでたまたま検索しました。私のためにそれをしたのは、復元のスクリプトを作成し(ファイル名を変更してもうまくいきませんでした)、コード内のファイル名を手動で変更することでした

RESTORE DATABASE [DB_NAME] 
FILE = N'[name]',  
FILE = N'[name1]',
FILE = N'[name2]' 
FROM  DISK = N'[file_path]' 
WITH  FILE = 1m
MOVE N'[name]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name].mdf',
MOVE N'[name1]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name1].mdf',
MOVE N'[name2]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[name2].mdf',
MOVE N'[logname]' TO N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\\[logname].ldf'
NOUNLOAD,
REPLACE,
STATS = 10
GO

よろしく

于 2017-09-15T13:00:47.880 に答える
0

この問題が発生し、それが上記以外の場合は、[復元オプション]> [ファイル]で、[すべてのファイルをフォルダに再配置する]チェックボックスをオンにしてみてください。

ここに画像の説明を入力してください

于 2017-11-27T16:20:14.180 に答える
0

私の場合、フォルダにはすでに.mdf.ldfファイルがあった\DATAので、2つの新しいファイルを作成する必要がありました。

New-Item C:\path\to\sql\DATA\NewDatabase.mdf
New-Item C:\path\to\sql\DATA\NewDatabase_log.ldf

次に、SQLマネージャーで、データベースを復元するときにこれらの新しいファイルを選択する必要があります。

于 2020-06-17T21:41:17.747 に答える
0

私の場合、データベースには2つのmdfファイルがあります。そして、両方のmdfファイルを同じ名前で復元しようとしているため、エラーが発生しました。

[名前を付けて復元]の下の2番目のmdfファイルの名前を変更するだけです。

ここに画像の説明を入力してください

于 2021-10-18T10:23:11.413 に答える