2012-02-13 2 views
0

SQL 데이터베이스에서 데이터를 삭제 한 후 로그 파일에 저장된 데이터를 삭제했거나 데이터베이스에서 영구적으로 삭제 되었습니까?SQL 삭제 된 데이터가 로그 파일에 저장되거나 데이터베이스에서 영구적으로 삭제됨

데이터베이스 로그 파일에서 데이터를 삭제할 때 크기가 커지면 그 이유는 무엇입니까?

는 파일 크기를 축소 할 데이터베이스를 축소 한 후

편집 한 다섯 번째 행의 ::

당신이 DESC 이유 incresed 로그 파일 만 삭제 명령을 완료 한 후에는 디스크 공간을 확보되지 않는 이유 레코드는 그대로 로그 파일에 유지됩니다. 로그 파일에 저장하지 않고 데이터를 삭제할 수 있습니까? 파일에서 약 2 백만 개의 데이터를 삭제 했으므로 디스크의 16GB 공간을 채울 것입니다.

답변

0

로그 동작을 설명했듯이 - 축소 이후에는 크기가 줄어 듭니다. DB의 단순 복구 모델을 사용합니다.

그리고

당신이 요구하는 경우에 로그 파일에 남아있는 삭제 된 데이터의 사본이 더있다 - 데이터를 복구하는 방법 - 더는 임의의 종래의 방법은 없습니다.

데이터 보안을 요청하고 삭제 된 데이터가 DB의 어딘가에 남아 있다고 염려하면 ghosted records을 참조하십시오. 그리고 분명히 일부 데이터는 DB 파일 유형 (데이터 및 로그)의 타사 도구로 복구 할 수 있습니다. SQL 서버 인해 자성 보증에 대한 모든 부분적으로 삭제 된 데이터를 복원한다 - 그것이 실패하는 경우 때문에,DELETE 때까지 명령이 완료 삭제 되는 모든 데이터를 보유하고 있기 때문에

DB를 로그의 크기가 증가합니다.

추가 답변 :

  • 아니, 이미 자동으로 축소하지 않습니다에서 자란 로그 파일 이후 로그 파일
  • 에 저장하지 않고 데이터를 삭제할 수 없습니다. 이 같은 모든 데이터를 삭제하는

대신 강하게 생산 환경에 작은 덩어리에서 삭제

  • 시도하지 않는 것이 좋습니다 일부 shrink operations, 는, 예를 볼 수행해야 DB에있는 파일의 크기를 줄이려면 :

    DELETE FROM YourTable 
    

    작은 덩어리에서 삭제 :

    WHILE 1 = 1 
    BEGIN 
        DELETE TOP (10000) FROM YourTable 
        IF @@ROWCOUNT = 0 BREAK 
    END 
    
  • +0

    을 시간 오에 f 데이터베이스 테이블에서 데이터를 삭제하면 tempdb 및 templog의 크기가 증가합니다. 이유는 무엇입니까? – user847455

    +0

    필요 없음 .. –

    +0

    질문에 대한 나의 업데이트를 참조하십시오. – user847455

    관련 문제