답변:
일반적으로 백업 / 복원을 선택해야합니다. 대부분의 상황에서 더 빠릅니다.
프로덕션에서도 테스트를 위해 일관되게 사용할 수 있습니다.
백업 / 복원 대 분리 / 연결이 언급 된이 관련 질문도 참조하십시오.
SQL Server 마이그레이션 복원 백업 및 복사 데이터 및 로그 파일
WITH COPY_ONLY
기존 유지 관리 계획 백업 체인을 손상시키지 않도록 옵션을 백업에 추가하십시오 .
백업 / 복원하기로 결정한 경우 백업 중에 WITH COPY_ONLY 옵션을 사용하여 기존 유지 관리 계획의 백업 체인이 손상되지 않았는지 확인하십시오.
.bak 파일은 잘 압축되므로 백업을 진행하기로 결정한 경우 이동하기 전에 백업을 압축하면 전송 시간이 절약 될 수 있습니다.
원래 데이터베이스를 작동 가능한 상태로두기 때문에 백업 / 복원을 원합니다.
특히 '프로덕션에서 테스트로'변환을 수행하는 경우 프로덕션 데이터베이스가 온라인 상태를 유지하는 것이 중요합니다.
백업 / 복원은 더 안전한 옵션 이기도합니다 . 분리 시작, 복사, 첨부 등의 시작 부분 사이에서 파일이 손상되면 어떻게됩니까? 최소한 백업을 수행하고 파일이 손상되면 다시 시작할 수 있습니다. 분리가 발생하면 데이터베이스가 사라집니다.
또한 나에게 (다른 것보다 더 많은 느낌이 들지만) 백업 / 복원은 "매일의 작업"이지만 분리 / 연결은 예외적 인 상황에서하는 일입니다. 이 아이디어를 어디서 얻었는지 묻지 마십시오. ;-)
항상 백업 / 복원의 "복원"부분에 문제가있었습니다. 나는 결국 포기하고 세부 사항을 인용 할 수 없으며 그 이후로 분리 / 복사 / 첨부되었습니다.
분리의 유일한 점은 DBMS가 데이터베이스를 삭제하지 않도록 확인해야한다는 것입니다. 이런 일이 있었으며 그 광경은 그렇지 않았습니다.
copy_only
DOS 쉘에서이 방법을 사용하여 백업하는 것이 좋습니다 (트랜잭션 로그를 방해하지 않도록) .
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
디렉토리 에서 실행하십시오 .
backup.bat SQLDBNAME
어디에 backup.bat
포함 (가독성을 위해 줄 바꿈 추가) :
sqlcmd.exe -U username -P xxxxxxx -S SQL-SERVERNAME
-Q "BACKUP DATABASE %1 TO DISK = '%1_COPYONLY.BAK' WITH COPY_ONLY,INIT;"