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)
12386정성태10/28/202019237Linux: 34. 사용자 정보를 함께 출력하는 리눅스의 ps 명령어 사용 방법
12385정성태10/28/202016580오류 유형: 673. openssl - req: No value provided for Subject Attribute CN, skipped
12384정성태10/27/202018900오류 유형: 672. AllowPartiallyTrustedCallers 특성이 적용된 어셈블리의 struct 멤버 메서드를 재정의하면 System.Security.VerificationException 예외 발생
12383정성태10/27/202018971.NET Framework: 956. C# 9.0 - (7) 패턴 일치 개선 사항(Pattern matching enhancements) [3]파일 다운로드1
12382정성태10/26/202016703오류 유형: 671. dotnet build - The local source '...' doesn't exist
12381정성태10/26/202018733VC++: 137. C++ stl map의 사용자 정의 타입을 key로 사용하는 방법 [1]파일 다운로드1
12380정성태10/26/202014702오류 유형: 670. Visual Studio - Squash_FailureCommitsReset
12379정성태10/21/202020284.NET Framework: 955. .NET 메서드의 Signature 바이트 코드 분석 [1]파일 다운로드2
12378정성태10/15/202019220.NET Framework: 954. C# - x86/x64 환경에 따라 달라지는 P/Invoke 함수의 export 이름 [1]파일 다운로드1
12377정성태10/15/202019643디버깅 기술: 172. windbg - 파일 열기 시점에 bp를 걸어 파일명 알아내는 방법(Managed/Unmanaged)
12376정성태10/15/202015738오류 유형: 669. windbg - sos의 name2ee 명령어 실행 시 "Failed to request module list." 오류
12375정성태10/15/202017255Windows: 177. 윈도우 탐색기에서 띄우는 cmd.exe 창의 디렉터리 구분 문자가 'Yen(¥)' 기호로 나오는 경우 [1]
12374정성태10/14/202023166.NET Framework: 953. C# 9.0 - (6) 함수 포인터(Function pointers) [1]파일 다운로드2
12373정성태10/14/202016924.NET Framework: 952. OpCodes.Box와 관련해 IL 형식으로 직접 코딩 시 유의할 점
12372정성태10/13/202019323.NET Framework: 951. C# 9.0 - (5) 로컬 함수에 특성 지정 가능(Attributes on local functions)파일 다운로드1
12371정성태10/13/202018238개발 환경 구성: 519. Visual Studio의 Ctrl+Shift+U (Edit.MakeUppercase) 단축키가 동작하지 않는 경우
12370정성태10/13/202018467Linux: 33. Linux - nmcli를 이용한 고정 IP 설정
12369정성태10/12/202022112Windows: 176. Raymond Chen이 한글날에 밝히는 윈도우의 한글 자모 분리 현상 [3]
12368정성태10/12/202018200오류 유형: 668. VSIX 확장 빌드 - The "GetDeploymentPathFromVsixManifest" task failed unexpectedly.
12367정성태10/12/202030695오류 유형: 667. Ubuntu - Temporary failure resolving 'kr.archive.ubuntu.com' [2]
12366정성태10/12/202020029.NET Framework: 950. C# 9.0 - (4) 원시 크기 정수(Native ints) [1]파일 다운로드1
12365정성태10/12/202018382.NET Framework: 949. C# 9.0 - (3) 람다 메서드의 매개 변수 무시(Lambda discard parameters)파일 다운로드1
12364정성태10/11/202019368.NET Framework: 948. C# 9.0 - (2) localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag)파일 다운로드1
12363정성태10/11/202021094.NET Framework: 947. C# 9.0 - (1) 대상으로 형식화된 new 식(Target-typed new expressions) [2]파일 다운로드1
12362정성태10/11/202017629VS.NET IDE: 151. Visual Studio 2019에 .NET 5 rc/preview 적용하는 방법
12361정성태10/11/202019655.NET Framework: 946. C# 9.0을 위한 개발 환경 구성
... 61  [62]  63  64  65  66  67  68  69  70  71  72  73  74  75  ...