Express Edition 크기 제한에 도달했는지 확인하는 방법


10

혼란 스러워요. AFAIK SQL Server 2005 Express의 데이터베이스 데이터 크기 는 4GB로 제한 됩니다. 그러나 나는 다음과 같은 결과를 얻었습니다 sp_spaceused.

데이터베이스의 실제 크기는 얼마입니까

  1. DB가 크기 제한에 도달했는지 어떻게 확인할 수 있습니까?
  2. space left내가 할당 한도에 도달 할 때까지 할당되지 않은 공간이 있습니까?
  3. 남은 공간은 얼마입니까?
  4. 않는 index_size한도에서 계산?

msdb.dbo.backupset의 backup_size 열을 확인할 수 있습니다.

답변:


6

여기 내가 뻔뻔스럽게 찢어진 좋은 스크립트가 있습니다 .

use [Insert DB Name]

select
a.FILEID,
[FILE_SIZE_MB] = 
convert(decimal(12,2),round(a.size/128.000,2)),
[SPACE_USED_MB] =
convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] =
convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a

사용 가능한 크기뿐만 아니라 각 DB 파일의 여유 공간 (여러 파일이있을 수도 있고 누군가가 각 개체를 저장하도록 설정했을 수도 있음)을 제공하기 때문에 좋습니다.

예를 들어 여유 공간이 3GB 인 4GB 데이터 파일이 있습니다. 데이터가 많지 않은 MDF가 하나이지만 데이터가 많은 NDF 일 수 있습니다. 이 쿼리는 각 파일의 사용 가능한 크기와 해당 파일이 할당 된 DB를 알려줍니다. 총 크기를 얻으려면 각 DB에 대해 'SPACE_USED_MB'를 모두 추가해야합니다.

행운을 빕니다!

편집 : 이 쿼리에 대한 여기에 게시하여 벗어날 수 있다고 생각하는 지원되지 않는 버그가있는 명령을 제거했습니다. :(



PS 이전의 이전 버전과의 호환성보기를 사용하려는 경우 다음을 사용하여이 부분을 단순화 할 수 있습니다 sysaltfiles(각 데이터베이스로 이동할 필요가 없음).
Aaron Bertrand

1
sysaltfiles에 대해 Aaron에게 감사드립니다. 아직 그 파일을 보지 않았습니다! sp_msforeachdb에는 많은 문제가 있지만 SQL Express 설치를 위해 쿼리를 실행하여 여유 공간이 얼마나 있는지 확인하려고합니다.
Ali Razeghi 0

데이터베이스를 건너 뛰고 오류가 발생하지 않는 경우를 제외하고 ...
Aaron Bertrand

그러나이 경우 최종 사용자가 db 크기 카운트를 원하는 문제라고 생각하십니까? 최종 사용자가 원하는 DB를 건너 뛰었는지 여부를 절대로보고 나쁜 행동을 강화하지 않는 경우에도 게시해서는 안됩니다. 이 시점에서 그 부분을 제거하겠습니다. 맞습니다. 우리는 다른 곳에서 그 명령을 칠할 필요가 없습니다.
알리 Razeghi

5

데이터베이스의 크기는 파일의 크기입니다. 데이터 파일의 실제 크기를 확인하십시오 (트랜잭션 로그는 계산되지 않습니다). 그렇습니다. 공간이 부족한 경우 크기 제한이 10Gig로 증가하므로 SQL 2012 Express로 업그레이드하십시오.


6
SQL 서버 2008 R2 Express는 또한 10 기가 바이트 (단지 완전성에 대한) 제한이있다
marc_s

1

sp_spaceused가 첫 번째 결과 집합에 약 25GB의 database_size를 표시하면 여기에는 데이터 파일 / 인덱스 트랜잭션 로그가 포함됩니다. 실제 데이터와 인덱스 만 SQL Server Express 제한에 포함되므로 두 번째 결과 집합과 같이 약 3.3GB의 데이터가 있고 나머지 22GB는 트랜잭션 로그가됩니다. "sp_helpdb"를 실행하면 두 개의 별도 행에 데이터 사용량 및 트랜잭션 로그 사용량이보고되므로 실제 그림이 표시됩니다.

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