2009-11-23 4 views
5

비교적 오래된 서버에서 실행되는 대부분의 팀 데이터베이스를 보유하고있는 SQL Server 2000 데이터베이스가 있습니다.언제 SQL Server 데이터베이스를 압축합니까?

요즘 우리는 다양한 응용 프로그램에서 데이터베이스 호출 중 일부에서 이상한 속도 저하 문제를 겪고 있습니다. (그래서 특정 애플리케이션이 아님을 알고 있습니다.)

일부 데이터베이스를 압축해야합니다. 이렇게하기위한 몇 가지 일반적인 경험 법칙은 무엇입니까?

일반적인 유지 관리로 간주되는 데이터베이스를 압축하고 있습니까? 이 속도 저하로 이어질 수있는 데이터베이스, 테이블 또는 레코드의 매직 넘버가 있습니까? 따라서 압축이 될 수 있습니까? 적극적으로 사용하는 데이터베이스의

번호 : 데이터베이스의 6

평균 크기 : Fogbugz에를 제외하고이 20MB, 즉 당신은 SQL Server 데이터베이스를 압축하지 않습니다에 대한 11,000메가바이트

+0

이것은 서버 오류에 더 적합 할 수 있습니다. 그러나 데이터베이스 크기는 실제로 작습니다. 압축으로 인해 성능상의 이점을 얻을 수 있을지는 의문입니다. 또한 압축은 일반적으로 공간을 재생하기 위해 수행됩니다. 데이터베이스가 압축되지 않은 경우 성능에 많은 영향을 미치지 않아야합니다. – Joey

답변

4

이다 (당신은 그것을 "SHRINK") 당신이 정말로 필요하지 않는 한. 그것은 MS 액세스 아니다 및 사용되지 않는 공간을 회수하지 않습니다 (물론, 그것은 할 수 있지만, 마스크 더 중요한 문제) 가능성이

, 당신은 인덱스/통계 문제가 : 데이터의 통계 중

  • 조각난 인덱스
  • 없는 인덱스 (작은) 해당 데이터베이스의 크기와 선발을 위해

, 나는 당신이 보는 게 좋을 것

" maintenance plans"에서
2

에 대한 팁 정상 상태

  • 에 확인하기 위해 시작하는, 당신이 당신의 데이터베이스에해야 할 유지 보수의 다양한 비트가있다.

    10MB는 매우 작은 데이터베이스이므로 데이터베이스 축소는 유용하지 않습니다 ("컴팩트"는 SQL Server에서 축소 할 수있는 MS Access 데이터베이스로 수행 할 작업입니다).

    대신 테이블에서 자주 쿼리되는 열에 적합한 인덱스가 없을 가능성이 훨씬 높습니다. 또는 가지고있는 색인이 조각화되어 있습니다.

    시작하기에 좋은 곳은 어떤 쿼리가 오랜 시간이 걸리는지 확인하는 것입니다 (SQL 프로필러 및 모니터를 시작하는 것이 좋습니다). 그런 다음 해당 쿼리가 수행중인 작업, 액세스중인 테이블/열 및 적절한 인덱스가 있는지 검토 할 수 있습니다.