programing

트랜잭션 로그 사용 안 함

telebox 2023. 4. 27. 22:09
반응형

트랜잭션 로그 사용 안 함

Oracle에는 트랜잭션이 기록되지 않도록 실행할 수 있는 SQL 명령이 있습니다.SQL Server 2008과 유사한 기능이 있습니까?

내 시나리오:서버(Dev, QA, Prod)에는 Tx 로그가 필요하지만, 개발자 시스템에서는 로그 없이도 가능할 수 있습니다.

어떤 상황에서도 SQL Server의 트랜잭션 로그 없이는 수행할 수 없습니다.엔진이 전혀 작동하지 않습니다.

개발 시스템에서 복구 모델을 단순으로 설정할 수 있습니다. 그러면 트랜잭션 로그가 로그 백업이 수행되지 않을 때 확대되는 것을 방지할 수 있습니다.

ALTER DATABASE MyDB SET RECOVERY SIMPLE;

위에서 언급하지 않은 세 번째 복구 모드가 있습니다.복구 모드는 궁극적으로 LDF 파일의 크기와 쓰기 속도를 결정합니다.모든 유형의 대량 삽입을 수행할 경우 DB를 "BULK/LOGGED"로 설정해야 합니다.따라서 대량 삽입물이 신속하게 이동하고 즉시 변경할 수 있습니다.

그렇게 하기 위해서,

USE master ;
ALTER DATABASE model SET RECOVERY BULK_LOGGED ;

다시 변경하기

USE master ;
ALTER DATABASE model SET RECOVERY FULL ;

왜 누군가 LDF를 원하지 않는지에 대한 대화에 추가하기 위해, 저는 다음과 같이 덧붙입니다.우리는 다차원 모델링을 합니다.기본적으로 우리는 외부 프로그램을 사용하여 대량으로 처리되는 변수의 대규모 저장소로 DB를 사용합니다.롤백은 절대 필요하지 않습니다.모든 로깅 기능을 사용하여 성능을 향상시킬 수 있다면 심장 박동에 맞춰 실행할 수 있습니다.

SQL Server가 작동하려면 트랜잭션 로그가 필요합니다.

즉, 트랜잭션 로그에는 두 가지 작동 모드가 있습니다.

  • 간단하죠.
  • 가득한

전체 모드에서는 데이터베이스를 백업할 때까지 트랜잭션 로그가 계속 증가합니다.단순 모드: 트랜잭션 로그의 공간은 체크포인트마다 '재활용'됩니다.

전체 복구 모델에서 데이터베이스를 실행할 필요가 있는 사용자는 거의 없습니다.전체 모델을 사용하는 유일한 방법은 데이터베이스를 하루에 여러 번 백업하고 전체 데이터베이스를 백업하는 데 시간이 너무 오래 걸리므로 트랜잭션 로그만 백업하는 것입니다.

트랜잭션 로그는 하루 종일 계속 증가하고, 당신은 계속해서 그것을 백업합니다.그날 밤 전체 백업을 수행하면 SQL 서버가 트랜잭션 로그를 잘라내고 트랜잭션 로그 파일에 할당된 공간을 재사용하기 시작합니다.

전체 데이터베이스 백업만 수행하는 경우에는 전체 복구 모드를 사용하지 않습니다.

Tx 로그의 문제점은 무엇입니까?자라나요?그런 다음 체크포인트 옵션에서 잘라내기를 설정합니다.

Microsoft 설명서에서:

SQL Server 2000 또는 SQL Server 2005에서 "단순" 복구 모델은 이전 버전의 SQL Server에서 "체크포인트 로그 잘라내기"와 동일합니다.서버에서 체크포인트를 수행할 때마다 트랜잭션 로그가 잘리면 데이터베이스 복구에 로그를 사용할 수 없습니다.전체 데이터베이스 백업은 데이터를 복원하는 데만 사용할 수 있습니다.단순 복구 모델을 사용하면 트랜잭션 로그 백업이 실행 중지됩니다.

공간을 절약하기 위해 개발 시스템 전용인 경우에는 단순 복구 모드로 이동하면 됩니다.

프로덕션 시스템에서는 데이터베이스를 전체 복구 모드로 유지하는 것이 좋습니다.이렇게 하면 필요한 경우 시점 복구를 수행할 수 있습니다.

또한 데이터베이스를 전체 복구 모드로 설정하면 트랜잭션 로그를 읽어 실수로 인한 업데이트 및 삭제를 취소할 수 있습니다.아래 또는 자세한 내용을 참조하십시오.

SQL Server 2005에서 UPDATE 쿼리를 롤백하려면 어떻게 해야 합니까?

로그 파일(*)을 읽습니다.SQL Server 2008의 LDF)

운영 시스템에서 공간 문제가 발생하는 경우 트랜잭션 로그 백업을 자주 생성하면 됩니다.

언급URL : https://stackoverflow.com/questions/996403/disable-transaction-log

반응형