Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

SQL 서버 - The transaction log for database '...' is full due to 'LOG_BACKUP'. - 두 번째 이야기

예전에 쓴 글에 이어서,

SQL 서버 - The transaction log for database '...' is full due to 'LOG_BACKUP'.
; https://www.sysnet.pe.kr/2/0/1529

개별 log 파일을 truncate 시키는 게 꽤나 귀찮은 작업이어서, 아예 SP를 다음과 같이 만들어 봤습니다.

USE [master]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[Trunc_Log] @dbName VarChar(512)
AS
BEGIN

    DECLARE @sqlquery NVARCHAR(1024)

    SET @sqlquery = N'USE "' + @dbName + '" ALTER DATABASE "' + @dbName + '" SET RECOVERY SIMPLE;';
    exec sp_executesql @sqlquery;
    
    SET @sqlquery = N'USE "' + @dbName + '" DBCC SHRINKFILE ("' + @dbName + '_Log", 7)';
    exec sp_executesql @sqlquery;

    SET @sqlquery =  N'USE "' + @dbName + '" ALTER DATABASE "' + @dbName + '" SET RECOVERY FULL;';
    exec sp_executesql @sqlquery;
END
GO

저렇게 해 두면, SQL Server Agent의 Job으로 간단하게 처리할 수 있습니다.

exec dbo.Trunc_Log 'WSS_Content'

exec dbo.Trunc_Log 'SharePoint_Config'

exec dbo.Trunc_Log 'Search_Service_Application_DB_36084c0412ce487bad3a2ee7bfcd0ea6'

exec dbo.Trunc_Log 'Search_Service_Application_CrawlStoreDB_0d6f4aaf36164621b0e1a3e5ecb4a350'

exec dbo.Trunc_Log "SharePoint_AdminContent_13a13d49-57db-4481-a3bf-7d11c857fc49"

exec dbo.Trunc_Log "WSS_UsageApplication"




물론, 테스트 서버가 아니라면 저런 식으로 무자비하게 로그를 날릴 수는 없을 것입니다. 그런 경우에는 결국 디스크 용량이 모자란 것이므로 여유가 있는 디스크로 데이터베이스 파일을 옮겨야 할 텐데 이는 다음의 스크립트를 실행하면 됩니다.

ALTER DATABASE SharePoint_Config
    MODIFY FILE ( NAME = SharePoint_Config,   
                  FILENAME = 'd:\db\SharePoint_Config.mdf');  
GO
 
ALTER DATABASE SharePoint_Config   
    MODIFY FILE ( NAME = SharePoint_Config_Log,   
                  FILENAME = 'd:\db\SharePoint_Config_Log.ldf');  
GO

실행 후, 해당 데이터베이스 파일(mdf, ldf)을 대상 디렉터리에 옮기고 DB를 OFFLINE 시킨 후 다시 ONLINE으로 붙이면 됩니다.

ALTER DATABASE WSS_UsageApplication SET OFFLINE;  
GO

// ... 파일 복사 후

ALTER DATABASE WSS_UsageApplication SET ONLINE;  
GO

그런데, (테스트 서버인 경우에도) OFFLINE 시킬 때 한참 동안 대기하는 경우가 있습니다. 그럴 때는 그냥 SQL Server 서비스를 내려 버리고 다시 시작하는 것이 더 빠르게 작업을 진행할 수 있습니다.




참고로 다음의 PowerShell 명령어를 이용하면 DB 목록도 자동화할 수 있습니다. ^^

// HOW TO LIST THE SHAREPOINT 2010 DATABASES THAT ARE IN USE ? EVENTUALLY TO A FILE ?
// ; https://theblobfarm.wordpress.com/2011/09/29/how-to-list-the-sharepoint-2010-databases-that-are-in-use-eventually-to-a-file/

PS C:\> Get-SPDatabase | Sort-Object Name | Select Name

Name
----
AppMng_Service_DB_7a3a6de8c3af46bc97b79d0602d26f6a
Search_Service_Application_AnalyticsReportingStoreDB_579571845a0b44af963fa8f9ac35dc70
Search_Service_Application_CrawlStoreDB_0d6f4aaf36164621b0e1a3e5ecb4a350
Search_Service_Application_DB_36084c0412ce487bad3a2ee7bfcd0ea6
Search_Service_Application_LinksStoreDB_269342b3f3cb46e7a56cbcf7bd652cce
SharePoint_AdminContent_13a13d49-57db-4481-a3bf-7d11c857fc49
SharePoint_Config
StateService_8453580cc877412eb9fe4d4c7a591472
User Profile Service Application_ProfileDB_e2ca01fc763f48f794e8caf055061b0c
User Profile Service Application_SocialDB_bf498a5c824c4f629cf0852c4b1a7a29
User Profile Service Application_SyncDB_e0517bc2f6764472b70681a15d8d457b
WordAutomationServices_b5b9e659208f48cbba978dd228bd61be
WSS_Content
WSS_UsageApplication




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 6/19/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12072정성태12/9/201910929오류 유형: 583. iisreset 수행 시 "No such interface supported" 오류
12071정성태12/9/201913239오류 유형: 582. 리눅스 디스크 공간 부족 및 safemode 부팅 방법
12070정성태12/9/201915408오류 유형: 581. resize2fs: Bad magic number in super-block while trying to open /dev/.../root
12069정성태12/2/201911761디버깅 기술: 139. windbg - x64 덤프 분석 시 메서드의 인자 또는 로컬 변수의 값을 확인하는 방법
12068정성태11/28/201915113디버깅 기술: 138. windbg와 Win32 API로 알아보는 Windows Heap 정보 분석 [3]파일 다운로드2
12067정성태11/27/201911766디버깅 기술: 137. 실제 사례를 통해 Debug Diagnostics 도구가 생성한 닷넷 웹 응용 프로그램의 성능 장애 보고서 설명 [1]파일 다운로드1
12066정성태11/27/201911631디버깅 기술: 136. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석 - OracleCommand.ExecuteReader에서 OpsSql.Prepare2 PInvoke 호출 분석
12065정성태11/25/201910501디버깅 기술: 135. windbg - C# PInvoke 호출 시 마샬링을 담당하는 함수 분석파일 다운로드1
12064정성태11/25/201912699오류 유형: 580. HTTP Error 500.0/500.33 - ANCM In-Process Handler Load Failure
12063정성태11/21/201911721디버깅 기술: 134. windbg - RtlReportCriticalFailure로부터 parameters 정보 찾는 방법
12062정성태11/21/201911806디버깅 기술: 133. windbg - CoTaskMemFree/FreeCoTaskMem에서 발생한 덤프 분석 사례 - 두 번째 이야기
12061정성태11/20/201911964Windows: 167. CoTaskMemAlloc/CoTaskMemFree과 윈도우 Heap의 관계
12060정성태11/20/201912338디버깅 기술: 132. windbg/Visual Studio - HeapFree x64의 동작 분석
12059정성태11/20/201911939디버깅 기술: 131. windbg/Visual Studio - HeapFree x86의 동작 분석
12058정성태11/19/201912734디버깅 기술: 130. windbg - CoTaskMemFree/FreeCoTaskMem에서 발생한 덤프 분석 사례
12057정성태11/18/20199868오류 유형: 579. Visual Studio - Memory 창에서 유효한 주소 영역임에도 "Unable to evaluate the expression." 오류 출력
12056정성태11/18/201913693개발 환경 구성: 464. "Microsoft Visual Studio Installer Projects" 프로젝트로 EXE 서명 및 MSI 파일 서명 방법파일 다운로드1
12055정성태11/17/20199427개발 환경 구성: 463. Visual Studio의 Ctrl + Alt + M, 1 (Memory 1) 등의 단축키가 동작하지 않는 경우
12054정성태11/15/201910762.NET Framework: 869. C# - 일부러 GC Heap을 깨뜨려 GC 수행 시 비정상 종료시키는 예제
12053정성태11/15/201912451Windows: 166. 윈도우 10 - 명령행 창(cmd.exe) 속성에 (DotumChe, GulimChe, GungsuhChe 등의) 한글 폰트가 없는 경우
12052정성태11/15/201911556오류 유형: 578. Azure - 일정(schedule)에 등록한 runbook이 1년 후 실행이 안 되는 문제(Reason - The key used is expired.)
12051정성태11/14/201914020개발 환경 구성: 462. 시작하자마자 비정상 종료하는 프로세스의 메모리 덤프 - procdump [1]
12050정성태11/14/201911697Windows: 165. AcLayers의 API 후킹과 FaultTolerantHeap
12049정성태11/13/201911793.NET Framework: 868. (닷넷 프로세스를 대상으로) 디버거 방식이 아닌 CLR Profiler를 이용해 procdump.exe 기능 구현
12048정성태11/12/201912561Windows: 164. GUID 이름의 볼륨에 해당하는 파티션을 찾는 방법
12047정성태11/12/201914407Windows: 163. 안전하게 eject시킨 USB 장치를 물리적인 재연결 없이 다시 인식시키는 방법
... 61  62  [63]  64  65  66  67  68  69  70  71  72  73  74  75  ...