IT TIP

동일한 서버에있는 다른 데이터베이스의 백업에서 새 데이터베이스를 생성 하시겠습니까?

itqueen 2020. 11. 22. 21:03
반응형

동일한 서버에있는 다른 데이터베이스의 백업에서 새 데이터베이스를 생성 하시겠습니까?


동일한 서버에있는 데이터베이스의 이전 백업에서 새 데이터베이스를 만들려고합니다. SQL Server Management Studio를 사용 하고 백업에서 새 DB로 복원하려고하면이 오류가 발생합니다.

System.Data.SqlClient.SqlError: The backup set holds a backup of a database 
other than the existing 'test' database. (Microsoft.SqlServer.Smo)

인터넷 검색 후이 코드를 찾았습니다.

    RESTORE DATABASE myDB

 FROM DISK = 'C:\myDB.bak'

 WITH MOVE 'myDB_Data' TO 'C:\DATA\myDB.mdf',

MOVE 'myDB_Log' TO 'C:\DATA\myDB_log.mdf'
GO

백업이 해당 서버에서 가져온 데이터베이스를 이동 문이 엉망으로 만들지 궁금합니다.

감사합니다. 모든 도움에 감사드립니다.


이것보다 쉽다고 생각합니다.

  • 먼저 빈 대상 데이터베이스를 만듭니다.
  • 그런 다음 "SQL Server Management Studio"복원 마법사에서 대상 데이터베이스 덮어 쓰기 옵션을 찾습니다. '옵션'탭에 있으며 '기존 데이터베이스 덮어 쓰기 (WITH REPLACE)'라고 합니다. 확인해 봐.
  • '파일'페이지에서 대상 파일을 선택하는 것을 잊지 마십시오.

마법사의 왼쪽에서 '탭'을 변경할 수 있습니다 (일반, 파일, 옵션).


빈 데이터베이스를 전혀 만들지 않고도 복원 할 수 있습니다.

Sql Server Management Studio에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 데이터베이스 복원 ...을 선택합니다 . 여기에 이미지 설명 입력

데이터베이스 복원 대화 상자 에서 소스 데이터베이스 또는 장치를 정상적으로 선택하십시오 . 원본 데이터베이스가 선택되면 SSMS는 데이터베이스의 원래 이름을 기반으로 대상 데이터베이스 이름을 채 웁니다.

그런 다음 데이터베이스 이름을 변경하고 새 대상 데이터베이스 이름을 입력 할 수 있습니다.

여기에 이미지 설명 입력

이 방법을 사용하면 옵션 탭으로 이동하여 "기존 데이터베이스 덮어 쓰기"옵션을 클릭 할 필요도 없습니다.

또한 데이터베이스 파일 이름은 새 데이터베이스 이름과 일관되게 지정되며 원하는 경우 파일 이름을 변경할 수있는 옵션이 있습니다.


쓰기 데이터베이스에 대한 옵션 확인이 나를 위해 일했습니다. :)

여기에 이미지 설명 입력


아카이브처럼 생각하십시오. MyDB.Bak에는 MyDB.mdf 및 MyDB.ldf가 포함됩니다.

Move와 함께 복원하면 HerDB는 기본적으로 백업에서 MyDB.mdf (및 ldf)를 가져와 HerDB.mdf 및 ldf로 복사합니다.

따라서 서버 인스턴스에 이미 MyDb가있는 경우 복원중인 MyDb는 건드리지 않습니다.

참고 URL : https://stackoverflow.com/questions/10299811/creating-new-database-from-a-backup-of-another-database-on-the-same-server

반응형