공유 호스트의 "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
'programing' 카테고리의 다른 글
열 F의 날짜가 오늘 날짜와 동일한 경우 조건부 형식을 사용하여 행 강조 표시 (0) | 2023.04.19 |
---|---|
출력을 파일과 stdout으로 리디렉션하는 방법 (0) | 2023.04.19 |
python 목록의 n번째 요소 또는 기본값을 가져오는 방법(사용할 수 없는 경우) (0) | 2023.04.19 |
폴더를 선택하도록 OpenFileDialog를 구성하려면 어떻게 해야 합니까? (0) | 2023.04.19 |
SQL에서 EXISTS와 IN의 차이점은 무엇입니까? (0) | 2023.04.19 |