1101: Could not allocate a new page because of insufficient disk space in filegroup (파일 그룹의 디스크 공간 부족으로 새 페이지를 할당할 수 없음)
SQL Server의미
SQL Server가 객체에 새 페이지를 할당하려 했지만 파일 그룹의 디스크 공간이 부족하다. 데이터 파일이 커질 수도 없고 빈 페이지를 찾을 수도 없어 쓰기가 실패한다.
원인
데이터 파일이 있는 디스크가 가득 찼거나, 파일의 autogrow가 비활성화되었거나 MAXSIZE에 도달했거나, 파일 그룹의 모든 파일이 크기 상한에 도달했다. 대량 INSERT/인덱스 생성 중에 흔하다.
해결 방법
디스크 공간을 확보하거나 파일 그룹에 공간을 추가한다. 파일을 키우거나 autogrow를 활성화한다: ALTER DATABASE db MODIFY FILE (NAME = logical_name, SIZE = 20GB, MAXSIZE = UNLIMITED, FILEGROWTH = 512MB); 또는 파일 그룹에 새 파일을 (다른 디스크에) 추가한다. 파일 사용량은 sys.database_files로, 여유 공간은 DBCC SQLPERF로 확인한다.
같은 데이터베이스의 다른 항목
- 601Could not continue scan with NOLOCK due to data movement (데이터 이동으로 NOLOCK 스캔을 계속할 수 없음)
- 50000Custom error raised with RAISERROR (RAISERROR로 발생시킨 사용자 정의 오류)
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION (대응하는 BEGIN TRANSACTION이 없는 COMMIT TRANSACTION)
- 3729Cannot DROP because it is being referenced by object (객체가 참조 중이어서 DROP 불가)
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement (객체가 DDL로 변경되어 스냅샷 격리 트랜잭션 실패)
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths (FOREIGN KEY 제약 조건이 순환 또는 다중 cascade 경로를 만들 수 있음)
- 9421XML parsing: illegal xml character