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.