기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
데이터 파일 추가 및 분배
EnterpriseOne과 함께 제공되는 SQL Server 데이터베이스에 추가 파일이 유용한 경우가 많습니다. 추가 파일을 사용하면 스토리지 및 프로세서 코어 간에 최적의 균형을 유지할 수 있습니다. 파일 분배는 다단계 프로세스입니다. 대부분의 단계에서 데이터베이스 객체에 대한 단독 액세스가 필요하므로 데이터베이스에 액세스하는 EnterpriseOne과 기타 시스템을 오프라인으로 전환해야 합니다.
파일 크기 계산 완료
적절한 데이터베이스 파일 크기를 찾으려면 먼저 다음 쿼리를 사용하여 현재 ROW 데이터의 크기를 검사합니다.
USE JDE_PRIST920 SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'
그리고 계산을 완료하고 값 열을 작성합니다.
행 | 명칭 | 예제 | 값 | 설명 |
---|---|---|---|---|
1 | 현재 행 크기 | 1TB | 이전 쿼리의 결과. | |
2 | 계획된 성장 | 20% | 안전 마진을 포함한 향후 몇 개월 동안의 예상 성장률. | |
3 | 필수 크기 | 1.2TB | 행 1 x 행 2. | |
4 | 파일 수 | 8 | 대상 파일 수 | |
5 | 파일당 크기 | 150GB | 행 3 ÷ 행 4. | |
6 | 자동 성장률 | 10% | 자동 성장을 위한 크기. 조각화를 최소화하려면 10%가 적당합니다. | |
7 | 자동 성장 크기 | 15GB | 행 5 x 행 6. |
새 파일 생성
다음 스크립트를 템플릿으로 사용하여 데이터베이스에 파일을 추가합니다. 다음 파라미터를 수정합니다.
-
JDE-PRIST920
을 파일을 추가하려는 데이터베이스의 이름으로 변경합니다. -
NAME
에 추가하려는 각 파일의 논리적 이름을 지정합니다. -
FILENAME
에 추가하려는 각 파일의 물리적 이름을 지정합니다. -
FILEGROWTH
에 이전 표의 7행에서 계산한 값을 사용합니다. -
SIZE
에 이전 표의 5행에 있는 값을 지정합니다.
USE master; GO ALTER DATABASE JDE_PRIST920 MODIFY FILE (NAME = JDE_PRIST920_Data, FILEGROWTH = 15GB); GO ALTER DATABASE JDE_PRIST920 ADD FILE (NAME = JDE_PRIST920_Data2, FILENAME = 'M:\DATA\PRIST920_Data2.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data3, FILENAME = 'M:\DATA\PRIST920_Data3.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data4, FILENAME = 'M:\DATA\PRIST920_Data4.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data5, FILENAME = 'M:\DATA\PRIST920_Data5.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data6, FILENAME = 'M:\DATA\PRIST920_Data6.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data7, FILENAME = 'M:\DATA\PRIST920_Data7.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_Data8, FILENAME = 'M:\DATA\PRIST920_Data8.ndf', SIZE=150GB, FILEGROWTH = 15GB), (NAME = JDE_PRIST920_TEMP, FILENAME = 'M:\DATA\PRIST920_TEMP.ndf', SIZE=150GB, FILEGROWTH = 15GB) GO
임시로 MDF 파일 비우기
파일이 생성되면 각 파일에 대해 다음 명령을 실행하여 MDF에서 NDF 파일로 데이터를 마이그레이션합니다. 데이터베이스의 파일 이름을 반영하도록 파일 이름을 조정합니다.
USE JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, EMPTYFILE)
일부 콘텐츠를 NDF 파일로 이동할 수 없기 때문에 EMPTYFILE
명령을 실행하면 오류가 발생합니다. 이 오류 메시지는 무시할 수 있습니다.

MDF 파일 크기 조정
MDF 파일의 크기를 대상 크기로 줄이려면 다음 명령을 실행합니다. 표의 계산 행 5 값을 반영하도록 파일 크기를 조정합니다.
JDE_PRIST920 DBCC SHRINKFILE (JDE_PRIST920_Data, 150000);
NDF 파일로 이동할 수 없는 콘텐츠 배치로 인해 SHRINKFILE
명령이 실패하는 경우가 있습니다. 이 경우 DBCC DBREINDEX
명령을 실행하고 프로세스를 다시 실행하여 파일을 비운 다음 SHRINKFILE
작업을 다시 시도해야 할 수 있습니다.
정리
대상 파일이 생성되고 MDF 파일의 크기가 올바르게 지정되면 다음 명령을 사용하여 TEMP 파일의 데이터를 MDF 파일로 다시 마이그레이션합니다. 데이터베이스의 파일 이름을 반영하도록 파일 이름을 조정합니다.
DBCC SHRINKFILE (JDE_PRIST920_TEMP, EMPTYFILE)
파일이 비어 있으면 다음 명령을 사용하여 제거할 수 있습니다.
ALTER DATABASE JDE_PRIST920; REMOVE FILE JDE_PRIST920_TEMP;
결과 검증
분배 후 데이터베이스의 현재 디스크 공간 사용률을 확인하려면 다음 스크립트를 실행합니다.
USE JDE_PRIST920 SELECT DB_NAME() AS DbName, type_desc, CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS SpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'; SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0) AS TotalSpaceUsedMB FROM sys.database_files WHERE type IN (0,1) AND type_desc = 'ROWS'
다음과 같이 출력됩니다 일부 콘텐츠는 MDF 파일에만 존재할 수 있으므로 파일이 완벽하게 분배되는 경우는 거의 없습니다.
