분류 전체보기 1383

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..

SQL Server Job Agent는 몇 개까지 실행이 가능할까?

SQL Server Job Agent는 몇 개까지 실행이 가능할까? Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 SQL Server Job Agent는 몇개까지 실행이 가능할까? SQL Server Job Agent실행할 수 있는 제한범위를 초과하면 다음과 같은 에러를 나타낸다. SQLServerAgent Error: Request to run job Job_id (from User distributor_admin) refused because the job is already running from a request by User distributor_admin. Changed database context to 'db_name'. (Micro..

SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제)

SQL on Azure 환경에서 SQL 서버 연결 불능 문제(VNET 설정 문제) Version : SQL on Azure 온프레미스 환경의 SQL Server를 Azure 환경으로 변경할 때 최소한의 노력은 이동 작업이다. 그러나 미묘하게 주의해야할 작업이 있다. 그 중 한가지가 네트워킹 플랜이다. Azure Virtual Network(VNET)는 온프레미스 환경과 Azure 환경의 다리 역할을 하거나 격리 수준 역할을 한다. 우리는SQL Serve 가상 머신과 IIS 가상 머신을 만들는 과정에서 자주 반복된 실수를 살펴본다. 자주 실수하는 부분 중 하나가VM을 생성할때 다른 VNET에서 생성하는 것이다. 서로 다른 VNET에 생성된 VM은 VPN을 사용한 동적 게이트웨이를 사용하지 않으면 통신할 수..