programing

공유 호스트의 "LOG_BACKUP" 때문에 데이터베이스의 트랜잭션 로그가 가득 찼습니다."

powerit 2023. 4. 19. 00:30
반응형

공유 호스트의 "LOG_BACKUP" 때문에 데이터베이스의 트랜잭션 로그가 가득 찼습니다."

난 ASP가 있어공유 호스팅 계획에 EntityFramework 코드퍼스트 접근 방식을 사용하는 Net MVC 5 웹 사이트.제어판에 오픈소스 WebbsitePanel을 사용하고 SQL Server 패널은 다소 제한됩니다.오늘 데이터베이스를 편집하려고 할 때 다음 오류가 발생했습니다.

The transaction log for database 'db_name' is full due to 'LOG_BACKUP'

여기저기 검색해보니 이런저런 관련 답변들이 많았는데, 문제는 데이터베이스에서 쿼리를 실행하라고 제안한다는 것입니다.나는 달리기를 시도했다.

db.Database.ExecuteSqlCommand("ALTER DATABASE db_name SET RECOVERY SIMPLE;");

비주얼 스튜디오와 함께HomeController)는, 다음의 에러가 표시됩니다.

System.Data.SqlClient.SqlException: ALTER DATABASE statement not allowed within multi-statement transaction.

어떻게 하면 문제를 해결할 수 있을까요?지원팀(호스트에게 조금 부족한 점)에 문의해야 합니까?아니면 직접 해결할 수 있습니까?

Ben의 답변 외에 필요에 따라 아래 질문을 시도할 수 있습니다.

USE {database-name};  
GO  
-- Truncate the log by changing the database recovery model to SIMPLE.  
ALTER DATABASE {database-name}
SET RECOVERY SIMPLE;  
GO  
-- Shrink the truncated log file to 1 MB.  
DBCC SHRINKFILE ({database-file-name}, 1);  
GO  
-- Reset the database recovery model.  
ALTER DATABASE {database-name}
SET RECOVERY FULL;  
GO 

크레딧 @cema-sp 업데이트

데이터베이스 파일 이름을 찾으려면 아래 쿼리를 사용하십시오.

select * from sys.database_files;

호스팅 회사에 연락하여 정기적인 로그 백업을 설정하거나 복구 모델을 단순하게 설정하십시오.선택을 좌우하는 건 알겠지만, 어쨌든 분명히 말할게요.임의 지정 시점으로 복원하는 기능이 필요한 경우 복구 모델을 전체로 설정하십시오.어느 쪽이든 데이터베이스가 그대로 잘못 설정되어 있습니다.

디스크의 공간이 부족할 때 SQL 업데이트 문에 실패하면 "LOG_BACKUP으로 인해 데이터베이스 XXXXXXXXXXXXXX의 트랜잭션 로그가 꽉 찼습니다"라는 메시지가 반환되는 경우가 있습니다.디스크 영역을 확인합니다. : )

이 오류는 LOG_BACKUP으로 인해 트랜잭션 로그가 가득 차기 때문에 발생합니다.따라서 이 데이터베이스에서는 어떤 작업도 수행할 수 없습니다.이 경우 SQL Server 데이터베이스 엔진에서 9002 오류가 발생합니다.

이 문제를 해결하려면 다음 작업을 수행해야 합니다.

  • 전체 데이터베이스 백업을 수행합니다.
  • 로그 파일을 축소하여 실제 파일 크기를 줄입니다.
  • LOG_BACKUP을 만듭니다.
  • 백업 로그를 자주 작성하려면 LOG_BACKUP 유지 관리 계획을 작성하십시오.

LOG_BACKUP으로 인해 데이터베이스 'SharePoint_Config'의 트랜잭션 로그가 꽉 찼습니다.

이 문제는 로그 파일의 크기가 제한된 경우에도 발생할 수 있습니다.

개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.

속성 선택

파일 선택

로그 행의 [Autogrowth] / [ Maxsize ]컬럼 줄임표를 클릭합니다.

변경/검증 최대 파일 크기가 무제한입니다.

여기에 이미지 설명 입력

무제한으로 변경 후 데이터베이스가 다시 활성화되었습니다.

백엔드 작업(SSIS 작업)에서 동일한 오류가 발생하였습니다.데이터베이스의 로그 파일 증가 설정을 확인한 결과 로그 파일의 증가량은 1GB로 제한되었습니다.즉, 작업이 실행되어 SQL Server에 로그 공간을 더 할당하도록 요청했지만 로그의 증가 제한이 감소하여 작업이 실패했을 때입니다.로그 증가량을 수정하여 50MB, 무제한 증가량으로 설정했더니 오류가 사라졌습니다.

언급URL : https://stackoverflow.com/questions/21228688/the-transaction-log-for-database-is-full-due-to-log-backup-in-a-shared-host

반응형