전체 글 1383

SQL Server가 서비스 격리를 처리하는 방법

SQL Server가 서비스 격리를 처리하는 방법 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에 연결되어 있는 사용자를 볼 때 sys.dm_exec_session을 사용하여 확인 할 수 있다. 예를 들어 나는 SQL Server Agent 서비스 계정을 알고 있다. 하지만 그 로그인으로 모든 연결을 볼 수 는 없다. 이것은 서비스 격리 때문이다. 이 기능은 Windows Vista부터 도입되었다. SQL Server 2008 이전에는 액세스 권한을 부여하기 위해 Domain\Username 또는 ComputerName\Username 방법을 지원하였다. 그렇다면 격리수준은 무엇일까? 모든 Windows 사용자 계정, 보안 그룹 및 컴퓨터 계정은 고..

쿼리 매개변수화 확인하기

쿼리 매개변수화 확인하기 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server를 업그레이드 하였는데 성능이 느려졌다? 무슨 일이 발생한 것일까? 쿼리가 느려진 원인과 실행된 쿼리가 매개변수화 되었는지 확인하는 방법에 대해서 알아보자. 이 포스트는 CSS SQL Server Engineers 블로그에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였다. 번역의 오류나 기술적 오류 가능성을 미리 알려두며 자세한 내용은 원문을 참고 하길 바란다. 우선 이 글을 읽기 전에 매개변수화에 대해서 알아보도록 하자. 매개변수화는 다음 아티클을 참고 한다. 단순 매개 변수화 : http://sqlmvp.kr/140189013252 강제 매개 변수화 : http://sql..

SQL Server에서 Drop 및 Delete 사용자 찾기

SQL Server에서 Drop 및 Delete 사용자 찾기 Version : SQL Server 2005, 2008, 2008R2, 2012 누군가 SQL Server에서 데이터를 삭제 했다? 그런데 누가 명령을 실행 하였는지 아무도 말을 하지 않는다? 트랜잭션 로그를 사용하여 어떤 사용자가 데이터를 삭제하였는지 알아보자. 이번 포스트를 시작하기 전에 지난 포스트를 참고하면 이해하는데 많은 도움이 될 듯 하다. 트랜잭션 로그 읽기 : http://sqlmvp.kr/140202102618 [Delete 문을 실행한 사용자 찾기] 데이터를 삭제한 사용자를 찾기 위해 예제 데이터베이스 및 테이블을 생성한다. --Create DB. USE [master]; GO CREATE DATABASE ReadingDBL..

SQL Server 트랜잭션 로그 읽기

SQL Server 트랜잭션 로그 읽기 Version : SQL Server 2005, 2008, 2008R2, 2012 데이터베이스에서 발생하는 행위는 트랜잭션 로그 라는 곳에 기록된다. 문서화되지 않은 기능 fn_dblog 함수를 사용하여 트랜잭션 로그의 정보를 읽어보자. Fn_dblog는 트랜잭션의 시작 LSN과 종료 LSN을 필요로 한다. NULL은 기본값으로 트랜잭션 로그 파일의 모든 로그 레코드를 반환한다. 실습을 위해 데이터베이스를 생성한다. --Create DB. USE [master]; GO CREATE DATABASE ReadingDBLog; GO -- Create tables. USE ReadingDBLog; GO CREATE TABLE [Location] ( [Sr.No] INT I..

MaxBCPThreads에 따른 BCP 병렬출력

MaxBCPThreads에 따른 BCP 병렬출력 Version : SQL Server 2005, 2008, 2008R2, 2012 BCP 유틸리티(BCP.exe)는 BCP(Bulk Copy Data) API를 사용하는 명령줄 도구이다. BCP는다음과 같은 기능을 수행 할 수 있다. 데이터 파일로 SQL Server 테이블의 데이터를 대량으로 내보낸다. 쿼리의 데이터를 대량으로 내보낸다. SQL server 테이블로 데이터 파일의 데이터를 대량으로 가져온다. 서식 파일을 생성한다. BCP 사용 : http://sqlmvp.kr/140176987081 BCP를 병렬로 처리하기 위해서 MaxBCPThreads를 지정하여 사용하게 된다. MaxBCPThreads를 0이 아닌 값으로 설정 하여 실행 하였을 때 병..

확장이벤트와 dm_os_wait_stats 대기유형 매핑

확장이벤트와 dm_os_wait_stats 대기유형 매핑 Version : SQL Server 2008, 2008R2, 2012 SQL Server 확장이벤트와 dm_os_wait_stats 대기유형의 매핑 관계를 알아본다. 아래 대기유형 목록은 SQL Server 2012 Sp1 Cu6 기반으로 제작 되었다. [확장이벤트] select * from sys.dm_xe_map_values [sys.dm_os_wait_stats] select * from sys.dm_os_wait_stats [매핑 표] wait_type in sys.dm_os_wait_statsmap_value in sys.dm_xe_map_valuesASYNC_NETWORK_IONETWORK_IOBROKER_TASK_STOPSSB_TAS..

장기 트랜잭션 확인 및 경고 설정

장기 트랜잭션 확인 및 경고 설정 Version : SQL Server 2005, 2008, 2008R2, 2012 장기 트랜잭션이 많은 경우 잠재적인 문제(차단/ 잠금)가 발생 할 수 있다. 장기 트랜잭션이 발생하는 경우는 실제 작업이 오래 걸리는 경우도 있지만 사용자가 트랜잭션을 닫지 않아 발생하는 경우도 많다. 따라서 장기 트랜잭션이 있는지 확인하여 알림을 받을 수 있다면 DB를 운영하는데 많은 도움이 될 수 있다. 다음 스크립트는 현재 실행 중인 트랜잭션의 목록을 나타낸다. SELECT * FROM sys.dm_tran_active_transactions dtat INNER JOIN sys.dm_tran_session_transactions dtst ON dtat.transaction_id = d..

SQL 데이터 수집툴 DiagManager 사용법

SQL 데이터 수집툴 DiagManager 사용법 Version : SQL Server 2005, 2008, 2008R2 SQL Server의 문제를 해결하기 위해 사용자 정의 데이터를 수집하는 방법 중 SQL 데이터 수집 툴 DiagManager 사용법에 대해 알아 보자. DiagManager 다운로드 : http://diagmanager.codeplex.com/ 다운로드 받은 파일을 설치하고 실행하면 다음과 같은 UI를 볼 수 있다. 플랫폼 탭에서 수집하려는 서버의 CPU 종류를 선택 한다. SQL Server의 클러스터 인스턴스에서 캡처를 실행할 경우 컴퓨터 이름과 SQL 가상 이름을 지정하는 것이 좋다. 다음 링크를 참고 한다. http://diagmanager.codeplex.com/wikipa..

Windows Server 2012 R2 그룹 관리 서비스 계정 및 SQL 서버

Windows Server 2012 R2 그룹 관리 서비스 계정 및 SQL 서버 Version : SQL Server 2005, 2008, 2008R2, 2012 Windows Server 2012 R2 SQL Server 계정을 변경할 때 서비스 다운타임이 고민된다면 Windows Server 2012 R2의 그룹 관리 서비스 계정을 사용하면 어떨까? 이번 포스트는 SQL Server Premier Field Engineer Blog에 게시된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 자세한 내용은 원문을 참고 하길 바란다. 윈도우 서버 2008R2에 도입된 독립 관리 서비스 계정은 도메인 계정을 관리하고 자동 암호 관리 및 간소화된 SPN 관리..

Kerbros 구성 관리자 툴

Kerbros 구성 관리자 툴 Version : SQL Server 2005, 2008, 2008R2 Kerberos 구성 관리자는 SQL Server에 대한 Kerberos를 진단하고 수정하는 도구 이다. 커버로스 구성 관리자 다운로드 : http://www.microsoft.com/en-us/download/details.aspx?id=39046 KerbrosConfgiMgr은 다음과 같은 기능을 수행 한다. 서버에 설치된 OS 및 Microsoft SQL Server 인스턴스에 대한 정보 수집 서버의 모든 SPN 및 위임 구성에 보고 SPN이 대표단의 잠재적인 문제를 식별 잠재적 SPN 문제를 해결 이 툴은 2012의 RS 및 SharePoint 통합은 지원하지 않는다. SharePoint에 대한 ..