데이터베이스 축소와 파일의 차이점은 무엇입니까?


답변:


36

간단히...

  • DBCC ShrinkDatabase(): 모든 파일 축소
  • DBCC ShrinkFile(): 하나의 파일

예를 들어, 로그 백업 문제가있을 수 있으며 제어가 불가능하여을 실행 DBCC ShrinkFile()합니다.

당신 은 거의 사용하지 않습니다 ShrinkDatabase.

두 명령을 사용하기 전에 축소에 관한 Paul Randal의 블로그 를 읽으십시오. .

명확한 이유가 없으면 파일 중 하나 (mdf, ldf)를 축소하지 않았습니다. 파일은 크기가 크기 때문에 필요한 크기입니다. 정기적 인 유지 관리의 일환으로 제안한 블로그는 SQL Server의 작동 방식을 이해하지 못할 수 있습니다.


2
고마워요 네 말이 맞아 방금 브렌트 오자르 (Brent Ozar) 블로그를 읽었습니다. 그는 자신의 블로그 "데이터베이스 파일 축소 중지. 심각하게. 지금."이라고 맹세합니다.

그리고 같은 일을 할 때 왜 다른 주장이 있습니까?
Stefan Steinegger

2

기본 데이터베이스에는 두 개의 파일이 있습니다

MyDb.MDF 및 MyDb.LDF

MDF 파일은 기본 파티션이 상주하는 데이터 파일입니다. 필요에 따라 데이터베이스를 여러 파일로 분할 할 수 있습니다. 이는 데이터 (단일 또는 다중 테이블)가 일반적으로 별도의 하드 드라이브에있는 여러 파일에 걸쳐 더 높은 성능을 달성 할 수 있도록하기위한 것입니다.

데이터베이스를 축소하면 해당 데이터베이스와 관련된 모든 파일이 축소됩니다.

파일을 축소하면 선택한 파일 만 축소됩니다.

데이터베이스 축소 명령 만 사용해야합니다. 그러나 일반적으로이 작업을 수행하는 것은 좋지 않으며 권장되는 방법도 아닙니다.

문제가 무엇인지 알려 주시면 문제 해결 방법에 대한 자세한 정보를 제공해 드리겠습니다.


아 ..issue는 프로덕션 서버에 디스크 공간이 부족합니다. 더 많은 디스크를 추가하는 것이 이상적이지만 우리가 무엇을 할 수 있는지 궁금합니다.

0

대부분 dbcc shrinkfile 만 사용합니다. sp_helpdb 'databasename'은 데이터베이스의 데이터 및 로그 파일 목록을 제공합니다.

mnagement studio를 마우스 오른쪽 단추로 클릭하면 tasks-> shrink-> file에서 축소 할 수있는 비율 (%)을 제공합니다.

우리가 축소 한 것은 디스크에서 여유 공간으로 다시 사용할 수 있습니다.

예 : 'databasename'dbcc shrinkfile (fileid, 100) 사용

여기 100은 100MB입니다

fileid는 sp_helpdb 'databasename'에서 얻을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.