backup database Clinical_Data_Extension to disk='c:\Clinical_Data_Extension_full.bak'
restore filelistonly from disk='c:\Clinical_Data_Extension_full.bak'
restore database Clinical_Data from disk='c:\Clinical_Data_Extension_full.bak'
with move 'Clinical_Data_Extension' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Clinical_Data.mdf',
move 'Clinical_Data_Extension_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Clinical_Data.ldf',
REPLACE
エラー:
Msg 3234, Level 16, State 2, Line 3
Logical file 'Clinical_Data_Extension' is not part of database 'Clinical_Data'. Use RESTORE FILELISTONLY to list the logical file names.
Msg 3013, Level 16, State 1, Line 3
RESTORE DATABASE is terminating abnormally.
それでも、何らかの理由で、次の同一のコードは正常に機能します。
backup database Clinical_Data to disk='c:\Clinical_Data_full.bak'
restore filelistonly from disk='c:\Clinical_Data_full.bak'
restore database Clinical_Data_Extension from disk='c:\Clinical_Data_full.bak'
with move 'Clinical_Data' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Clinical_Data_Extension.mdf',
move 'Clinical_Data_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\Clinical_Data_Extension.ldf',
REPLACE
基本的には、データベース「Clinical_Data_Extension」を作成して作業を行っています。完了したら、「Clinical_Data」を削除するスクリプトを作成し、最初に説明したスクリプトを使用して、「Clinical_Data_Extension」からのデータを使用して「Clinical_Data」を復元し、本質的に「Clinical_Data」を上書きします。ただし、何らかの理由で最初のスクリプトでエラーが発生し、2 番目のスクリプトではまだ完全に同一ではありません。なぜこれが起こると思いますか?