저희 회사는 웹/앱 서버에 가상 시스템을 사용합니다. 이렇게하면 무언가가 잘못되어 배포가 매우 쉽게 롤백 될 수 있습니다. 그러나 앱 서버 배포에도 데이터베이스 배포가 필요하고 롤백해야하는 경우에는 다소 손해를 보게됩니다. 데이터 손실없이 데이터베이스 스키마 변경 사항을 롤백하는 방법은 무엇입니까? 내가 생각할 수있는 유일한 방법은 테이블/컬럼을 원래 상태로 되돌리고 되돌릴 스크립트를 작성하는 것입니다. 이것이 가장 좋은 방법일까요?새 데이터를 손실하지 않고 데이터베이스 배포를 롤백하는 방법은 무엇입니까?
0
A
답변
1
일반적으로 말할 수는 없습니다.
그러나 이러한 롤백이 의미가 있다고 가정하면 보유하려는 데이터가 되돌리려는 스키마 변경과 독립적이라는 것을 의미합니다. 그것을 다루는
한 가지 방법이 될 것이다에 :
- 백업 데이터 만 (스크립트),
- 는 이전에 스키마를 되돌리고
- 데이터를 복원
스키마 변경으로 작성된 스크립트가 무효화되지 않으면 위의 내용이 잘 작동합니다 (예 : 열 수 변경은 까다 롭습니다).
이 question에는 스크립트를 생성하기 위해 MS SQL에서 사용할 수있는 도구에 대한 세부 정보가 있습니다.
2
하지만 열을 삭제하면 해당 열/테이블 (추정 됨)에 일부 데이터가 포함되므로 데이터를 잃게됩니다. 그리고 나는 어떤 롤백은 종종 버그가 발견된다는 점에서 일시적이라는 것을 가정하기 때문에, 롤백은 고정되어 있고, 그 다음에는 동일한 변경 사항이 재설치되고, 사용자는 매우 화가 난다. 그 데이터를 잃어 버렸고 시스템이 수정되었을 때 다시 입력해야했습니다.
테이블과 컬럼의 추가, 변경 또는 삭제 만 허용해야한다고 제안하는 경우 롤백이 많으면 데이터를 그대로두고 롤백 할 수 있습니다. 일부 미사용 열이 있지만 실수로 테이블/열을 추가 한 경우가 자주 발생하지 않으며 DBA는이를 수동으로 제거 할 수 있습니다.
관련 문제
- 1. 데이터를 손실하지 않고 UIView간에 전환하는 방법은 무엇입니까?
- 2. 데이터를 손실하지 않고 중단 시간없이 서버를 마이그레이션하는 가장 좋은 방법 (?)
- 3. vb.net에서 데이터를 롤백하는 방법
- 4. javaScript를 통해 작업을 롤백하는 방법은 무엇입니까?
- 5. 폼 데이터를 손실하지 않고 파일론에서 요청을 리디렉션하는 가장 좋은 방법은 무엇입니까?
- 6. Android에서 트랜잭션을 롤백하는 방법은 무엇입니까?
- 7. 두 커밋을 롤백하는 방법은 무엇입니까?
- 8. Visual Studio 데이터베이스 프로젝트의 배포를 스크립팅하는 방법은 무엇입니까?
- 9. 기존 확장 메서드를 손실하지 않고 기존 C# 클래스에 특성을 추가합니까?
- 10. 이미 커밋 된 트랜잭션을 롤백하는 방법은 무엇입니까?
- 11. cruisecontrol을 사용하여 마지막 빌드로 롤백하는 방법은 무엇입니까?
- 12. ClickOnce 응용 프로그램을 롤백하는 방법은 무엇입니까?
- 13. 레일 3의 특정 테이블을 롤백하는 방법은 무엇입니까?
- 14. VisualSVN 개정 번호를 롤백하는 방법은 무엇입니까?
- 15. SQL 업데이트 명령을 롤백하는 방법은 무엇입니까?
- 16. 오류가 발생하면 다른 데이터베이스 서버에서 여러 쿼리를 롤백하는 방법
- 17. 다른 데이터베이스 인코딩간에 데이터를 전송하는 방법은 무엇입니까?
- 18. 값을 중복하지 않고 새 테이블을 선택하고 삽입하는 방법은 무엇입니까?
- 19. SQL Server Management Studio 2008에서 쉽게 롤백하는 방법은 무엇입니까?
- 20. 이전 데이터를 제거하지 않고 데이터베이스의 데이터를 업데이트하는 방법은 무엇입니까?
- 21. 앱의 iOS 버전 배포를 찾는 방법은 무엇입니까?
- 22. JBoss 배포를 자동으로 테스트하는 방법은 무엇입니까?
- 23. Mercurial을 통해 코드 배포를 수행하는 방법은 무엇입니까?
- 24. T-SQL : DBCC CHECKCONTRAINTS 후에 롤백하는 방법은 무엇입니까?
- 25. 새 Rails App 용 데이터베이스 데이터를 변경하는 방법
- 26. 어떻게 데이터를 손실하지 않고 시간 도메인에서 주파수 도메인으로 이산 신호를 전송하고 되돌릴 수 있습니까?
- 27. 내부에서 데이터를 손실하지 않고 ASP.Net 개인 설정 테이블을 다시 작성하거나 복구 할 수있는 방법이 있습니까?
- 28. 하나가 실패하면 3 개의 명령문을 롤백하는 방법은 무엇입니까?
- 29. Unit Test TearDown을 위해 EF4에서 롤백하는 방법은 무엇입니까?
- 30. django : 데이터 손실없이 데이터베이스 스키마 업데이트