tempdb 4

SQL Server 2016 Tempdb 경합(contention) 최적화

SQL Server 2016 Tempdb 경합(contention) 최적화 · Version : SQL Server 2017, 2016, 2014 SQL Server에서 tempdb는 경합이 자주 발생하는 부분이므로 항상 모니터링의 주요 대상이다. SQL Server 2016에서는 최신 업데이트를 통해 tempdb file 및 trace flag 개선작업이 진행 되었다. [Object Allocation Contention] SQL Server에서 tempdb 구성시 일반적인 권장사항은 아래와 같다. 1. 여러 데이터 파일 생성 : CPU 코어당 최소 1개 이상으로 데이터 파일을 생성하며 최대8개의 파일로 구성한다.(필요에 따라 더 많이 생성할 수도 있다.) 모든 파일의 크기는 동일 해야한다. 2. SQ..

Spool 연산자와 추적 플래그 8690

Spool 연산자와 추적 플래그 8690 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 쿼리 실행계획을 확인하다 보면 스풀(spool) 연산자(인덱스 스풀 또는 테이블 스풀)를 볼 수 있다. 스풀 연산자는 중간 결과를 저장하기 때문에 SQL의 다시 스캔 하거나, 또는 반복 사용을 위해 다시 계산할 필요가 없도록하여 쿼리 성능을 개선하는데 도움이 된다. 스풀 테이블은 tempdb 데이터베이스 저장되어 쿼리 사용 기간 중에만 존재한다. 예를 들어 Nested Loops 연산자로 연산자를 다시 수행하지만 다시 바인딩할 필요가 없을 경우 입력 사항을 다시 검색하는 대신 스풀된 데이터를 사용한다. 스풀 실행 계획은 아래 그림과 같은 아이콘으로 표시 된다. ..

Temp table 객체 생성시 세션간 충돌하지 않는 이유

Temp table 객체 생성시 세션간 충돌하지 않는 이유 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 데이터베이스를 사용할 때 temp table(임시 테이블)을 많이 사용한다. 단일 tempdb가 여러 세션에서 동일한 개체를 만드는 경우에도 어떻게 충돌을 방지할 수 있을까? 다음 간단한 테스트를 통해서 임시테이블 생성과 충돌 방지에 대해서 알아본다. 아래 스크립트는 임시 테이블을 생성한다. -- Session 1: Table creation CREATE TABLE #temptable_test ( id INT NOT NULL IDENTITY (1,1) ,Name CHAR(100) NOT NULL ,DOJ DATETIME NOT NULL ); 테..

TempDB 파일 사이즈 증가 시 경고 받기

TempDB 파일 사이즈 증가 시 경고 받기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server를 운영하면서 모니터링해야 할 항목들이 있다. 특히 시스템 데이터베이스의 경우 SQL Server를 운영하는데 필수적인 사항으로 이상이 발견되었을 때 즉시 알림을 받을 수 있도록 해야 한다. 이번 포스트는 시스템 데이터베이스에서 가장 많이 사용되고 있는 tempdb의 파일 사이즈 증가 시 알림을 받기 위한 방법으로 SQL Serve Agent 기능을 활용하는 방법에 대해서 알아본다. 경고 작업을 생성하기 위해 SSMS를 실행하여 SQL Server Agent에서 경고를 선택 한다. 경고에 사용할 이름을 입력하고 유형을 선택 한다. 데이터파일의 증가는 ..