SQL Server 데이터베이스에는 사용자가 데이터베이스를 수정하는 작업을 기록하는 로그 파일이 있습니다. 로그 파일을 직접 삭제하고 로그를 비우면 데이터베이스 로그를 지울 수 있습니다.
MS 데이터베이스를 사용하는 친구들은 모두 문제를 알고 있다. CD 의 공간은 쉽게 점유된다. 원래 시스템 디스크 파티션이 비교적 작기 때문에 데이터베이스가 사용 중에 로그 파일 수를 늘리고 데이터베이스 성능을 저하시켜 많은 디스크 공간을 차지하기 때문입니다. SQL Server 데이터베이스에는 사용자가 데이터베이스를 수정하는 작업을 기록하는 로그 파일이 있습니다. 로그 파일을 직접 삭제하고 로그를 비우면 데이터베이스 로그를 지울 수 있습니다.
먼저 로그를 삭제합니다
1. 데이터베이스를 분리합니다. 데이터베이스를 분리하기 전에 데이터베이스의 전체 백업을 수행해야 합니다. 데이터베이스를 선택하시겠습니까? 오른쪽? 임무? 분리하다.
연결 삭제를 선택합니다.
분리 후에는 데이터베이스 목록에 분리된 데이터베이스가 표시되지 않습니다.
2. 로그 파일을 삭제합니다
3. 데이터베이스를 첨부합니다. 첨부할 때 로그 파일을 찾을 수 없다는 메시지가 표시됩니다.
데이터베이스 정보의 ldf 파일을 삭제하려면 다음과 같이 하십시오.
데이터베이스를 첨부하면 504K 크기의 새 로그 파일이 생성됩니다.
명령을 사용하여 이 작업을 수행할 수도 있습니다.
Master 사용
Execsp _ detach _ db @ dbname =' testdb';
Execsp _ attach _ single _ file _ db @ dbname =' testdb', @physname='D: 스크립트 Microsoft SQL ServerM
SSQL 10 입니다. SQL2008MSSQLDATATestDB.mdf
둘째, 로그를 지웁니다
이 명령은 SQL Server 2005 및 2000 에서는 지원되지만 SQL Server 2008 에서는 지원되지 않습니다.
NO_LOG 를 사용하여 트랜잭션 TestDB 덤프
셋째, 데이터베이스 파일을 축소합니다
DBCC 축소 파일 ('TestDB_log', 1)
넷째, 트랜잭션 로그를 자릅니다
NO_LOG 를 사용하여 로그 TestDB 백업
SQL Server 2008 에서는 이 명령을 지원하지 않지만 SQL Server 2005 및 2000 에서는 사용할 수 있습니다.
SQLServer2005 로그 파일 지우기
-나중에 로그를 통해 데이터를 복구할 수 있도록 로그를 백업하는 것이 좋습니다. 。 다음은 로그 처리 방법입니다. 일반적으로 4 단계와 6 단계는 권장되지 않습니다. 4 단계는 안전하지 않아 손상될 수 있습니다.
데이터베이스 또는 손실된 데이터에 따르면 6 단계에서 로그가 상한선에 도달하면 향후 데이터베이스 처리가 실패하고 로그를 지운 후에만 복구할 수 있습니다. -*/-아래의 모든 라이브러리 이름은 당신이 원하는 것을 의미합니다.
처리된 데이터베이스의 라이브러리 이름은 1 입니다. _LOG2 가 없는 빈 로그 덤프 트랜잭션 라이브러리 이름입니다. 트랜잭션 로그 잘라내기: 백업 로그 라이브러리 이름입니다.
NO_LOG3. 데이터베이스 파일 축소 (압축하지 않으면 데이터베이스 파일이 엔터프라이즈 관리자를 감소시키지 않음-압축할 데이터베이스를 마우스 오른쪽 버튼으로 클릭-모든 작업-데이터 축소.
라이브러리-파일 축소-로그 파일 선택-축소 모드에서 XXM 으로 축소를 선택합니다. 이 경우 축소할 수 있는 최소 m 수가 제공됩니다. 이 숫자를 직접 입력하는 것은 사실이다.
확인-데이터 파일 선택-축소 모드에서 XXM 으로 축소를 선택하면 됩니다. 여기에 축소할 수 있는 최소 m 수가 제공됩니다. 이 번호를 직접 입력하고 확인하세요.
예, SQL 문을 사용하여 데이터베이스 DBCC Shrink 데이터베이스 (라이브러리 이름) 를 축소할 수도 있습니다. 지정된 데이터 파일을 축소하고 1 은 파일 번호입니다.
Select * from sysfiles DBCC 수축 파일 (1) 4 문을 찾습니다. 로그 파일 (SQL 7.0 의 경우 조회 점에서만 찾을 수 있습니다.
파서에서) a. 데이터베이스 분리: 엔터프라이즈 관리자-서버-데이터베이스-마우스 오른쪽 버튼 클릭-데이터베이스 분리 B. 내 컴퓨터에서 로그 파일 삭제 C. 데이터베이스 추가: 엔터프라이즈.
관리자-서버-데이터베이스-마우스 오른쪽 버튼-추가 데이터베이스 이 방법은 크기가 500 k 이상인 새 로그를 생성하거나 코드를 사용합니다. 다음 예는 pub 를 분리하지만,
그런 다음 pubs 의 파일을 현재 서버에 첨부합니다. A. detachexec sp _ detach _ db @ dbname =' library name' B. 로그 파일 삭제 C. 그리고
Attach exec sp _ attach _ single _ file _ db @ dbname =' library name', @ physname =' c: program file
MSSQLData 라이브러리 이름입니다. Mdf'5 입니다. 향후 자동 축소를 위해 다음과 같이 설정합니다. 엔터프라이즈 관리자-서버-데이터베이스를 마우스 오른쪽 단추로 클릭-속성-옵션-자동 수집을 선택합니다
약어 "-SQL 문 설정 방법: EXEC sp_dboption' 라이브러리 이름',' autoshrink',' TRUE'6. 앞으로 로그가 너무 커지는 것을 막으려면 엔터프라이즈 관리자-서버.
서버-마우스 오른쪽 버튼 데이터베이스-속성-트랜잭션 로그-파일 증가를 xM(x 으로 제한 (x 는 허용되는 최대 데이터 파일 크기)-SQL 문 설정 방법: alter data.
기본 라이브러리 이름 수정 파일 (name= 논리적 파일 이름, maxsize=20)
SQL Server 데이터베이스를 장기간 사용하면 로그 파일이 점차 커질 수 있습니다. 데이터베이스를 백업하고 누구에게나 보내는 것은 어렵습니다.
다음 명령문을 실행하여 로그 파일을 지우며 약 1M 만 남습니다.
NO_LOG 를 사용하여 트랜잭션 데이터베이스 이름 덤프
DBCC SHRINKDATABASE ('데이터베이스 이름', 잘림만)
SQL 서비스를 다시 시작하지 않고 SQLServer 시스템 로그를 삭제합니다.
SQLServer 의 시스템 로그가 너무 커서 SQLServer 시작 실패와 같은 일련의 문제가 발생할 수 있습니다. 오늘 이 문제에 봉착해서 인터넷을 검색해 보았다.
해결 방법은 삭제하는 것이지만 현재 ErrorLog 는 SQL 에서 사용 중이므로 삭제할 수 없습니다. 제거할 경우 SQL server 만 중지할 수 있습니다. 다른 방법은 없나요?
대답은' 예' 입니다. EXEC sp_cycle_errorlog 저장 프로시저를 사용하십시오.
주다주석을 달다
SQL Server 를 시작할 때마다 현재 오류 로그의 이름은 Errorlog. 1 으로 바뀝니다. Errorlog. 1 은 errorlog.2 가 되고, errorlog.2 는 errorlog.3 이 되는 방식입니다. Sp_cycle_errorlog 를 사용하면 서버를 중지했다가 다시 시작하지 않고도 오류 로그 파일을 순환할 수 있습니다.