분류 전체보기 1385

SQL Server 커넥션 풀링

SQL Server 커넥션 풀링 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 사용자 연결을 할 때 오버헤드를 줄이기 위해서 커넥션 풀링을 통하여 재사용한다. 이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 바탕으로 정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고하길 바란다. 응용 프로그램은 SQL Server의 공급자를 사용하여 인스턴스에 연결 한다. 다음 스크립트는 PowerShell을 이용하여 SQLBOX1이라는 인스턴스에 커넥션을 하였다. $ConnectionString = "data source=sqlbox1; i..

가상 SQL Server에 Hot Add vCPU 사용하기

가상 SQL Server에 Hot Add vCPU 사용하기 Version : Windows Server 2008 Ent, SQL Server 2008, 2008R2, 2012 Ent SQL Server 2008 부터 Hot Add CPU 및 Hot Add Memory를 지원한다. 이는 운영중인 물리적인 서버에 시스템 중단 없이 CPU 및 Memory를 추가 할 수 있는 것을 의미한다. Hot Add CPU : http://sqlmvp.kr/140191461928 Hot Add 메모리 : http://sqlmvp.kr/140190545122 SQL Server가 가상화 환경이라도 실행중인 프로세스 중단 없이 가상서버에 실시간으로 vCPU를 추가 할 수 있다. vCPU는 가상 머신에 할당된 CPU를 의미하여..

DDL 트리거를 활용한 ERRORLOG에 XEVENT 상태 기록하기

DDL 트리거를 활용한 ERRORLOG에 XEVENT 상태 기록하기 Version : SQL Server 2012 SQL Server에 적용되어 있는 XEVENT의 활동을 중지하거나 시작하거나, 또는 생성, 삭제, 수정이 발생 하였을 경우 어떻게 감지 할 수 있을까? 다음은 DDL 트리거를 활용하여 XEVENT의 상태 변경이 발생 하였을 경우 이벤트 로그에 남기는 법을 알아 보자. XEVENT를 생성하고 삭제하고 또는 중지 하였을 경우 에로로그 파일에 기록이 남지 않는다. 다음은 기존의 확장 이벤트를 삭제하고 등록하는 예제이다. XEVENT를 삭제해 보았다. DROP EVENT SESSION [system_health] ON SERVER GO 그리고 XEVENT를 새로 생성하였다. 아래 스크립트는 시스템..

쉐어포인트의 SQL Server 접속 문제

쉐어포인트의 SQL Server 접속 문제 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server 2014 버전에서 SharePoint 서버가 접속하지 못하는 문제가 발생하였다. (결론적으로 버전의 문제는 아니다.) 어떤 사례인지 다음 포스트를 통해 알아 보자. 이번 포스트는 CSS SQL Server Engineer 팀 블로그에 게시된 내용으로 필자가 읽고 이해한 내용을 정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고하길 바란다. SQL Server 2014 CTP 버전에서 쉐어포인트 2013을 구성할 때 연결 문제가 발생 하였다. 발생한 에러는 데이터베이스를 생성하려고 할 때 발생 하였다. Excep..

Lazy Log Truncation

Lazy Log Truncation Version : SQL Server 2012 SQL Server에서 트랜잭션에 대한 모든 기록은 트랜잭션 로그에 남게 된다. 로그 백업을 진행 함으로써 트랜잭션 로그를 비우는데 일부 상황에서 트랜잭션 로그가 비워지지 않았다. 다음 사례를 통해 알아 보자. 지난 포스트에는 일반적으로 LDF가 잘리지 않는 이유에 대해서 다룬적 있다. LDF가 잘리지 않는 이유 : http://sqlmvp.kr/140194327713 로그 백업을 실행하였는 데에도 트랜잭션 로그가 잘리지 않는 경우는 어떤 것이 있을까? 이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 바탕으로 정리하였으며 번역의 오류나 기술적 ..

인덱스 구성과 상황에 따른 인덱스 성능

인덱스 구성과 상황에 따른 인덱스 성능 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server 에서 클러스터 인덱스의 효율적인 설계는 SQL Server 테이블에 많은 성능 향상을 가져올 수 있다. 그러나 일부 쿼리에서는 비클러스터 인덱스가 클러스터인덱스보다 더 나은 성능을 나타낸다. 클러스터 인덱스에 비클러스터 인덱스를 생성하여 개선 할 수 있는 몇 가지 상황에 대해 알아보자. 클러스터 인덱스와 비클러스터 인덱스가 같은 열에 있을 때 업데이트, 삽입, 삭제는 디스크의 추가 공간 할당으로 인하여 성능이 저하된다. 이러한 단점으로 인덱스를 추가할 때 넌클러스터 인덱스를 추가하기 전에 고려해야 한다. 클러스터된 인덱스는 논리적으로 인덱스 키를 기준으로 전체 테이..

Max worker thread 초과 이슈

Max worker thread 초과 이슈 Version : SQL Server 2012 SQL Server는 사용자의 요청을 처리 하기 위해서 작업을 할 수 있도록 리소스를 할당 받는데 시스템의 환경에 따라 최대 작업자 스레드를 자동으로 할당하기도 하며 설정 값 변경을 통하여 강제로 할당 할 수도 있다. 스레드 및 태스크 아키텍처 : http://sqlmvp.kr/140191074249 MAX Work thread : http://sqlmvp.kr/140150957238 사용자 스레드가 최대 작업자 스레드를 초과할 수 있을까? 다음 사례를 통하여 어떤 이슈가 있었는지 알아 보자. 이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 글로 필자가 읽고 이해한 내용을..

SQL Server Failover 클러스터 설치 트러블슈팅

SQL Server Failover 클러스터 설치 트러블슈팅 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 운영할 때 성능 및 안정성을 확보하기 위하여 고가용성을 구성하는 경우가 많다. 고가용성에는 클러스터링, 복제, 미러링, 로그전달, AG(2012) 등이 있다. (자세한 내용은 SQL Server 운영과 튜닝(영진출판사)을 참고하길 바란다.) 이번 사례는 CSS SQL Server Engineer 팀 블로그에 게시된 내용으로 현업 엔지니어들이 겪는 SQL Server Failover 클러스터 구성 시 자주 발생하는 이슈를 다루어 본다. 필자가 읽고 이해한 내용을 바탕으로 정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 ..

MAXDOP 극대화 하기

MAXDOP 극대화 하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서는 CPU가 2개 이상의 코어를 가지고 있을 때 상황에 따라 자동적으로 병렬처리를 한다. 그렇다면 CPU의 코어가 많을수록 더 좋은 성능을 내는가? 최대 병렬처리 성능을 끌어내기 위해서는 어떻게 해야 할까? 이번 아티클은 CSS SQL Server Engineers 블로그에 게시된 내용으로 CPU 80코어의 시스템에서 MAXDOP의 성능을 극대화 하는 방법을 소개 하였다. 이번에 게시된 글은 특정 시스템 환경의 사례이므로 모든 시스템에 적용할 수 있는 일반적인 구성과 다를 수 있다. 필자가 읽고 이해한 내용을 바탕으로 정리 하였으며 번역의 오류나 기술적 오류 가능성을 미리 알려..

SQL Server 가상화 팁

SQL Server 가상화 팁 Version : SQL Server 2005, 2008, 2008R2, 2012 최근 들어 가상화 기술지원이 강화 되면서 기존의 스케일 아웃(scale out) 설계에서 스케일 업(scale up) 설계로 많이 바뀌고 있는 추세이다. 스케일 아웃과 스케일 업 중 어떤 디자인이 좋을까? 누구나 할 수 있는 대답이지만 정답은 없다. 다만 한정적인 자원에서 효율적인 성능을 발휘 할 수 있도록 설계하는 것이 정답이라 생각한다. 일반적으로 패션에서도 유행은 10년 주기로 반복된다는 말이 있듯이 IT의 흐름을 보면 시스템 디자인에 대한 트렌드 또한 라이프사이클이 있는 듯 하다. 한 때는 각 서버를 기능별로 분리하여 확장하는 형태가 유행 하였다고 하면 최근에는 하드웨어의 발달과 가상화..