SQL Server/SQL Server Tip 662

PFX 형식의 인증서를 SQL Server에서 사용하기

PFX 형식의 인증서를 SQL Server에서 사용하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server는 DER(Distinguished Encoding Rules) 파일 포맷의 통합 인증서를 사용 할 수 있다. 이 파일은 이진 인코딩 인증서로 CER 또는 CRT로 확장을 할 수 있다. SQL Server의 암호화에 사용되는 모든 인증서는 DER 서식을 사용해야 한다. SQL Server에서 PFX 형식의 인증서를 사용하려면 Microsoft에서 제공하는 PVKConvert를 사용하여 PFX 인증서 파일을 PVK/DER 형식으로 변환하여 사용해야 한다. PFX 형식의 인증서를 SQL Server 에서 사용하는 방법 : http://support.mic..

SQL Server NUMA 메모리 노드와 Operating System 접근

SQL Server NUMA 메모리 노드와 Operating System 접근 Version : SQL Server 2005, 2008, 2008R2, 2012 NUMA 아키텍처는 각 프로세서 그룹에 자체 메모리가 있으며 자체 I/O 채널이 있는 경우도 있다. 그러나 각 CPU는 일관된 방법으로 다른 그룹과 연결된 메모리에 액세스 한다. 각 그룹을 NUMA노드라 한다. NUMA에 대한 내용은 다음 아티클을 참고하여 이해를 할 수 있도록 한다. NUMA 아키텍처 : http://sqlmvp.kr/140150873571 이번 포스트는 CSS SQL Server Engineers 블로그에 게시된 내용으로 필자가 읽고 이해한 내용을 바탕으로 정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세..

SQL Server 에러 핸들링 비용 비교 - TRY / CATCH, 제약조건 선행 검사

SQL Server 에러 핸들링 비용 비교 TRY / CATCH, 제약조건 선행 검사 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server 2005부터 TRY / CATCH 기능이 제공되어 에러 핸들링에 많이 사용 되고 있다. 이는 확실히 프로그래밍을 더 쉽게 하고 에러를 처리하는데 많은 도움이 되었다. 데이터 입력 시 TRY / CATCH를 사용하여 에러를 핸들링하는 경우와 체크 조건을 미리 확인하여 수동으로 에러를 핸들링 하는 것에 대한 비용 차이를 확인해 보자. 다음 실습을 통하여 TRY / CATCH 예외 처리에 발생하는 비용에 대해서 알아 보자. 실습을 위해 기본 키가 테이블에 고유한 값의 100,000행을 입력 한다. CREATE TABLE db..

압축 백업 시 Checksum 옵션으로 손상 확인하기

압축 백업 시 Checksum 옵션으로 손상 확인하기 Version : SQL Server 2012 데이터베이스를 백업할 때 이미 백업 자체가 손상되어 있다면 백업이 아무런 의미가 없다. 백업 할 때 CHECK 옵션을 사용하여 손상 여부를 확인 할 수 있다. 백업할 때 WITH CHECKSUM 매개변수는 각 페이지의 체크섬을 확인하고 손상이 있을 경우 경고를 발생 한다. SQL Server Backup : http://technet.microsoft.com/ko-kr/library/ms186865.aspx NO_CHECKSUM : 백업 체크섬 생성 및 페이지 체크섬의 유효성 검사를 명시적으로 해제 한다. CHECKSUM : 백업 작업이 각 페이지의 체크섬과 조각난 페이지를 확인하고 사용 가능할 경우 전체..

SQL Server 2012 Memory Manager 구성

SQL Server 2012 Memory Manager 구성 Version : SQL Server 2012 SQL Server 2012에서 변경된 Memory Manager 구성에 대해서 알아보자. SQL Server 2008에서 최대 서버 메모리(Max Server Memory) 구성은 오직 하나의 8K 페이지 할당을 적용하였다. CLR 할당, 다중 페이지 할당, 직접 윈도우 할당(DWA)과 스레드 스택에 필요한 메모리는 포함되지 않았다. 그래서 CLR을 사용할 경우 32비트 시스템에서 서비스 시작 시 –g 옵션(memory_to_reserve)을 사용하여 주소 공간을 예약 하였다. SQL Server 2012에서 새롭게 디자인 된 메모리 관리자는 다른 구성 요소에 대한 페이지 할당을 제공하는 중심 역..

SQL Server Memory Manager 변화

SQL Server Memory Manager 변화 Version : SQL Server 2012 SQL Server 2012에서 메모리 관련 DMV 및 DBCC MEMORYSTATUS, 성능모니터가 일부 재설계 되었다. 새롭게 디자인된 메모리 관리자를 그림으로 요약하면 다음과 같다. [DMV] Sys.dm_os_memory_nodes 단일 및 다중 페이지 할당 통합은 sys.dm_os_memory_nodes의 pages_kb 컬럼에 반영된다. 새로운 foreign_committed_kb 카운터는 SQL Server 2012에서 제공되는 NUMA 관리로 원격 메모리 노드를 식별한다. 원격 메모리 노드에 속한 느린 메모리 액세스 문제를 해결하는 유용하다. SQL Server 2012SQL Server 20..

Ring_Buffer_Resource_Monitor

Ring_Buffer_Resource_Monitor Version : SQL Server 2005, 2008, 2008R2, 2012 리소스 모니터 및 메모리 브로커 기록은 RM의 핵심 요소이다. RM이 변경될 때 모니터링에 검출되어 기록 된다. 다음과 같은 이벤트 세션을 생성하여 링 버퍼 모니터링을 할 수 있다. CREATE EVENT SESSION RingBufferInfo ON SERVER ADD EVENT sqlos.resource_monitor_ring_buffer_recorded, ADD EVENT sqlos.memory_broker_ring_buffer_recorded ADD TARGET package0.asynchronous_file_target (SET filename = N'c:\XEv..

SQL Server 프로파일러 템플릿 만들기

SQL Server 프로파일러 템플릿 만들기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server 프로파일러 템플릿 생성 방법과 추적 데이터를 테이블에 저장하는 방법을 알아 본다. [템플릿 생성 및 저장] 프로파일러를 실행하여 [파일] - [템플릿] – [새 템플릿]을 선택 한다. 새 템플릿의 이름 입력한다. 이벤트 선택 탭에서 템플릿에 사용할 이벤트를 선택 한다. 실습에서는 LOCK 관련 이벤트 추하여 템플릿을 생성 하였다. 템플릿 생성이 완료 된 다음 추적을 시작 할 때 [템플릿 사용]에서 생성한 템플릿을 선택 한다. 다음과 같이 추적이 되는 것을 확인 할 수 있다. [추적 내용을 테이블로 저장하기] [파일] – [다른 이름으로 저장] – [추적 테이블..

SQL Server 메모리 병목 현상 식별

SQL Server 메모리 병목 현상 식별 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server의 메모리 사용량을 확인하기 위해 DBCC MEMORYSTATUS 및 DMV를 사용할 수 있다. [DBCC MEMORYSTATUS] DBCC MEMORYSTATUS는 현재 메모리 상태의 스냅샷을 제공한다. dbcc memorystatus 각 항목에 대한 정보는 다음 링크를 참고 한다. DBCC MEMORYSTATUS 명령 사용 하여 SQL Server 2005에서 메모리 사용을 모니터링 하는 방법 : http://support.microsoft.com/?id=907877 INF: DBCC MEMORYSTATUS를 사용하여 SQL Server 메모리 사용 모니터 :..

SQL Server 시작 옵션 사용

SQL Server 시작 옵션 사용 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 설치할 때 Microsoft Windows 레지스트리에 기본 시작 옵션이 기록된다. 이 시작 옵션을 사용하여 master 데이터베이스 파일, master 데이터베이스 로그 파일 또는 오류 로그파일 등을 지정할 수 있다. SQL Server 서비스를 시작하는 방법은 다양하다. 구성관리자에서도 할 수 있으며 명령어 모드에서 다양한 명령어를 통해서도 가능하다. [명령 프롬프트에서 SQL Server 시작하기] Sqlservr.exe기본 인스턴스 시작Sqlservr.exe -s 명명된 인스턴스 시작Sqlservr.exe -m기본 인스턴스를 단일 사용자 모드로 시작Sqlser..