DBA 33

SQL Server 2008R2 Diagnostic Information Queries

SQL Server 2008R2 Diagnostic Information Queries Version : SQL Server 2008R2 SQL Server 2008R2 진단 쿼리 – 이 쿼리 한방이면 SQL 상태 확인 가능. 첨부파일 SQL Server 2008R2 Diagnostic Information Queries.txt 참고. -- SQL Server 2008 R2 Diagnostic Information Queries -- Glenn Berry -- December 2014 -- Last Modified: December 18, 2014 -- http://sqlserverperformance.wordpress.com/ -- http://sqlskills.com/blogs/glenn/ -- Tw..

SQL Server 2008R2 Diagnostic Information Queries

SQL Server 2008R2 Diagnostic Information Queries Version : SQL Server 2008R2 SQL Server 2008R2 진단 쿼리 – 이 쿼리 한방이면 SQL 상태 확인 가능. 첨부파일 SQL Server 2008R2 Diagnostic Information Queries.txt 참고. -- SQL Server 2008 R2 Diagnostic Information Queries -- Glenn Berry -- December 2014 -- Last Modified: December 18, 2014 -- http://sqlserverperformance.wordpress.com/ -- http://sqlskills.com/blogs/glenn/ -- Tw..

SQL Server 2005 Diagnostic Information Queries

SQL Server 2005 Diagnostic Information Queries Version : SQL Server 2005 SQL Server 2005 진단 쿼리 – 이 쿼리 한방이면 SQL 상태 확인 가능. 첨부파일 SQL Server 2005 Diagnostic Information Queries.txt 참고. -- SQL Server 2005 Diagnostic Information Queries -- Glenn Berry -- December 2014 -- Last Modified: December 18, 2014 -- http://sqlserverperformance.wordpress.com/ -- http://sqlskills.com/blogs/glenn/ -- Twitter: Glen..

데이터베이스의 모든 인덱스 생성 삭제 스크립트 만들기

데이터베이스의 모든 인덱스 생성 삭제 스크립트 만들기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 데이터베이스에 생성되어 있는 모든 인덱스를 생성하거나 삭제하는 스크립트를 만들어 본다. 이렇게 스크립트를 만들어 놓는 이유는 DBA로서 항상 복구할 준비를 할 수 있어야 하기 때문이다. 인덱스가 삭제되거나 손상되었을 때 또는 사본을 만들어야 할 때 유용하게 사용할 수 있다. [인덱스 삭제 스크립트] 데이터베이스에 있는 모든 인덱스를 삭제하는 스크립트를 생성한다. DECLARE @SchemaName VARCHAR(256)DECLARE @TableName VARCHAR(256) DECLARE @IndexName VARCHAR(256) DECLARE @TSQLDro..

클러스터된 SQL 서버 인스턴스에 대한 호스트 이름 확인

클러스터된 SQL 서버 인스턴스에 대한 호스트 이름 확인 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server 클러스터 페일오버를 트러블슈팅할때 페일오버된 시간과 페일오버 이전 호스트의 이름을 확인하는 것은 필수 사항이다. 이번 시간에 장애조치가 발생한 시간과 이전에 실행된 SQL Server 이름을 확인하는 방법에 대해서 알아본다. SQL Server 클러스터링 환경에서 페일오버 이후에는 이전의 SQL Server 노드를 식별하는 것이 곤란하다. 로깅의 대부분이 네트워크 또는 가상 서버의 인스턴스명을 사용하기 때문이다. 이때 SQL Server 에러로그와 이벤트 뷰어 로그를 사용하여 확인 할 수 있다. SQL Server가 현재 실행중인 노드/..

sys.dm_tran_locks 를 이용한 잠금 정보 확인

sys.dm_tran_locks 를 이용한 잠금 정보 확인 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 Sys.dm_tran_locks는 현재 활성 상태인 잠금 관리자 리소스에 대한 정보를 반환 한다. 각 행은 이미 허용된 잠금 또는 허용 대기 중인 잠금에 대해 현재 활성 상태인 잠금 관리자 요청을 나타낸다. Sys.dm_tran_locks : http://msdn.microsoft.com/ko-kr/library/ms190345.aspx select * from sys.dm_tran_locks; Resource_type : 리소스 유형을 나타낸다. 리소스는 DATABASE, FILE, OBJECT, PAGE, KEY, EXTENT, RID, APPLICA..

외래키 제약 조건 삭제 후 재작성 스크립트 생성하기

외래키 제약 조건 삭제 후 재작성 스크립트 생성하기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 외래키 삭제 후 재작성 하는 스크립트를 생성하는 스크립트이다. SSMS 기능에도 스크립트 생성 기능은 있지만 스키마 또는 데이터 및 스키마, 데이터만 가능하다. 아래 스크립트는 외래키만 삭제, 생성하는 쿼리문을 만들어 제공한다. CREATE TABLE #x -- feel free to use a permanent table ( drop_script NVARCHAR(MAX), create_script NVARCHAR(MAX) ); DECLARE @drop NVARCHAR(MAX) = N'', @create NVARCHAR(MAX) = N''; -- drop is ..

페이지 ID로 테이블 이름 찾기

페이지 ID로 테이블 이름 찾기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 손상된 페이지가 있을 때 어느 테이블의 손상인지 확인 하는 방법에 대해서 알아본다. 손상된 페이지가 있을 경우 일반적으로 DBCC CHECKDB를 실행하지만 데이터베이스가 TB 단위인 경우에는 이 문제를 파악하기 위해 몇 시간이 걸릴지도 모르는 일이다. 또 다른 확인 방법으로는 PAGELATCH_EX 대기를 보고 sys.dm_os_waiting_tasks 의 resource_description 정보를 이용하여 테이블 이름을 알아 낼 수도 있다. suspect_pages 테이블의 데이터를 이용하여 테이블 이름을 확인해 보자. Suspect_page 테이블은 SQL Server 20..

DBCC CHECKPRIMARYFILE 사용법

DBCC CHECKPRIMARYFILE 사용법 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 현재 생성되어 있는 데이터베이스의 파일정보를 확인하는 방법에는 SSMS를 활용한 방법과 쿼리로 확인하는 방법이 있다. SSMS의 UI를 사용하는 경우 데이터베이스 수 만큼 클릭하여 확인해야 하는 반복적인 노동 작업이다. 문서화 되지 않은 DBCC CHECKPRIMARYFILE 명령을 이용하면 파일의 메타 정보(디스크 경로, 데이터베이스 이름)를 쉽게 확인 할 수 있다. 비록 문서화 되어 있지 않은 명령어 이지만 위험성이 없는 작업이므로 걱정하지 않아도 된다. [기본 구문] Syntax:DBCC CHECKPRIMARYFILE ({'PhysicalFileName'} [,..

TempDB 파일 사이즈 증가 시 경고 받기

TempDB 파일 사이즈 증가 시 경고 받기 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server를 운영하면서 모니터링해야 할 항목들이 있다. 특히 시스템 데이터베이스의 경우 SQL Server를 운영하는데 필수적인 사항으로 이상이 발견되었을 때 즉시 알림을 받을 수 있도록 해야 한다. 이번 포스트는 시스템 데이터베이스에서 가장 많이 사용되고 있는 tempdb의 파일 사이즈 증가 시 알림을 받기 위한 방법으로 SQL Serve Agent 기능을 활용하는 방법에 대해서 알아본다. 경고 작업을 생성하기 위해 SSMS를 실행하여 SQL Server Agent에서 경고를 선택 한다. 경고에 사용할 이름을 입력하고 유형을 선택 한다. 데이터파일의 증가는 ..