SQL Server/SQL Server Tip 662

여러 포트를 사용하도록 SQL Server 구성

여러 포트를 사용하도록 SQL Server 구성 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server의 기본 포트는 1433이다. 최근에는 (이미 오래전부터) 보안과 관련하여 공개되어 있는 1433 기본 포트를 사용하지 않고 따로 포트를 지정해서 사용 한다. 그런데 이미 사용하고 있는 포트에 새로운 서비스가 붙으려고 할 때 만약 사용하는 포트가 다르다면 어떻게 할까? 예를 들어 14331 포트를 사용하는 서비스가 있는데 다른 웹서비스에서 38080 이라는 포스트를 사용한다고 한다. 모든 웹서비스의 포트를 바꿀 것인가? 아니면 SQL Server의 사용 포트를 바꿀바꿀 것인가? 이번 실습에서는 TCP/IP 속성에서 여러 포트를 지정하는 방법을 알아 본다. S..

SQL Server가 사용중인 TCP/IP 포트 확인

SQL Server가 사용중인 TCP/IP 포트 확인 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server가 사용하는 특정 포트가 어떤 것이 있는지 확인 하는 방법을 알아 보자. 여기에서는 3가지 방법을 통하여 SQL Server가 사용중인 포트를 확인 할 수 있다. SQL Server 에러로그를 사용한 확인 SQL Server 구성관리자를 사용한 확인 윈도우 이벤트를 사용한 확인 [SQL Server 에러로그 사용] SQL Server 에러로그는 데이터베이스 서버에서 어떤 일이 일어나고 있는지에 대한 정보를 확인 할 수 있는 매우 좋은 기능이다. SQL Server 데이터베이스 엔진의 인스턴스가 수신 대기하는 포트를 기록하고 정보를 제공한다. 에러로그 관..

SQL Server SP_Congifure 변경 사항 캡처

SQL Server SP_Congifure 변경 사항 캡처 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server가 처음 구성되면 DBA는 많은 구성관리를 한다. DBA는 승인되지 않은 구성 옵션의 변경을 감지하고 변경된 내용을 추적 할 수 있어야 한다. 기본적으로 추적에 사용할 수 있는 도구는 Profiler 또는 'fn_trace_gettable(@trc_Path) 가 있다. 이번 실습에서는 'fn_trace_gettable(@trc_path)'를 사용하여 변경사항을 확인해 보자. 우선 기본 추적이 활성화 되어 있는지 쿼리 이용하여 확인해 보자. SELECT NAME, CASE WHEN VALUE_IN_USE = 1 THEN 'ENABLED' WHEN V..

SQL Server Net Libraries

SQL Server Net Libraries 클라이언트에서 데이터베이스 엔진에 연결하려면 서버가 사용 가능한 프로토콜을 수신 중이어야 한다. SQL Server는 클라이언트가 통신하기 위하여 동적 연결 라이브러리(DLL)로 알려진 여러 Net Libraries를 제공한다. 이러한 Net Libraries는 SQL Server와 클라이언트간에 데이터를 교환하는 사용할 프로토콜을 지정한다. Microsoft SQL Server는 동시에 여러 프로토콜에 대한 요청을 서비스 할 수 있다. SQL Server에서는 4가지 프로토콜을 설정 할 수 있다. 프로토콜 설정은 SQL Server 구성관리자에서 할 수 있다. 클라이언트에서는 단일 프로토콜을 사용하여 SQL Server에 연결 한다. 클라이언트 프로그램에서 ..

SQL Server 별칭 설정 및 사용

SQL Server 별칭 설정 및 사용 Version : SQL Server 2000, 2005, 2008, 2008R2, 2012 내가 관리하고 있는 SQL Server의 링크드 서버 설정이 IP로 되어 있는데 IP 변경 이슈가 발생 하였다. 어떻게 할까? 가장 단순한 방법은 링크드 서버를 삭제하고 새로 만드는 작업이다. 그런데 이러한 서버가 수십 대가 있다면? SQL Server의 별칭 기능을 사용하여 좀더 쉽게 작업해 보자. 별칭을 사용하면 응용프그램의 구성은 유지 된다. 만약 IP나 포트 변경 시 별칭을 설정한 관리자에서만 수정하면 된다. 별칭을 생성하는 방법에는 [SQL Server 관리자], [SQL Server 클라이언트 네트워크 유틸리티] 2가지가 있다. [SQL Server 구성 관리자]..

SQL Server에 연결된 어플리케이션 드라이버 버전 확인

SQL Server에 연결된 어플리케이션 드라이버 버전 확인 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server의 Native Client(SNAC)는 SQL Server 2005 이후부터 도입 되었다. 여러 응용프로그램이 SQL Server 연결에 사용하고 있는 드라이버 버전을 어떻게 확인 할까? 가장먼저 SNAC가 무엇을 하는 것인지 알 필요 가 있다. SNAC는 Microsoft의 SQL Server ODBC 드라이버, SQL Server OLE DB의 Native 동적 링크 라이브러리(DLL) 공급자가 포함 되어있다. 자세한 내용은 아래 링크 참고. SQL Native Client : SQL Server 2005는 SNAC 9, SQL Server..

SQL Server 성능 대시보드

SQL Server 성능 대시보드 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server 2005 SP2 이상에서는 SQL Server의 성능 모니터를 SSMS의 보고서(대시보드) 기능을 이용하여 그래픽 화면으로 볼 수 있다. 보고서 기능은 SQL Server 2005 이상에서 제공되는 동적 관리 뷰(DMV)에서 수집된 데이터를 추상화 하여 보여준다. SSMS를 통하여 대시보드를 활용해 보자. SSMS를 실행하여 보고서를 실행해 보자. 기본적으로 17개의 항목에 대해서 보고서를 볼 수 있는 메뉴가 있다. (SQL Server 2008R2) SQL Server 2012에서도 기본적으로 17개의 표준 보고서를 확인 할 수 있다. 기본 보고서 외에 보고서 기능을 ..

SSMS를 이용한 데이터베이스 복사 하기

SSMS를 이용한 데이터베이스 복사 하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SSMS에는 많은 기능들이 숨어 있다. 정말 쿼리로만 할 수 있다던 기능의 대부분이 SSMS의 UI를통해서 할 수 있다. 오늘은 SSMS의 UI기능을 통한 데이터베이스 복사 및 이동이다. 우선 데이터베이스 이동 및 복사를 하기 위해서 필수 조건이 있다. 데이터베이스의 데이터 파일이 존재할 폴더에 공유를 설정하고 권한을 부여한다. SQL Agent 계정을 사용하여 통신하므로 SQL Agent 계정을 맞추어 준다. 이제 데이터베이스를 복사 및 이동하는 실습을 해 보자. 대부분의 SQL Server는 물리적으로 다른 서버에 운영하겠지만 편의상 인스턴스를 설치하여 진행 하였다. 다음과 같이..

SQL Server에서 DB2 링크드 서버 연결 방법

SQL Server에서 DB2 링크드 서버 연결 방법 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 SQL Server로 링크드 서버 연결을 만드는 방법은 매우 간단하다.(당연히 자사 제품이니 호환성이 높다.) 하지만 SQL Server에서 다른 데이터베이스의 연결은 상대적으로 쉽지 않다. 이번 실습은 SQL Server에서 DB2의 링크드 서버를 만드는 법을 알아 본다. SQL Server에서 DB2의 링크드 서버를 가장 쉽게 만들 수 있는 방법은 Microsoft OLEDB 공급자에서 제공하는 Data Acces Tool을 이용하는 것이다. (또는 DB2 DBA의 도움을 요청하거나 ^^) Data Access Tool 다운로드 : http:/..

SQL Server 인덱스 활성 / 비활성 하기

SQL Server 인덱스 활성 / 비활성 하기 Version : SQL Server 2005, 2008, 2008R2, 2012 데이터베이스를 운영하다 보면 수 많은 인덱스를 접하게 된다. 하지만 여기 있는 인덱스가 모두 사용 되는 것일까? 인덱스의 유용 여부를 파악하기란 쉽지 않다. 그렇다고 잘 쓰지 않을 것 같다고 생각되는 인덱스를 무심코 삭제 했다가는 정말 난감한 상황이 발생 한다. 만약 어떤 인덱스가 있을 때 이 인덱스의 유용 여부에 대해서 판단하고 싶을 때 어떻게 할까? SQL Server 2005 이상 버전에서는 테이블 또는 뷰에 대해서 인덱스를 활성 / 비활성 할 수 있다. 인덱스 사용을 비활성화 하면 인덱스를 사용하지 않아 인덱스에 따른 영향을 평가 할 수 있다. 우선 현재 인덱스를 살펴..