SQL Server 818

SQL Server 2016 향상된 업데이트 스케줄링 알고리즘

SQL Server 2016 향상된 업데이트 스케줄링 알고리즘 Version : SQL Server 2016, Azure SQL Server SQL Server 2016에서는 업데이트 스케줄링에 대한 알고리즘이 향상되었다. 기존에는 큰 CPU 퀀텀 작업자(Large CPU Quantum)와 작은 작업자(Short CPU Quantum) 사이에서 스케줄링에 의해 자원 액세스에 대한 불균형이 발생할 수 있었다. 이 테스트는 SQL Server 2012 및 2014에서 백분위(percentile) 스케줄링 기반의 알고리즘에서 발견되었다. 다음 예제를 보면 작업자1(W1)은 읽기 및 인메모리 데이터베이스 페이지의 미리 읽기 등의 큰 작업을 하고 작업자2(W2)는 짧은 작업을 한다. 예를 들어 작업자1은 버퍼풀에..

SSMS에서 유효하지 않은 소유자로 데이터베이스 정보가 보이지 않는 증상

SSMS에서 유효하지 않은 소유자로 데이터베이스 정보가 보이지 않는 증상 Version : All Version SSMS(SQL Server Management Tool)에서 GUI를 사용하여 데이터베이스 속성을 확인하려고 할때, 다음과 같은 오류가 발생하는 경우가 있다. Cannot show requested dialog. Additional information: Cannot show requested dialog.(SqlMgmt) Property Owner is not available for Database'[XXXX]'. This property may not exist for this object, or may not be retrievable due to insufficient access ..

SQL Server 2016 Automatic Soft NUMA

SQL Server 2016 Automatic Soft NUMA Version : SQL Server 2016 각 프로세서 그룹에는 자체 메모리가 있으며 자체 I/O 채널이 있는 경우도 있다. 각 CPU는 일관된 방법으로 다른 그룹과 연결된 메모리에 액세스 한다. 각 그룹을 NUMA 노드라 한다. 다른 NUMA 노드와 연결된 메모리보다 로컬 메모리를 액세스하는것이 훨씬 더 빠르다. NUMA 하드웨어에서는 일부 메모리 영역이 실제로 나머지 영역과 다른 버스에 있다. NUMA는 로컬 메모리와 외부메모리를 사용하므로 다른 영역에 비해 일부 메모리 영역에 액세스하는 시간이 오래 걸린다. NUMA 아키텍처 : http://sqlmvp.kr/140150873571 SQL Server 2016에서는 하드웨어 레이아웃..

NUMA Architecture

SQL Server DBA (SQL Server Technical Assistance Group) 작성일자(2012년, 01월, 28일) 문서등급(일반) 문서 정보문서 정보 NUMA 설정 가이드 연락처 SQLTAG (SQL Server Technical Assistance Group) http://www.sqltag.org 문서 히스토리 버전 일자이력사항 작성자승인자1.02012.01.28최초작성 강성욱 ..... 저작권 Copyright 2012 SQLTAG All Rights Reserved. SQLTAG는 이 문서의 내용을 예고 없이 변경할 수 있습니다. 목차 1. NUMA 5 1.1 NUMA(Non-Uniform Memory Access) 6 1.1.1 NUMA 와SQL Server버전 6 1.2..

SQLCMD 유틸리티 사용하기

SQLCMD 유틸리티 사용하기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 SQLCMD 유틸리티를 사용하면 명령 프롬프트, SQLCMD 모드의 쿼리 편집기, Windows 스크립트파일 또는 SQL Server 에이전트 작업의 운영 체제(cmd.exe) 작업 단계에서 T-SQL 문, 시스템 프로시저 및 스크립트 파일을 입력 할 수 있다. SQLCMD는 OLE DB 공급자를 사용하고, SSMS는 .NET Framework SqlClient를 사용하므로 서로 다른 기본 옵션이 적용될 수 있으므로 동일한 쿼리를 실행하더라도 실행되는 툴에 따라 서로 다른 동작이 수행 될 수 있다. 기본 구문은 아래 표와 같다. sqlcmd [{ { -U login_id ..

In-Memory 최적화 테이블을 사용하여 임시 테이블 및 테이블 변수 성능 향상

In-Memory 최적화 테이블을 사용하여 임시 테이블 및 테이블 변수 성능 향상 Version : SQL Server 2014, 2016 SQL Server tempdb는 임시 테이블, 테이블 변수, 정렬, 중간값 저장 등에 사용되며 여러 병목 구간 중 하나 이다. Tempdb 경합 확인 및 해결 (Tempdb Contention) : http://sqlmvp.kr/140194260164 2014부터 도입된 In-Memory 기술은 OLTP 환경에서 메모리 기술을 사용하여 워크로드의 성능을 향상 시켰다. 임시 테이블 및 테이블 변수 또한 In-Memory 테이블을 사용하여 성능을 개선 할 수 있다. 기존의 전통적인 tempdb 기반의 테이블 유형은 아래와 같은 방법으로 생성한다. CREATE TYPE ..

SQL Server 2016 Tempdb 환경 설정

SQL Server 2016 Tempdb 환경 설정 Version : SQL Server 2016 SQL Server 2016에서는 tempdb 설정에 대해 사용자 편리하게 다양한 속성을 구성할 수 있도록 기능이 확장 되었다. 이번 기능은 DB의 성능에 대한 부분보다 사용자 편리성에 초점이 맞추어진 기능으로 변경된 기능에 대해서 설명한다. (이미 많은 DBA들은 예전 부터 tempdb에 대한 기본 값을 직접 수정하여 사용 하였다.) 아래 그림은 tempdb의 기본 옵션 및 설정 화면을 보여주는 것으로 SQL Server 2016 CTP3에 적용된 화면이다. 데이터베이스 엔진 구성 단계에서 tempdb 설정 전용탭이 워크플로우 단계에 추가 되었다. 구성 옵션 Number of file : 기본설정 값 8 ..

SQL Server 2016 향상된 즉시 파일 초기화

SQL Server 2016 향상된 즉시 파일 초기화 Version : SQL Server 2016 SQL Server는 데이터베이스 파일을 생성하거나 파일 크기가 증가할 때 파일을 0으로 초기화 하는 작업이(file initialization) 진행된다. 이때 오버헤드가 발생하기 때문에 사전에 미리 파일 크기를 증가시켜 놓거나 스토리지 성능에 따라 작은 크기로 계속해서 증가시키는 등의 방법을 사용하기도 한다. SQL Server 2005부터는 즉시 파일 초기화 기능을 제공되었다. 기존 삭제된 데이터 파일을 0으로 채우지 않고 그 위에 덮어씀으로써 운영체제에서 초기화 과정을 거치지 않았다. 하지만 즉시 초기화 작업을 하기 위해서는 SQL Server 계정이 윈도우의 Administrators 그룹 권한을..

SQL Server 2016 LDF 생성 또는 증가 시 변경된 스탬프 패턴

SQL Server 2016 LDF 생성 또는 증가 시 변경된 스탬프 패턴 Version : SQL Server 2016 SQL Server 데이터베이스에서 로그 파일(LDF)이 생성 또는 증가하는 경우 특정 바이트(0x00) 패턴의 스탬프가 기록된다. 이 패턴은 로그블록 레이아웃의 마지막 로그마커 표시이다. SQL Server 7.0에 변경된 LDF 포맷 디자인은Sybase 데이터베이스의 2K 단위로 로그 블럭을 0(0x00)으로 섹터를 정렬하는 디자인을 따른 것으로, LDF 파일이 새로 생성되거나 확장할 경우 확장 로그에 대해 0x00 바이트 로그를 기록 한다. SQL Server 2016에서는 0x00대신 0xC0로 스탬프를 변경하였다. (2014년 이후의 Azure SQL 경우 변경된 스탬프를 사..

SQL Server 2016 Tempdb 성능 향상

SQL Server 2016 Tempdb 성능 향상 Version : SQL Server 2016 SQL Server에서 Tempdb는 성능 관점에서 매우 중요한 부분이다. 쿼리를 실행할 때 중간 값을 저장하기 위한 용도, 테이블변수, 임시 테이블, 정렬, 해쉬 등에 사용된다. Tempdb 경합 확인 및 해결 : http://sqlmvp.kr/140194260164 Tempdb 경합 : http://sqlmvp.kr/140164023333 아래 링크는 SQL Server 2012, 2014에서 권장하는 tempdb 최적화 구성 방법이다. Recommended updates and configuration options for SQL Server 2012 and SQL Server 2014 with hig..