1

復元中に.bakファイルを介してdbを復元しようとしていますが、このエラーに遭遇しました

ここに画像の説明を入力

このエラーを回避して復元を成功させる方法、

注:このデータベースに対して

1. one .mdf file Ex: <DBNAME>_Primary01.mdf (Logical Name: FI_Primary)
2. one .ldf file EX: <DBNAME>_Log01.ldf (Logical Name: FI_Log)
3. six .ndf file Ex: <DBNAME>_Data01.ndf (Logical Name: FI_Data)
                 Ex: <DBNAME>_Data_201.ndf(Logical Name: FI_Data_2)
                 Ex: <DBNAME>_Index01.ndf(Logical Name: FI_Index)
                 Ex: <DBNAME>_Index_201.ndf(Logical Name: FI_Index_2)
                 Ex: <DBNAME>_Large01.ndf(Logical Name: FI_Large)
                 Ex: <DBNAME>_Large_Index01.ndf(Logical Name: FI_Large_Index)

RESTORE DATABASE [MESDB] FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\MESDB.bak' 
WITH  FILE = 1,  MOVE N'FI_Primary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.mdf',  
MOVE N'FI_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf',  
MOVE N'FI_Index' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf',  
MOVE N'FI_Data_2' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf', 
 MOVE N'FI_Index_2' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf',  
 MOVE N'FI_Large' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf',  
 MOVE N'FI_Large_Index' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf',  
 MOVE N'FI_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ldf',  NOUNLOAD,  STATS = 10
GO
4

2 に答える 2

2

ほとんどの場合、"C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\MESDB.ndf" に既にデータベース ファイルがあり、実行中のデータベースに接続されています。

既存のデータベースを削除するか、新しい場所に復元する必要があります。代わりに、パスの名前を DATA2 という名前のディレクトリに変更しました。それでいいはずです。

RESTORE DATABASE [MESDB] FROM  DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\MESDB.bak' 
WITH  FILE = 1,  MOVE N'FI_Primary' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.mdf',  
MOVE N'FI_Data' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf',  
MOVE N'FI_Index' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf',  
MOVE N'FI_Data_2' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf', 
MOVE N'FI_Index_2' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf',  
MOVE N'FI_Large' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf',  
MOVE N'FI_Large_Index' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ndf',  
MOVE N'FI_Log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA2\MESDB.ldf',  NOUNLOAD,  STATS = 10
GO
于 2013-05-16T14:18:06.807 に答える