2017-12-21 10 views
1

우리는 MSSQL Server를 사용하고 있으며 우리의 응용 프로그램은 매일 무거운 데이터 교환을하고 있습니다. 약. 매일 20K 행의 새로운 데이터와 데이터베이스 "로그 파일 크기"도 계속 증가합니다. 처리 후 DB 크기를 제어하기 위해 데이터를 삭제하지만 "DB 로그 파일"은 계속 증가합니다.SQL Server 데이터베이스 로그 파일 크기를 제어하는 ​​방법은 무엇입니까?

"DB 로그 파일" 크기를 줄이려면 다음 스크립트를 수동으로 실행하고 있습니다. 또한 DB 소유자 만이 프로세스를 실행할 수 있습니다.

자동 제어"DB 로그 파일" 크기가 영구적입니까? 예를 들어 최대 4GB를 할당하려고합니다. 이전 로그을 자동으로 지워야합니다.

FULL 복구 모드에서
SET RECOVERY FULL; 

, 전체 데이터베이스 백업 트랜잭션 로그 포함되지 않습니다

USE db1; 
GO 

ALTER DATABASE db1 
SET RECOVERY SIMPLE; 
GO 
--first parameter is log file name and second is size in MB 
DBCC SHRINKFILE (db1_log, 999); 

ALTER DATABASE db1 
SET RECOVERY FULL; 
GO 

감사합니다, 주권

+2

얼마나 자주 트랜잭션 로그 백업을 수행하고 있습니까? – Larnu

+3

SQL Server 로그 파일을 유지 관리하는 방법에 대한 10 억 개와 4 개의 기사가 있습니다. 로그 백업, 자동 증가 설정/유지 보수 및 처음부터 적절한 파일 크기 설정 방법을 읽고 싶을 것입니다. – squillman

+3

그리고이 기사 중 적어도 하나는이 기사 여야합니다. https://www.brentozar.com/archive/2009/08/stop-shrinking-your-database-files-seriously-now/ –

답변

3

나는이 참조하십시오. 또한 서버는 어떤 상황에서도 백업되지 않은 로그 항목을 제거하지 않습니다. 즉, 로그 파일이 계속 증가 할 것입니다.

"DB 로그 파일"크기를 자동 제어하는 ​​영구 수정이 있습니까?

예. 이 문제를 해결하려면 별도의 트랜잭션 로그 백업을 수행해야합니다 ... and do them often. 이렇게하면 로그 파일을 합리적인 크기로 유지할 수 있습니다 ... 아마도 4GB보다 훨씬 적습니다.

주의하십시오. 변경 후에 처음으로 백업을 수행하면 다소 큰 백업 파일을 얻을 수 있습니다.이 파일은 완료되어 데이터베이스에 상당한 부담을주는 데 다소 시간이 걸릴 수 있습니다. 그러나 첫 번째 실행 후 합리적인 일정을 선택하면 상황이 조용해질 것입니다.

또한 새 일정으로 첫 번째 트랜잭션 로그 백업을 완료하면 트랜잭션 로그 파일을 축소 할 수 있습니다. 그 전에 파일을 축소하는 데는 아무런 문제가 없습니다 ... 여전히 모든 공간을 사용하고 있으며 그렇지 않은 경우에도 다시 커지 죠. 이 초기 축소를 수행하면 you really shouldn't do it again. 수동으로 파일을 축소 할 필요가 없도록 유지 관리 일정을 설정하고 이전의 실수 이후 합리적인 상태로 되돌리기 위해 이번 만 축소하십시오.

2

는 SQL Server가 취소하는 방법 2 가지가 있습니다 t을-로그 :

  1. 데이터베이스를 단순 복구 모델을 사용 - 체크 포인트가 발생하면, 로그는

  2. 데이터베이스

    이 FULL 또는 BULK_LOGGED 복구 모델을 사용하여 삭제합니다 - 당신이 로그 백업

에게 유일한 시간을 발행 할 때 SHRINKFILE을 실행할 경우 t-로그가 축소됩니다.

로그 파일의 크기를 4GB로 자동 조절하고 4GB까지 자동 증가시킬 수 있습니다.

USE [master] 
GO 
ALTER DATABASE [DB] MODIFY FILE (NAME = N'DB_log', SIZE = 4096000KB , FILEGROWTH = 4096000KB) 
GO 

파일 성장은 In Megabytes하지 In Percent로 설정해야합니다. enter image description here

파일 크기를 고정 크기로 제한 할 수는 있지만 설정하지 않는 것이 좋습니다. 이렇게하면 크기에 도달하면 응용 프로그램이 삽입되지 않을 수 있습니다.

1 일의 가동 중지 시간/데이터 손실을 허용 할 수있는 경우 간단하게 복구 할 수 있습니다. 그러나 24/7 상점이 있고 특정 시점에 복구해야하는 경우 데이터베이스를 FULL 복구 (t-logs를 정리하는 데 필요한 로그 백업)로 설정하고 비즈니스에 RPO/RTO 요구 사항을 묻는 것이 좋습니다.