728x90
반응형
* 운영 및 유지보수 하다 보면 트랜잭션 로그파일이 꽉 차서 오류가 발생하게 된다. (MSSQL)
오류가 발생하면 사용량을 확인해서 로그를 축소해주는 작업이 필요하다.
|
org.springframework.jdbc.UncategorizedSQLException: |
|
### Error updating database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다. |
|
### The error occurred while setting parameters |
|
### SQL: INSERT INTO KINGPORK (KING, PORK, DATE) VALUES(?,?,GETDATE()) |
|
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다. |
|
; uncategorized SQLException for SQL []; SQL state [S0002]; error code [9002]; 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 데이터베이스 'KINGPORK'의 트랜잭션 로그가 'LOG_BACKUP'(으)로 인해 꽉 찼습니다. |
|
|
|
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:90) ~[spring-jdbc-4.3.12.RELEASE.jar:4.3.12.RELEASE] |
|
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82) ~[spring-jdbc-4.3.12.RELEASE.jar:4.3.12.RELEASE] |
1 ) 트랜잭션 로그파일을 비우는 방법
- SQL로 처리하는 방법과 SSMS( SQL server Management Studio)의 메뉴로 처리하는 방법이 있는데,
SQL로 처리하는 방법이 더 간단하여 해당 방법만 설명해 드리도록 하겠습니다.
1-1 ) SQL로 처리하는 방법
|
USE KINGPORK; |
|
-- 사용할 DB 선택 |
|
|
|
ALTER DATABASE KINGPORK SET RECOVERY SIMPLE; |
|
-- DB 복구 모델을 SIMPLE로 설정하여 파일을 비운다. |
|
|
|
DBCC SHRINKDATABASE(KINGPORK); |
|
-- DB의 필요 없는 공간을 축소 |
|
|
|
ALTER DATABASE KINGPORK SET RECOVERY FULL; |
|
-- DB 복구 모델을 FULL 로 설정 |
=> SQL 실행하게 되면 " 트랜잭션 로그가 꽉 찼습니다 "라는 오류가 해결된다.
728x90
반응형
'IT > SQLD' 카테고리의 다른 글
mysql 테이블 및 컬럼 케릭터셋 변경 하기 (0) | 2023.10.26 |
---|---|
MySQL character set 확인 및 변경 (0) | 2023.10.26 |
[MSSQL] 트랜잭션(Transaction) (0) | 2023.10.23 |
MSSQL 대량 데이터 삭제 요령 (0) | 2023.10.23 |
MSSQL 로그파일 트랜잭션 내용 정리 (오류 해결 :트랜잭션 로그가 꽉 찼습니다.) (0) | 2023.10.23 |