Azure SQL Managed Instance에 대한 tempdb 설정 구성
적용 대상: Azure SQL Managed Instance
이 문서에서는 Azure SQL Managed Instance에 대한 tempdb
설정을 구성하는 방법을 설명합니다.
Azure SQL Managed Instance를 사용하면 다음을 구성할 수 있습니다.
tempdb
파일 수tempdb
파일 증가분- 최대
tempdb
크기
tempdb
설정은 인스턴스가 다시 시작되거나 업데이트된 후에도 또는 장애 조치(failover)가 발생한 경우에도 유지됩니다.
개요
tempdb
는 Azure SQL Managed Instance와 함께 제공되는 기본 시스템 데이터베이스 중 하나입니다. tempdb
의 구조는 다른 사용자 데이터베이스 구조와 동일합니다. 차이점은 비지속적 스토리지에 사용되므로 트랜잭션이 최소한으로 기록된다는 점입니다.
tempdb
는 삭제하거나, 분리하거나, 오프라인으로 전환하거나, 이름을 바꾸거나, 복원할 수 없습니다. 이러한 작업을 시도하면 오류가 반환됩니다. tempdb
는 서버 인스턴스가 시작될 때마다 다시 생성되며, 인스턴스 업데이트 관리 작업 또는 장애 조치(failover) 후 서비스가 다시 시작될 때 이전 세션 중에 tempdb
에서 생성되었을 수 있는 모든 개체가 유지되지 않습니다.
{1}의 워크로드는 다른 사용자 데이터베이스의 워크로드와 다릅니다. 개체와 데이터는 자주 생성되고 제거되며 동시성이 매우 높습니다. 각 관리형 인스턴스에는 하나의 tempdb
만 있습니다. 여러 데이터베이스와 애플리케이션이 인스턴스에 연결되어 있더라도 모두 동일한 tempdb
데이터베이스를 사용합니다. 서비스가 많이 사용되는 tempdb
에 페이지를 할당하려고 하면 경합이 발생할 수 있습니다. 경합 정도에 따라 관련된 tempdb
와 관련된 쿼리 및 요청이 응답하지 않을 수 있습니다. 이것이 tempdb
가 서비스 성능에 중요한 이유입니다.
tempdb
파일 수
tempdb
데이터 파일 수를 늘리면 각 데이터 파일에 대해 하나 이상의 GAM 및 SGAM 페이지가 생성되어 tempdb
동시성을 개선하고 PFC 페이지 경합을 줄일 수 있습니다. 그러나 tempdb
데이터 파일 수를 늘리면 다른 성능에 영향을 미칠 수 있으므로 프로덕션 환경에서 구현하기 전에 철저히 테스트합니다.
기본적으로 Azure SQL Managed Instance는 12개의 tempdb
데이터 파일과 1개의 tempdb
로그 파일을 만들지만 이 구성을 수정할 수 있습니다.
tempdb
파일 수를 수정하는 데는 다음과 같은 제한 사항이 있습니다.
- 새 파일의 논리적 이름은 대/소문자를 구분하지 않으며 최대 16자이며 공백은 없습니다.
- 최대
tempdb
파일 수는 128개입니다.
참고 항목
새 파일을 추가한 후에는 서버를 다시 시작할 필요가 없습니다. 그러나 빈 파일은 더 높은 우선 순위로 채워지고 시스템을 다시 분산할 때까지 페이지를 할당하기 위한 라운드 로빈 알고리즘이 손실됩니다.
SSMS(SQL Server Management Studio)와 T-SQL(Transact-SQL)을 모두 사용하여 Azure SQL Managed Instance의 tempdb
에 대한 파일 수를 변경할 수 있습니다.
SSMS(SQL Server Management Studio)를 사용하여 tempdb
파일 수를 수정할 수 있습니다. 이렇게 하려면 다음 단계를 따르십시오.
SSMS에서 관리되는 인스턴스에 연결합니다.
개체 탐색기에서 데이터베이스를 확장한 다음, 시스템 데이터베이스를 확장합니다.
tempdb
를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.페이지 선택에서 파일을 선택하여 기존
tempdb
파일 수를 확인합니다.파일을 추가하려면 추가를 선택한 다음, 행의 새 데이터 파일에 대한 정보를 제공합니다.
tempdb
파일을 제거하려면 데이터베이스 파일 목록에서 제거할 파일을 선택한 다음, 제거를 선택합니다.
증가분
tempdb
파일 증가는 tempdb
를 사용하는 쿼리에 성능에 영향을 미칠 수 있습니다. 따라서 tempdb
데이터 파일 증가분이 너무 작으면 범위 조각화가 발생할 수 있고, 너무 크면 증가가 느려지거나 증가 공간이 충분하지 않으면 증가하지 않을 수 있습니다. tempdb
파일 증가분에 대한 최적 값은 워크로드에 따라 달라집니다.
SQL Managed Instance의 기본 증가분은 tempdb
데이터 파일의 경우 254MB, tempdb
로그 파일의 경우 64MB이지만 워크로드에 맞게 조정하고 성능을 조정하도록 증가분을 구성할 수 있습니다.
다음을 고려하십시오.
- 파일 증가 매개 변수는
int_growth_increment
에 대해 KB, MB, GB, TB 및 % 단위를 지원합니다. - 증가분은 모든
tempdb
데이터 파일에 대해 동일해야 합니다. 그렇지 않으면 페이지를 할당하는 라운드 로빈 알고리즘이 영향을 받을 수 있습니다.
SSMS(SQL Server Management Studio)와 T-SQL(Transact-SQL)을 모두 사용하여 tempdb
파일의 증가분을 변경할 수 있습니다.
SSMS(SQL Server Management Studio)를 사용하여 tempdb
파일의 증가분을 수정할 수 있습니다. 이렇게 하려면 다음 단계를 따르십시오.
SSMS에서 관리되는 인스턴스에 연결합니다.
개체 탐색기에서 데이터베이스를 확장한 다음, 시스템 데이터베이스를 확장합니다.
tempdb
를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.페이지 선택에서 파일을 선택하여 기존
tempdb
파일 수를 확인합니다.데이터 파일 옆에 있는 줄임표(...)를 선택하여 자동 증가 속성 변경 대화 상자 창을 엽니다.
자동 증가 사용 옆의 확인란을 선택한 다음, 파일 증가 값을 백분율 또는 메가바이트 단위로 지정하여 자동 증가 설정을 수정합니다.
설정을 저장하려면 확인을 선택합니다.
최대 크기
tempdb
크기는 모든 tempdb
파일의 합계 크기입니다. tempdb
파일 크기는 해당 tempdb
파일에 할당된(0) 공간입니다. 모든 tempdb
파일의 초기 파일 크기는 인스턴스가 다시 시작되거나 장애 조치(fails over)될 때 모든 tempdb
파일의 크기인 16MB입니다. tempdb
데이터 파일의 사용된 공간이 파일 크기에 도달하면 모든 tempdb
데이터 파일은 구성된 증가율에 따라 자동으로 증가합니다.
tempdb
사용된 공간은 모든 tempdb
파일의 사용된 공간의 합계입니다. 사용된 tempdb
파일 공간은 0이 아닌 정보를 사용하는 tempdb
파일 크기의 일부와 같습니다. tempdb
사용된 공간과 tempdb
여유 공간의 합은 tempdb
크기와 같습니다.
T-SQL을 사용하여 tempdb
파일에 사용되는 현재 공간과 사용 가능한 공간을 확인할 수 있습니다.
tempdb
데이터 파일의 사용된 공간, 여유 공간 및 크기를 얻으려면 이 명령을 실행합니다.
USE tempdb
SELECT SUM((allocated_extent_page_count)*1.0/128) AS TempDB_used_data_space_inMB,
SUM((unallocated_extent_page_count)*1.0/128) AS TempDB_free_data_space_inMB,
SUM(total_page_count*1.0/128) AS TempDB_data_size_inMB
FROM sys.dm_db_file_space_usage
다음 스크린샷은 예제 출력을 보여줍니다.
tempdb
로그 파일의 사용된 공간, 여유 공간 및 크기를 확인하려면 이 명령을 실행합니다.
USE tempdb
SELECT used_log_space_in_bytes*1.0/1024/1024 AS TempDB_used_log_space_inMB,
(total_log_size_in_bytes- used_log_space_in_bytes)*1.0/1024/1024 AS TempDB_free_log_space_inMB,
total_log_size_in_bytes*1.0/1024/1024 AS TempDB_log_size_inMB
FROM sys.dm_db_log_space_usage
다음 스크린샷은 예제 출력을 보여줍니다.
tempdb
최대 크기는 tempdb
가 더 이상 커질 수 없는 한도입니다.
SQL Managed Instance의 tempdb
최대 크기에는 다음과 같은 제한 사항이 있습니다.
- 범용 서비스 계층에서
tempdb
의 최대 크기는 24GB/vCore(96~1920GB)로 제한되며 로그 파일은 120GB입니다. - 중요 비즈니스용 서비스 계층에서
tempdb
는 리소스를 놓고 다른 데이터베이스와 경쟁하므로 예약된 저장소는tempdb
와 다른 데이터베이스 간에 공유됩니다.tempdb
로그 파일의 최대 크기는 2TB입니다.
tempdb
파일은 서비스 계층에서 허용하는 최대 제한 또는 수동으로 구성된 최대 tempdb
파일 크기에 도달할 때까지 증가합니다.
SSMS(SQL Server Management Studio)와 T-SQL(Transact-SQL)을 모두 사용하여 tempdb
파일의 최대 크기를 변경할 수 있습니다.
SSMS에서 현재 tempdb
최대 크기를 확인하려면 다음 단계를 수행합니다.
- SSMS에서 관리되는 인스턴스에 연결합니다.
- 개체 탐색기에서 데이터베이스를 확장한 다음, 시스템 데이터베이스를 확장합니다.
tempdb
를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.- 일반 페이지에서 데이터베이스 아래의 크기 값을 확인하여 최대 tempdb 크기를 확인합니다.
-1
값은 tempdb 최대 크기가 무제한임을 나타냅니다.
SSMS에서 현재 tempdb
최대 크기를 변경하려면 다음 단계를 수행합니다.
- SSMS에서 관리되는 인스턴스에 연결합니다.
- 개체 탐색기에서 데이터베이스를 확장한 다음, 시스템 데이터베이스를 확장합니다.
tempdb
를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.- 페이지 선택에서 파일을 선택하여 기존
tempdb
파일 수를 확인합니다. - 데이터 파일 옆에 있는 줄임표(...)를 선택하여 자동 증가 속성 변경 대화 상자 창을 엽니다.
- 최대 파일 크기 아래의 값을 변경하여
tempdb
최대 크기 설정을 수정합니다. - 설정을 저장하려면 확인을 선택합니다.
tempdb 한도
다음 표에서는 다양한 tempdb
구성 설정에 대한 한도를 정의합니다.
구성 설정 | 값 |
---|---|
tempdb 파일의 논리적 이름 |
최대 16자 |
tempdb 파일 수 |
최대 128개 파일 |
기본 tempdb 파일 수 |
13개(로그 파일 1개 + 데이터 파일 12개) |
tempdb 데이터 파일의 초기 크기 |
16MB |
tempdb 데이터 파일의 기본 증가분 |
256MB |
tempdb 로그 파일의 초기 크기 |
16MB |
tempdb 로그 파일의 기본 증가분 |
64MB |
초기 최대 tempdb 크기 |
-1(무제한) |
tempdb 의 최대 크기 |
스토리지 크기까지 |
다음 단계
- 첫 번째 Managed Instance를 만드는 방법을 알아보려면 빠른 시작 가이드를 참조하세요.
- 기능 및 비교 목록은 SQL 일반 기능을 참조하세요.
- VNet 구성에 대한 자세한 내용은 SQL Managed Instance VNet 구성을 참조하세요.
- 백업 파일에서 관리형 인스턴스를 만들고 데이터베이스를 복원하는 방법에 대한 빠른 시작은 관리형 인스턴스 만들기를 참조하세요.
- Azure Database Migration Service를 사용하여 마이그레이션하는 방법에 대한 자습서는 Database Migration Service를 사용한 SQL Managed Instance 마이그레이션을 참조하세요.
- SQL Managed Instance의 고급 모니터링은 데이터베이스 Watcher를 참조하세요.
- 가격 책정 정보는 SQL Database 가격 책정을 참조하세요.