문제

문제가있는 데이터베이스가 있습니다. 어떻게 든 로그는 400GB가되었고 데이터베이스는 쓸모 없게되었습니다. 기존의 모든 연결을 데이터베이스에 삭제 한 다음 데이터베이스를 분리하고 싶습니다.

기본적으로 내가 할 일은 거대한 로그 파일을 없애고 새로운 로그 파일을 만들고 작동하는 경우 reattach를 작성하는 것입니다. 그렇지 않다면, 우리는 백업에서 복원 할 것입니다.

도움이 되었습니까?

해결책 3

기본적으로 어떤 명령도 데이터베이스를 Agaisnt를 실행하지 않습니다. 우리가 한 일은 서비스를 끄고 MDF 및 LDF 파일의 빈 사본을 만들고 SQL Server에서 사용하는 파일을 대체하는 것이 었습니다. 그 후 우리는 마지막 백업과 Voila에서 데이터베이스를 복원했으며 다시 작동합니다 (대부분).

다른 팁

로그가 쓸모없는 경우이 명령을 사용할 수 있지만 프로덕션 서버에 적용하기 전에 직접 문서화하십시오.

로그의 페이지를 zgard에 대한 no_log가있는 백업 로그

db 파일의 이름을 보려면 sp_helpdb

DBCC ShrinkFile ( '로그 파일 이름', 0) - 물리적 파일을 지정된 크기로 트렁킹합니다.

공개 트랜잭션이 없다고 확신하면 데이터베이스를 단일 사용자 모드에 넣을 수 있습니다.

Alter Database [Yourdb] No_wait로 Single_user를 설정하십시오

완료되면 다중 사용자 모드 Alter Database [Yourdb] No_wait로 Multi_user 설정으로 다시 넣으십시오.

하다

Truncate_only를 사용한 백업 로그 YourDB와 DBCC ShrinkDatabase (YourDB) 로그 파일을 축소하지 않습니까?

ALTER DATABASE [DB_NAME_HERE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ALTER DATABASE [DB_NAME_HERE] SET MULTI_USER
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top