SQL Server 123

SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화

SQL Server 2016부터 도입된 USE HINT를 사용한 추적 플래그 활성화 · Version : SQL Server 2016 later SQL Server에서는 서버의 특정 동작을 임시로 설정 하거나 중지 시킬때 사용하는 추적 플래그(Trace Flag)라는 기능이 있다. 추적 플래그는 주로 성능 문제를 진단하거나 저장 프로시저 또는 복잡한 컴퓨터 시스템을 디버깅하는데 사용된다. · DBCC TRACE ON – Trace Flags : https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql?view=sql-server-2017 추적 플래그를 쿼리에서 사용할때 지..

In-memory optimized table에 사용되는 Hash Index

In-memory optimized table에 사용되는 Hash Index · Version : SQL Server 2014 later SQL Server에서 새롭게 추가된 Hash Index(해시 인덱스)는 In-Memory optimized table(인메모리 최적화 테이블)에서 사용된다. 기본적으로 테이블의 행을 빠르게 찾고 읽으려면 인덱스가 필요하다. 해시 인덱스는 버킷의 컬렉션은 배열(Array) 구성된다. 해시 함수는 인덱스 키를 해시 인덱스의 해당 버킷으로 매핑한다. 아래 그림은 세 개의 인덱스가 해시 함수를 사용하여 해시 인덱스에 있는 세 개의 서로 다른 버킷에 매핑되는것을 나타낸다. 아래 그림에서 해시 함수 이름은 f(x)이다. 해시 인덱스에 사용되는 해시 함수의 특징은 아래와 같다. ..

VM환경에서 AG를 구성하였을때VSS 백업 동작 변경

VM환경에서 AG를 구성하였을때VSS 백업 동작 변경 · Version : SQL Server 2016, SQL Server 2017 SQL Server 2016 Standard Edition(또는 이후 버전)을 사용하여 가상 컴퓨터 (Virtual Machine) 환경에서 기본 가용성 그룹( AG)을 구성하였을때 AG의 보조 복제본을 호스팅하는 VM환경에서 백업이 실패한 것으로 나타날 수 있다. 이러한 이유는 Volume Shadow Copy Service(VSS)가 VM환경의 보조 복제본에서호스트되는 모든 SQL Server 데이터베이스를 일관된 방식으로 백업하기 때문이다. · Volume Shadow Copy Service : https://docs.microsoft.com/ko-kr/windows..

SQL Server 2016 향상된 가용성 그룹 – 데이터베이스 수준의 상태 탐지 장애조치

SQL Server 2016 향상된 가용성 그룹 – 데이터베이스 수준의 상태 탐지 장애조치 · Version : SQL Server 2016, SQL Server 2017 SQL Server2016에서 도입된 가용성 그룹(Availability Group)에 대한 데이터베이스 수준 상태 탐지 장애 조치 (Database Level Failover) 옵션은 가용성 그룹에 있는 하나 이상의 데이터베이스에 문제가 있을 경우 가용성 그룹에 장애 조치 메커니즘을 실행시키기 위해 도입되었다. 이 기능을 사용하면 데이터베이스의 고가용성을 보장할 수 있으며 업무상 중요한 데이터베이스가 있는 모든 가용성 그룹에 권장되는 최상의 방법이다. 데이터베이스 수준 상태 탐지 장애조치의 초기 구현에서는 가용성 그룹의 주 복제본에서..

SSRS에서 E-mail 세팅시 SSL 사용 유무 수정하기

SSRS에서 E-mail 세팅시 SSL 사용 유무 수정하기 · Version : SSRS SSRS에서 생성된 보고서를 이메일로 구독하려면 Reporting Services Configuration Manager에서 이메일 서버를 등록하고 관련 정보를 세팅해야 한다. 이때, SMTP 서버에서 SSL을 사용하지 않을 경우Use secure connection 항목을 체크 해지 해야하는데 간혹 체크박스를 클릭해도 해지가 되지 않는 경우가 있다. 이 경우 직접 SSRS의 RSReportServer.config파일을 수정하여 False모드로 변경하여 사용할 수 있다. 주의할 점은Configuration파일의 경우 SSRS의 모든 세팅 정보가 포함되어 있어 잘못 수정할 경우 SSRS 서비스가 정상적으로 실행되지 않..

SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size

SQL Server 2016 대용량 데이터 로드시 최소 로깅(minimal logging) 과Batch Size · Version : SQL Server 2016 SQL Server에서는 대용량 데이터를 로드(bulk load)할때 시스템의 오버헤드를 줄이기 위해 최소 로깅(minimal logging)을 사용한다. 최소 로깅에 대해서는 아래 링크를 참고한다. · Bulk Import Optimizations (Minimal Logging) : https://blogs.msdn.microsoft.com/sqlserverstorageengine/2008/02/04/bulk-import-optimizations-minimal-logging/ SQL Server 2016에서는 최소 로깅의 기능 개선 일부로 인..

SQL Server 설치시 발생하는 1638 오류

SQL Server 설치시 발생하는 1638 오류 · Version : SQL Server 2017 SQL Server를 설치할 때, 아래와 같이 오류코드1638에 해당하는 오류가 발생하는 경우가 있다. 이 문제는 Microsoft Visual C ++ 2017 Redistributable 를 설치하여 해결할 수 있다. 아래 링크에서 다운로드 할 수 있다. · X64 : https://go.microsoft.com/fwlink/?LinkId=746572 · x86 : https://go.microsoft.com/fwlink/?LinkId=746571 설치 후 재부팅이 필요할 수 있기 때문에, SQL Server를 설치하기전에 해당 재배포 가능 패키지를 설치 후 SQL Server를 설치 할 수 있도록 한..

SQL Server 666코드의 고유 식별자 오류

SQL Server 666코드의 고유 식별자 오류 · Version : SQL Server SQL Server에서 UNIQUE 속성을 사용하여 클러스터된 인덱스(clustered index)를 만들지 않으면 데이터베이스 엔진은 4바이트의 고유 식별자 열을 테이블에 자동 추가하고 필요한 경우 데이터베이스 엔진은 키를 고유하게 만들기 위해 행에 고유 식별자 값을 자동으로 추가한다. 이 열과 해당 값은 내부적으로 사용되며 사용자가 보거나 액세스할 수 없다. 고유 식별자와 관련된 문제는 발생할 가능성의 거의 없지만 고유 식별자 키 값 제한인 2,147,483,648에 도달할 경우 오류코드 666이 발생할 수 있다. Msg 666, Level 16, State 2, Line 1 The maximum system-..

SQL Server AlwaysOn synchronous-commit 환경에서 동기화 레이턴시 트러블슈팅

SQL Server AlwaysOn synchronous-commit 환경에서 동기화 레이턴시 트러블슈팅 · Version : SQL Server SQL Server AlwaysOn synchronous-commit(동기 커밋) 환경에서HADR_SYNC_COMMIT 대기 정보를 이용해서 레이턴시 상태를 확인할 수 있다. HADR_SYNC_COMMIT대기는 SQL Server가 원격 복제본의 신호가 트랜잭션을 커밋하기를 기다리고 있음을 나타낸다. 트래잭션 커밋 대기 시간에 대한 자세한 정보는 아래 링크를 확인한다. · Troubleshooting High HADR_SYNC_COMMIT wait type with Always On Availability Groups : https://blogs.msdn.mi..

SQL Server Scheduling and Yielding 트러블슈팅

SQL Server Scheduling and Yielding 트러블슈팅 · Version : SQL Server SQL Server는 다중 스레드및 다중 태스크 시스템으로 SQLOS라고 불리는 자체 스레드 스케줄링 메커니즘을 가지고 있다. SQLOS에 대한 내용은 아래 링크를 참조 한다. · A new platform layer in SQL Server 2005 to exploit new hardware capabilities and their trends : https://blogs.msdn.microsoft.com/slavao/2005/07/20/platform-layer-for-sql-server · Inside the SQL Server 2000 User Mode Scheduler : https..