SQL Server/SQL Server Tip 662

마지막 백업 시간 및 DBCC 확인

마지막 백업 시간 및 DBCC 확인 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 최근 마지막 백업은 언제일까? 마지막으로 성공한 DBCC는 언제일까? 아마 대부분의 DBA들은 백업 파일을 이름(날짜로 이름이 생성되어 있는 경우) 또는 파일의 생성날짜로 백업 시간을 알아 낼 것이다. 다음 스크립트를 사용하여 현재 생성되어 있는 데이터베이스의 마지막 백업 날짜 및 DBCC 날짜를 확인하여보자. SET NOCOUNT ON GO USE master GO -- Trace flag to make DBCC Page command results available in the current connection DBCC TRACEON(3604) GO CREATE..

DMV를 활용한 CPU 트러블슈팅 - Sys.dm_exec_query_stats, sys.dm_os_ring_buffers 활용

DMV를 활용한 CPU 트러블슈팅 Sys.dm_exec_query_stats, sys.dm_os_ring_buffers 활용 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 제공되는 DMV(Dynamic Management View, 동적관리뷰)를 활용하여 CPU 사용량이 높은 쿼리를 확인 할 수 있다. 이 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고 한다. 다음 스크립트는 Sys.dm_exec_query_stats, Sys.dm_os_ring_buffers DMV를 활용하여 30..

백업 미디어 세트에 압축 백업 추가하기

백업 미디어 세트에 압축 백업 추가하기 Version : SQL Server 2008, 2008R2, 2012 SQL Server 2008부터 도입된 압축 백업을 사용할 때 기존의 압축되지 않은 미디어 백업 세트에 추가하려고 시도하면 오류가 발생한다. 백업 미디어 세트와 백업 설정에 대해서 알아 보자. 이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고하길 바란다. 백업 압축(http://msdn.microsoft.com/ko-kr/library/bb964719(SQL.100).aspx)에 대한 문서를 보면 압축된 백업과 압축되지 않은 백..

Collation에 따른 실행계획 변경과 성능 문제

Collation에 따른 실행계획 변경과 성능 문제 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 Collate는 데이터베이스 정의 또는 열 정의에 적용하여 데이터를 정렬을 정의하거나 문자열 식에 적용하여 데이터 정렬 캐스트를 정의한다. Collate에 대한 수준은 데이터베이스를 생성하거나 변경, 테이블 생성 또는 컬럼 변경 작업을 할때 지정 할 수 있으며 char, varchar, text, nchar, nvarchar, ntext 데이터 형식에 대해서만 적용 할 수 있다. 대부분 기본값을 사용하면 Windows의 기본 값 또는 SQL Server 설치 시 설정된 기본값으로 데이터베이스 또는 테이블이 생성 된다. 따라서 국가에(또는 사용자) 따..

SQL Connection Timeout 디버깅 with BizTalk Server

SQL Connection Timeout 디버깅 with BizTalk Server Version : SQL Server 2005, 2008, 2008R2, 2012 BizTalk Server 2006R2 SQL Server는 사용자 연결에 대하여 커넥션 풀을 사용한다. 커넥션 풀은 하나의 커넥션에 대해 100개의 풀이 할당(.NET 경우)되어 사용된다. SQL Server Connection Pooling : http://sqlmvp.kr/140198995563 이번 포스트는 CSS SQL Server Engineer 팀블로그에 게시된 내용으로 BizTalk 2006R2 서버에서 발생한 연결시간 오류에 원인을 메모리 덤프를 이용하여 찾는 방법이다. 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 ..

인스턴스 파일 초기화 활성

인스턴스 파일 초기화 활성 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 운영할 때 데이터베이스를 생성하거나 수정할 때 디스크 파일을 할당하는데 오랜 시간이 걸릴 수 있다. 좀더 빠르게 파일을 할당 할 수는 없을까? 볼륨 관리 작업 권한을 이용하는 방법과 이를 확인하는 추적플래그에 대해 알아 보자. 이 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 바탕으로 정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고하길 바란다. SQL Server 시작시 서비스 계정에 대한 즉시 파일 초기화(SE_MANAGE_VOLUME_NAME, 볼륨 관..

누락된 인덱스 확인하기

누락된 인덱스 확인하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에는 인덱스를 사용하여 데이터베이스의 성능을 높일 수 있다. 하지만 인덱스가 생성되어 있어도 사용하지 못하면 좋은 성능을 낼 수 없다. 이번 시간에는 인덱스가 생성되어 있지만 사용하지 않는 인덱스(Missing Index)를 확인 하는 방법을 알아보자. 이 내용은 지난 포스트에서 다루었던 내용을 학습하고 보면 더욱 좋을 듯 하다. DMV를 활용한 누락된 인덱스 확인 : http://sqlmvp.kr/140178606760 누락된 인덱스를 확인하는 방법 중 하나는 DMV를 이용하는 것이다. 위의 아티클에 잘 설명되어 있듯이 sys.dm_db_missing_index_details, s..

비클러스터 인덱스 페이지 내용

비클러스터 인덱스 페이지 내용 Version : SQL Server 2008, 2008R2, 2012 SQL Server의 비클러스터 인덱스에 저장되어 있는 내용을 살펴 본다. 다음 스크립트는 사용하여 예제 데이터베이스 및 데이터 생성한다. use master go SET STATISTICS XML OFF SET STATISTICS IO OFF SET NOCOUNT ON go IF DB_ID('HeapsDB') IS NOT NULL BEGIN ALTER DATABASE HeapsDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE DROP DATABASE HeapsDB END GO CREATE DATABASE HeapsDB GO ALTER DATABASE HeapsDB SET RE..

ATTACH DATABASE 오류 1314

ATTACH DATABASE 오류 1314 Version : SQL Server 2005, 2008, 2008R2, 2012 Windows Vista, 7, Server 2008, 2008R2 SQL Server에서 Database를 ATTACH 할 때 발생하는 1314 오류에 대해서 알아보자. 이 포스트는 CSS SQL Server Engineers 팀 블로그에 게시된 내용이며 필자가 읽고 이해한 내용을 바탕으로 정리하였다. 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고한다. 1314 오류는 SQL Server 코드 오류이며 attach database 할 때 발생 한다. 데이터베이스 파일을 열 때 SQL Server 는 I/O 성능을 개선하는데 도움을 주기 위해 Set..

SQL Server 2016 동적 데이터 마스킹

SQL Server 2016 동적 데이터 마스킹 Version : SQL Server 2016 SQL Server 2016의 새로운 보안기능인 동적 데이터 마스킹 (Dynamic Data Masking, DDM)에 대해서 알아본다. SQL 데이터베이스 동적 데이터 마스킹에서는 권한이 없는 사용자에 대해 중요한 데이터를 마스킹해 표시함으로써 데이터 노출을 제한한다. 동적 데이터 마스킹을 수행하면 고객이 응용 프로그램 레이어에 대한 영향을 최소화하면서 표시할 중요한 데이터의 양을 지정할 수 있도록 하여 중요한 데이터에 대한 무단 액세스를 방지할 수 있다. 동적 데이터 마스킹은 지정된 데이터베이스 필드에 대한 쿼리의 결과 집합에서 중요한 데이터를 숨기는 정책 기반 보안 기능이다. 이때 데이터베이스의 자체는 변..