분류 전체보기 1383

확장이벤트 사용시 주의사항

확장이벤트 사용시 주의사항 Version : SQL Server 2012, 2014, 2016 SQL Serve Extended Event (xevent, 확장이벤트)는 다양한 이슈 및 성능을 해결하기 위한 매우 좋은 도구이다. 하지만 확장이벤트는 사용방법에 따라 오버헤드가 발생하기 때문에 주의하여야 한다. 아래 사례는 Microsoft CSS SQL Server Engineers 공식 블로그에 게시된 내용으로 고객 사례를 바탕으로 주의점을 설명하였다. 자세한 내용은 원문을 참고 한다. Not every extended event is suited for all situations : https://blogs.msdn.microsoft.com/psssql/2016/02/24/not-every-extend..

Unix(Linux) timestamp(bigint) 형식을 datetime 으로 변경하기

Unix(Linux) timestamp(bigint) 형식을 datetime 으로 변경하기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 데이터를 운용하다 보면 시간(날짜)와 관련해서 다양한 데이터 형식 사용된다. 이번 포스트는 유닉스(리눅스)에서 전달받은 timestamp 형식을 SQL Server에서 datetime 형식으로 변경하는 방법에 대해서 알아본다. Timestamp 값은 1700-01-01 00:00:00부터 시작하는 밀리세컨드(ms)값이다. dateadd() 함수를 사용하여 간단히 해결 할 수 있다. Dateadd() 함수는 int 형식을 지원하므로 ms -> s로 변경하기 위해 timestamp/1000으로 계산해야 한다. dec..

SQL Server 2016 DBCC CHECK 작업 성능 향상

SQL Server 2016 DBCC CHECK 작업 성능 향상 Version : SQL Server 2016 대부분의 SQL Server (MULTI_OBJECT_SCANNER* base) 환경에서 DBCC CHECKS* (checkdb, checktable,…) 검사를 실행하는 동안 대기(wait)를 경험하게 된다. 내부적으로 DBCC CHECKS*를 실행하면 페이지 스캔 코디네이터 디자인(MultiObjectScanner)을 사용한다. SQL Server 2016 버전부터는 DBCC 작업시 이전보다 훨씬 더 확장 할 수 있도록 내부설계를 인모메리 최적화(Hekaton) 객체에 사용되는 것과 유사한 락(lock) 디자인을 적용하여 작업 성능을 향상 시켰다. 다음 차트는 동일한 1TB 데이터베이스의 테..

브라우저 요청 리디렉트 하기

브라우저 요청 리디렉트 하기 Version : Windows Server 2012 R2 리디렉트는 요청에 대한 경로를 새로운 경로 값으로 지정하는 것으로 브라우저 리디렉션은 웹 사이트 내에서 컨텐츠의 이름을 바꾸거나 삭제하는 경우 기존 사이트에 대한 오류가 발생하지 않도록 다른 사이트로 연결할 때 매우 유용하다. 리디렉트 기능으로는 다음과 같다. 다른 디렉터리의 파일 검색 다른 웹 사이트의 파일 검색 다른 컴퓨터의 파일 검색 여러 파일 대신 지정된 파일 검색 요청된 파일에 접근하는 대신, ISAPI 응용 프로그램 실행 리디렉션을 하려면 웹서버에 [HTTP 리디렉션]기능이 설치되어있어야 한다. HTTP 리디렉션 설치가 완료되면 IIS 관리자에서 리디렉트하려는 웹사이트를 선택하고 [HTTP 리디렉션]을 클릭..

Windows , IIS 2016.03.11

Query Rule Off를 사용한 SQL Server 옵티마이저 비활성화

Query Rule Off를 사용한 SQL Server 옵티마이저 비활성화 Version : SQL Server 2012, 2014, 2016 SQL Server는 쿼리를 실행 할 때 다양한 비용을 계산하여 최적의 계획을 생성하고 사용한다. 여러 사용 가능한 실행 계획 중에 비용이 가장 적게 드는 하나의 실행 계획을 선택하는 프로세스를 최적화라 한다. 쿼리 처리에 대한 아키텍처는 아래 링크를 참고 한다. SQL Server 쿼리 처리 아키텍처 : http://sqlmvp.kr/140188321707 SQL Server에서 쿼리를 실행 할 때 옵티마이저가 최적의 실행 계획을 만들어 사용할 수도 있지만 쿼리를 튜닝하는 과정에서 옵티마이저의 최적화를 사용하지 않도록 비활성화 할 수 있다. 문서화 되지 않은 Q..

Incoming connection 제한과 Time-Out 값 설정

Incoming connection 제한과 Time-Out 값 설정 Version : Windows Server 2012 R2 IIS 웹서버를 운영할 때 웹사이트로 들어오는 연결(incoming connection)을 제어하는 방법에 대해서 알아본다. IIS 서버는 들어오는 연결에 대해서 동시 연결 수 제한 및 연결 타임아웃(time-out) 값을 제어할 수 있다. 보통 웹사이트가 수락하는 연결의 수는 무제한이며 대부분의 환경에서는 이러한 설정이 최적의 설정이다. 그러나 너무 많은 수의 연결이 있는 경우 웹 사이트의 성능이 감소되어, 최악의 경우 웹사이트의 접속이 불가능할 수도 있다. 이러한 사태를 방지하려면 동시 연결의 수를 제한해야 한다. 동시 연결 수가 제한에 달하면 그 이후의 클라이언트들은 서버로..

Windows , IIS 2016.02.25

IIS (Internet Information Services) 설치

IIS (Internet Information Services) 설치 Version : Windows Server 2012 R2 Windows 환경에서 웹서비스를 하기 위한 IIS 설치 방법에 대해서 알아본다. Windows Server (또는 개인용에서 특정 에디션에서 추가 가능)에서 추가 기능으로 설치할 수 있는 IIS(웹서버) 역할은 웹 사이트, 서비스 및 응용프로그램을 안정적으로 호스팅하기 위한 관리 모듈식 플랫폼을 제공한다. Windows Server 2012에서 제공되는 IIS 8 버전은 IIS, ASP.NET, FTP 서비스, PHP 및 WCF(Windows Communication Foundation)를 통합하는 통합형 웹 플랫폼이다. IIS를 설치(기능추가)하기 위해서 서버관리자를 실행한..

Windows , IIS 2016.02.22

Microsoft Azure - SQL Server가 포함된 가상 컴퓨터 생성하기

Microsoft Azure SQL Server가 포함된 가상 컴퓨터 생성하기 Microsoft의 클라우드 컴퓨팅 서비스인 Azure에서 SQL Server가 포함된 가상 컴퓨터를 생성하고 SQL Server를 사용하는 방법에 대해서 알아본다. 가상 컴퓨터를 생성하기 위해서는 Azure Portal 사용자 계정이 필요하다. 포탈 접속은 아래 주소를 참고 한다. Azure Portal : https://portal.azure.com/ Azure Portal에 접속한 화면이다. 필자의 경우에는 이미 Azure에서 SQL Server가 설치된 가상 컴퓨터를 2대를 사용하고 있기 때문에 대시보드 화면에서는 이미 생성된 가상 컴퓨터를 확인할 수 있었다. SQL Server가 포함된 가성 컴퓨터를 생성하기 위해 포..

작업 관리자에서 디스크 성능 정보 표시하기

작업 관리자에서 디스크 성능 정보 표시하기 Windows Server 2012, 2012 R2 Windows Server 2012, 2012 R2 작업 관리자를 실행하였을 때 디스크 정보가 보이지 않는 경우가 있다. 작업 관리자에서 디스크 정보를 표시하기 위해서는 커맨드 명령 또는 파워쉘을 이용하여 간단한 명령으로 디스크 정보를 나타내도록 수정할 수 있다. Diskperf -Y 커맨드 명령을 완료하고 작업 관리자를 다시 실행해 보면 디스크 정보가 표시되는 것을 확인할 수 있다. 2016-02-02 / 강성욱 / http://sqlmvp.kr 작업 관리자, 디스크 정보, Diskperf, Task Manager, Disk Performance, Windows, Windows 2012, Windows Cou..

시스템 관리자 권한이 없는 특정 프로그램에서 Trace Flag 사용하기

시스템 관리자 권한이 없는 특정 프로그램에서 Trace Flag 사용하기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 관리자 권한이 없는 계정을 사용하는 특정 어플리케이션이 실행될 때 예약된 추적 플래그를 실행하는 방법에 대해서 알아본다. 유사한 케이스로 프로파일러 사용법도 있다. 비관리자 계정으로 프로파일러 사용하기 : http://sqlmvp.kr/220322107960 시나리오는 다음과 같다. 특정 시스템에 추적 플래그를 설정 해야 한다. 하지만 서버에 추적 플래그를 설정하게 되면 다른 어플리케이션에 영향이 있다. 따라서 해당 어플리케이션이 실행될 때 추적플래그를 실행하고 싶다. 그런데 해당 어플리케이션을 사용하는 계정은 관리자 권한이 없다..