SQL Server/SQL Server Tip 662

SSRS SocketException

SSRS SocketException Version : SQL Server 2008, 2008R2, 2012 SQL Server 솔루션에 포함된 SSRS(SQL Server Reporting Service)서비스는 SQL Server의 데이터베이스의 데이터를 기반으로 보고서를 생성 및 퍼블리싱 기능을 제공한다. 이번 포스트는 CSS SQL Server Engineer에 기재된 내용으로 SQL Server 2008에서 2012로 업그레이드 후 리포팅 서비스에서 발생한 SocketException의 트러블슈팅에 관한 내용이다. 필자가 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류 가능성이 있기에 원문을 참고 한다. SQL Server 2008에서 SQL Server 2012로 업그레이드를 하고 난 뒤..

파티션 분할 시 I/O 최소화 하기

파티션 분할 시 I/O 최소화 하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 파티션의 장점은 대용량 데이터를 관리할 때 데이터 기준(일반적으로 날짜를 많이 사용함)에 따라 파티션 그룹을 분할하고 데이터를 검색 또는 입력, 삭제를 할 때 파티션 그룹 단위로 이루어지므로 많은 성능 이점이 있다. 일반적으로 날짜 시간 값의 범위는 오른쪽 파티션을 권장한다. 자세한 내용은 다음 링크를 참고 한다. Partitioned Tables and Indexes in SQL Server 2005 : http://technet.microsoft.com/en-US/library/ms345146(v=SQL.90).aspx#sql2k5parti_topic17 파티션..

대량 BCP 작업 시 발생하는 오류 (665, 1450, 33)

대량 BCP 작업 시 발생하는 오류 (665, 1450, 33) Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 특정 테이블의 데이터를 내려받고 싶을 때(특히 대량의 데이터) 일반적으로 많이 사용하는 방법이 BCP를 이용한 방법이다. BCP 사용 : http://sqlmvp.kr/140176987081 BCP를 이용하여 데이터를 내려 받을 때 한계용량은 얼마일까? 테이블 크기만큼 똑같이 내려 받을 수 있을까? 다음 사례는 CSS SQL Server Engineer 팀 블로그에 게재된 내용으로 대량의 데이터를 BCP로 내려 받을 때 발생하는 오류 및 원인을 설명 한다. 필자가 이해한 내용을 바탕으로 요약 하였으며 번역의 오류나 기술적 오류가 있음을 ..

기본 추적(default tace) 활성화 및 로그 확인

기본 추적(default tace) 활성화 및 로그 확인 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 운영하는데 있어 DBA의 업무 중 하나는 여러 가지 시스템 정보를 수집하는 것이다. 수집된 정보는 어떤 문제가 발생하였을 때 원인을 규명하는 중요한 단서로 활용한다. 대부분의 운영 환경을 보면 기본 정보를 수집하지도 않지만 어떤 문제가 발생하였을 때 기록이 삭제되어 원인을 찾기 힘든 경우가 많다. 이번 포스트에서는 기본적으로 수집 해야 하는 정보들과 이를 보관하는 방법에 대해서 알아본다. SQL Server의 기본 추적은 SQL Server 2005부터 도입 되었으며 SQL Server 2012에서는 system_health 라는 확장 이벤트로도..

SQL Server ALTER TABLE syntax diagrams

SQL Server ALTER TABLE syntax diagrams Version : SQL Server 2012 SQL Server는 SSMS(SQL Server Management Studio)라는 툴을 이용하여 GUI를 사용한 테이블 생성 및 코드를 사용한 테이블 변경이 가능하다. 이번 포스트는 simpletalk.com에 기재된 내용으로 ALTER TABLE에 대한 문법을 다이어그램을 통하여 쉽게 설명 한다. 테이블 변경시 어떤 절차로 테이블이 변경되고 규칙 검사는 어떤 순서로 진행되는지 살펴 보자. ALTER TABLE : http://technet.microsoft.com/ko-kr/library/ms190273.aspx [다이어그램 읽는 법] 다이어그램은 위에서 아래로, 왼쪽에서 오른쪽으로..

SQL Server Performance Counter Guidance

SQL Server Performance Counter Guidance Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 운영하면서 우리는 어떤 항목을 모니터링 해야 할까? 그리고 이들의 경고 임계치 값은 얼마일까? 판단하는 기준은 어떻게 될까? 이번 포스트에서 제시하는 카운터의 값이 모든 서버에 적용된다고는 할 수 없다. 사용자는 매우다양한 환경을 가지고 있기 때문에 참고용으로 사용하며 항상 자신이 운영하는 서버의 하드웨어 사양 및 특징을 잘 파악하여 최적의 가이드라인을 스스로 만들어서 사용할 수 있기를 바란다. 성능 모니터 실행은 [시작] – [실행] –[pefmon]을 실행 한다. 다음 성능 카운터를 참고하여 자신이 운영하는 SQL Server를..

SQL Server CREATE TABLE syntax diagrams

SQL Server CREATE TABLE syntax diagrams Version : SQL Server 2012 SQL Server는 SSMS(SQL Server Management Studio)라는 툴을 이용하여 GUI를 사용한 테이블 생성 및 코드를 사용한 테이블 생성이 가능하다. 이번 포스트는 simpletalk.com에 기재된 내용으로 CREATE TABLE에 대한 문법을 다이어그램을 통하여 쉽게 설명 한다. 테이블 생성시 어떤 절차로 테이블이 생성되고 규칙 검사는 어떤 순서로 진행되는지 살펴 보자. CREATE TABLE : http://msdn.microsoft.com/ko-kr/library/ms174979.aspx [다이어그램 읽는 법] 다이어그램은 위에서 아래로, 왼쪽에서 오른쪽으로..

SQL Server 2012 Sp1 설치 이슈 및 해결

SQL Server 2012 Sp1 설치 이슈 및 해결 Version : SQL Server 2012 SQL Server Service Pack 1을 설치 후 발생하는 문제점 및 해결 방법을 공유 한다. 이번 포스트는 CSS SQL Server Engineer 팀블로그에 게제된 내용으로 필자가 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류가 있음을 인지 한다. [Sp1 설치 후 발생하는 문제] Windows 설치 프로세스(MSIExec.exe)가 반복적으로 시작하고 특정 SQL 서버 어셈블리를 복구하려고 시도 한다. Windows 이벤트로그(응용프그램)에 다음과 같은 항목이 기록 된다. 이때 높은 CPU 사용량이 발생 한다. 원인은 SQL Server 구성 요소에서 일치 하지 않는 어셈블리 때문이..

SSD에서 DBCC CHECKDB 성능 벤치마킹

SSD에서 DBCC CHECKDB 성능 벤치마킹 Version : SQL Server 2005, 2008, 2008R2, 2012 최근 들어 많은 기업이 데이터베이스에도 SSD를 사용하는 추세이다. 기존의 하드디스크와는 구조 및 동작 방식이 다른 SSD에서 DBCC CHECKDB를 사용하였을 때 성능은 어떨까? 이번 포스팅은 SQLSkills.com의 Paul S.Randal 블로그에 기재된 내용으로 필자가 이해한 내용을 바탕으로 정리하였으며 번역의 오류나 기술적 오류가 있음을 인지 한다. 자세한 내용은 원문을 참고하길 바란다. SSD에서 DBCC CHECKDB를 테스트하였으며 다양한 degree of parallelism(DOP) 옵션과 traceflags를 함께 실행 하여 성능을 알아 보았다. [테스..

Collation에 따른 ALTER DATABASE 실패

Collation에 따른 ALTER DATABASE 실패 Version : SQL Server 2005, 2008, 2008R2, 2012 Collate는 데이터베이스 정의 또는 열 정의에 적용하여 데이터를 정렬을 정의하거나 문자열 식에 적용하여 데이터 정렬 캐스트를 정의한다. Collate에 대한 수준은 데이터베이스를 생성하거나 변경, 테이블 생성 또는 컬럼 변경 작업을 할때 지정 할 수 있으며 char, varchar, text, nchar, nvarchar, ntext 데이터 형식에 대해서만 적용 할 수 있다. 이번 케이스는 ALTER DATABASE의 Collate 변경 작업 중 발생 오류로 다음과 같은 메시지를 출력 하였다. Msg 1505, Level 16, State 1, Line 1 The..