데이터베이스 서버에는 2 개의 디스크가 있습니다. 디스크 C는 파일 탐색기에 따라 40GB의 여유 공간이 있고 디스크 D는 꽉 찼습니다. 데이터베이스는 두 드라이브에 저장된 파티션으로 구성됩니다. 나는 다음과 같은 SQL 명령을 실행하면 내가 MDF 파일에 남아있는 그 공간이 3GB에 있으며 매일 감소 참조 데이터베이스하드 드라이브 공간 대 데이터베이스 공간
select name
, filename
, convert(decimal(12,2),round(a.size/128.000,2)) as FileSizeMB
, convert(decimal(12,2),round(fileproperty(a.name,'SpaceUsed')/128.000,2)) as SpaceUsedMB
, convert(decimal(12,2),round((a.size-fileproperty(a.name,'SpaceUsed'))/128.000,2)) as FreeSpaceMB
from dbo.sysfiles a
에 남아있는 사용 가능한 공간을 볼 수 있습니다. 공간이 남아 있지 않으면 데이터베이스가 단순히 파쇄됩니까? 아니면 자동 성장하고 C 드라이브에서 사용할 수있는 공간을 확보 할 것인가? 어떻게하면 더 많은 하드 드라이브 공간을 자동으로 요청하도록 설정할 수 있습니까?
내가 파티션이라고 말했을 때 나는 파일을 의미했다. 우리의 데이터베이스는 잘 구성되어 있지 않고 모범 사례를 따르지 않습니다. 현재 각각 다른 파일 그룹에 속하며 2 개의 드라이브에 배치 된 16 개의 파일이 있습니다. 우리의 트랜잭션 로그에는 4Gb가 남았으므로 위험은 없습니다. 하지만 매일 메인 mdf 파일이 쓰기 작업에 사용되고 있으므로 여유 공간이 줄어들고 있습니다. 내 질문은 하드 드라이브가 40GB 이상 남아있는 것처럼 보이기 때문에이 mdf 파일에 더 많은 공간을 추가 할 수 있는지 여부입니다. –
@ ConstantinosPapakonstantinou, 가장 문제가 많은 fliegroup에 다른 파일을 추가하여이 드라이브에 배치 할 수 있습니다. 사용 가능한 여유 공간이 더 균일해질 때까지 SQL Server는 거의 독점적으로 사용을 시작해야합니다. –