삭제

이 문서에서는 보조 트랜잭션 로그 파일을 제거하는 프로세스와 여러 트랜잭션 로그 파일의 사용을 살펴봅니다.

소개

기본적으로 기본 데이터 파일과 트랜잭션 로그 파일이 들어 있습니다. 여러 데이터 파일을 구성하고 여러 데이터 파일에 데이터를 분할하는 것이 좋습니다. 이러한 데이터 파일을 별도의 스토리지 드라이브에 여러 입출력을 가질 수 있습니다. 데이터 관리를 돕고 성능을 향상 시키며 파일 그룹에 따라 백업 접근 방식을 계획합니다.

데이터베이스 아키텍처

데이터베이스 아키텍처

데이터베이스에 대해 여러 트랜잭션 로그 파일을 가질 수도 있습니다.

여러 트랜잭션 로그 파일을 순차적으로 사용합니다. 트랜잭션 로그 파일이 두 개 있다고 가정합니다. 로그 파일이 가득 차면 다른 로그 파일을 사용합니다. 따라서 성능상의 이점을 얻을 수 없습니다. 이상적으로 데이터베이스 당 하나의 트랜잭션 로그 파일 만 있어야합니다.

프로덕션 데이터베이스가 있다고 가정해 보겠습니다. 조사 후,우리는이 드라이브가 트랜잭션 로그 파일을 보유하고 있음을 발견했습니다. 트랜잭션 로그 파일이 가득 찼습니다. 우리는 로그 파일을 축소 시도했지만 작동하지 않았다. 또한 트랜잭션 로그를 백업하지만 활성 트랜잭션으로 인해 필요한 공간을 해제 할 수 없습니다. 여유 공간이 있는 별도의 디스크에 다른 트랜잭션 로그 파일을 추가하면 이 문제가 해결됩니다.

트랜잭션 로그 파일에 데이터를 쓰기 위해 직렬 모드를 사용하므로 나중에 추가 로그 파일을 제거해야 합니다. 추가 로그 파일을 제거하는 과정을 살펴 보겠습니다.트랜잭션 로그 파일이 있는 데이터베이스 만들기

개체 탐색기 창에서 데이터베이스 노드를 마우스 오른쪽 단추로 클릭하고 새 데이터베이스 명령을 클릭합니다:

새 데이터베이스 만들기

새 데이터베이스 만들기

새 데이터베이스 창이 열립니다. 데이터베이스 이름을 지정하고 다른 트랜잭션 로그 파일을 추가합니다. 테스트 목적으로 트랜잭션 로그 파일의 자동 증가를 사용하지 않도록 설정했습니다. 트랜잭션 로그 파일의 초기 크기는 8 메가바이트입니다:

여러 로그 파일 지정

여러 로그 파일 지정

모든 항목이 설정된 후 확인 단추를 클릭하여 기본 데이터/로그 파일 디렉터리에 데이터베이스를 만듭니다. 테이블 만들기 및 데이터 삽입:

1
2
3
4
5
6
7

사용 MultipleLogFiles;
GO
성 테이블의 직원
(EmpID INT ID(1, 1),
EmpName VARCHAR(50)
);
삽입한 직원(EmpName)값(‘Raj’)

보려면 가상 로그 파일 상태에서 SQL Server 트랜잭션 로그 파일을

에서 문서,SQL Server 트랜잭션 로그인 건물,우리는 탐험 내부 거래의 로그 파일이 있습니다. 각 트랜잭션 로그 파일은 여러 가상 로그 파일로 구성됩니다. 트랜잭션 로그 파일은 여러 가상 로그 파일의 조합입니다. 다음 스크린샷은 로그 파일의 물리적 및 논리적 아키텍처를 보여 줍니다:

로그 크기 및 자동 증가 파일(자동 증가 구성을 기반으로 함)을 기반으로 하는 데이터베이스입니다. 다음 이미지에서는 트랜잭션 로그 파일을 보여 줍니다:

순환 로그 파일

순환 로그 파일

단일 트랜잭션 로그 파일의 경우 순환 가상 로그 파일 경로를 사용합니다. 다음을 사용하여 가상 로그 파일의 수와 상태를 확인할 수 있습니다:

  1. 이 문서는 기계 번역되었으므로 어휘,구문 또는 문법에서 오류가 있을 수 있습니다 이 문서는 기계 번역되었으므로 어휘,구문 또는 문법에서 오류가 있을 수 있습니다 이 문서에서,우리가 사용하는 동적 관리 보기(운전 면허):
    1
    2

    선택*
    sys.dm_db_log_info(데이터베이(‘MultileLogFiles’));

    모니터링 VLF 상태

    위의 화면에서,우리는 것을 확인 우리의 견본 데이터베이스는 두 개의 트랜잭션 로그 파일(file_id2file_id3). 이 경우,이 작업을 수행 할 수 있으며,이 작업을 수행 할 수 있으며,이 작업을 수행 할 수 있습니다.=2)

  2. 표에 레코드를 몇 개 더 삽입하여 활성 동영상 재생이 변경되도록 합니다:

    1
    2

    이 작업을 수행하는 방법은 다음과 같습니다.3000

    트랜잭션 로그 공간 사용량 모니터링 및 상태는 다음과 같이 수행됩니다.:

  • VLF 상태

    1
    2

    선택 DB_name()으로 데이터베이스 이름,File_ID 로 transaction_log_file_ID,vlf_active,vlf_status
    sys.dm_db_log_info(데이터베이(‘MultileLogFiles’));

  • 트랜잭션 로그 사용(사용 및 사용 공간)

    1
    2
    3
    4
    5

    선택 total_log_size_in_bytes*1.0/1024/1024 총 로그 크기 메가바이트,
    사용 된 로그 공간 바이트*1.0/1024/1024 이 예제에서는 다음과 같은 방법을 사용할 수 있습니다.)*1.0/1024/1024
    이 문제를 해결하는 데 도움이되는 몇 가지 방법이 있습니다.;

우리는 위의 쿼리의 다음과 같은 출력을 얻을:

  • 왼쪽에는 기본 로그 파일(파일 _아이디 2)이 가득 차면 다음 로그 파일(파일 _아이디 3)으로 이동합니다. 이 시점에서 기본 로그 파일과 보조 로그 파일 모두에 활성 로그 파일이 있습니다. 전체 복구 모델이 있는 데이터베이스에서는 트랜잭션 로그 백업이 필요합니다. 당신이 기억으로,우리는 각 트랜잭션 로그 파일에 대한 8 메가 바이트 크기를 설정 한 우리는 로그 자동 성장을 비활성화했습니다. 2557>

    보조 트랜잭션 로그 파일 제거

    보조 트랜잭션 로그 파일을 제거하려면 편집한 데이터베이스 변경 문을 사용합니다.

    파일 제거 절을 추가하고 제거할 파일을 지정합니다:

    1
    2

    데이터베이스 변경 파일 제거
    이동

    이 문을 실행하면 다음과 같은 오류 메시지가 나타납니다:

    오류 메시지

    오류 메시지

    참고:활성 트랜잭션 로그 파일을 제거할 수 없습니다.

    이전에는 기본 로그 파일이 가득 차면 보조 로그 파일이 사용됩니다. 우리는 비어있는 보조 트랜잭션 로그를 만들 필요가,그래서 우리는 그것을 제거 할 수 있습니다.트랜잭션 로그 백업을 사용하여 로그를 잘라낼 수 있습니다. 이를 위해 트랜잭션 로그 크기,활성 트랜잭션 및 활성 트랜잭션에 따라 여러 로그 백업이 필요할 수 있습니다.

    전체 데이터베이스 및 트랜잭션 로그 백업을 수행합니다.:

    • 전체 데이터베이스 백업

      1
      백업 데이터베이스 다중 로그 파일을 디스크에=’C:\Temp\MultipleLogFiles.박’
    • 트랜잭션 로그 백업

      1
      백업 로그 다중 로그 파일을 디스크에=’C:\Temp\MultipleLogFiles_log.트론’

    백업이 완료되면 백업 상태를 확인합니다. 보조 로그 파일을 제거할 수 있도록 첫 번째 로그 파일(기본)에 있어야 합니다. 기본 로그 파일만 활성화되어 있는지 확인했습니다.:

    2537></div><p>이제 문제 없이 보조 트랜잭션 로그 파일을 제거해야 합니다. 편집 된 데이터베이스 변경 문을 다시 실행합시다. 보조 트랜잭션 로그 파일이 제거됩니다:</p> <p> <img src=

    보조 로그 파일 제거

    데이터베이스 _파일:

    1
    2
    3
    4
    5

    선택 file_id,
    이름
    type_desc,
    physical_name
    sys.데이터베이스 _파일;

    제거된 보조 트랜잭션 로그 파일은 다음 스크린샷에 따라 계속 표시됩니다:

    제거된 로그 파일 확인

    제거 된 로그 파일

    이제 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 기존 파일을 봅니다. 제거된 트랜잭션 로그 파일도 볼 수 있습니다. 그런데 왜?

    데이터베이스 변경 명령문을 다시 실행하고 트랜잭션 로그 파일을 다시 제거하는지 확인합니다.

    지정한 로그 파일을 찾을 수 없다는 메시지가 나타납니다.:

    오류 메시지

    오류 메시지

    후속 로그 백업 후 트랜잭션 로그 파일을 제거합니다. 다른 로그 백업을 수행하고 트랜잭션 로그 파일이 여전히 있는지 확인합니다:

    1
    백업 로그 다중 로그 파일을 디스크에=’C:\Temp\MultipleLogFiles_log_1.트론’

    트랜잭션 로그 백업

    트랜잭션 로그 백업

    트랜잭션 로그 파일을 확인합니다. 제거된 트랜잭션 로그 파일이 지금 표시되지 않습니다.

    결론

    이 문서에서는 보조 트랜잭션 로그의 사용 및 제거 프로세스를 살펴보았습니다. 특히 프로덕션 데이터베이스에서 여러 트랜잭션 로그 파일을 사용하지 않아야 합니다. 작업을 계획하기 전에 데이터베이스 백업을 수행하고 비생산성 시간 내에 수행해야 합니다.

    • 작성자
    • 최근 게시물
    라젠드라 굽타
    13 년의 경험을 가진 인도 구르 가온에서 마이크로 소프트 인증 트레이너로서,라젠드라는 성능 최적화,모니터링,고 가용성 및 재해 복구 전략 및 구현에 초점을 맞춘 대기업의 다양한 작동합니다. 그는 현재 1,000 만 명이 넘는 독자들이 보고 있는 수백 개의 권위있는 기사들을 저술하고 있다.
    그는 하나의 주제에 대한 기사의 가장 큰 무료 온라인 컬렉션 중 하나의 창조자이다. 에 따라 자신의 기여하는 SQL Server 커뮤니티,그로 인정을 받고있는 다양한 상을 포함한”최고의 저자는”올해 지속적으로 2020 년과 2021 년에서 SQLShack.
    라지는 언제나 새로운 도전에 관심이 많기 때문에 그의 글에서 다루는 주제에 대해 컨설팅이 필요한 경우 라젠드라에서 연락할 수 있다.이메일.
    모든 게시물 보기 라젠드라 굽타

    라젠드라 굽타
    라젠드라 굽타의 최신 게시물(모든 참조)
    • 2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일-2021 년 12 월 14 일 10, 2021

답글 남기기

이메일 주소는 공개되지 않습니다.