SQL Server 818

SQL Server 2014 Diagnostic Information Queries

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

SQL Server 2012 Contained Database

SQL Server 2012 Contained Database Version : SQL Server 2012 SQL Server 2012에서 제공되는 Contained Database(포함된 데이터베이스)는 다른 데이터베이스 및 해당 데이터베이스를 호스팅하는 SQL Server 인스턴스에서 격리된 데이터베이스이다. SQL Server 2012 인스턴스에서 데이터베이스를 격리하는 방법은 네 가지가 있다. 데이터베이스를 설명하는 메타데이터는 대부분 데이터베이스에 유지된다. 메타데이터는 master 데이터베이스 대신 해당 데이터베이스에 유지되거나 두 데이터베이스 모두에 유지된다. 모든 메타데이터는 동일한 데이터 정렬을 사용하여 정의된다. 데이터베이스를 통해 사용자 인증을 수행하여 SQL Server 인스턴스의..

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..

601 Error, Could not continue scan with NOLOCK due to SQL Server data Movement

601 Error, Could not continue scan with NOLOCK due to SQL Server data Movement 메시지 601, 수준 12, 상태 3, 프로시저 usp_SQLMVP, 줄 23 데이터 이동으로 인해 NOLOCK으로 계속 검색할 수 없습니다. Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 데이터 조회 프로시저 호출에서 다음과 같이 601 에러가 발생 하였다. 601 에러는 어떨떄 발생 할까? 601에러는 READ UNCOMMITTED, NOLOCK 힌트를 사용하여 데이터를 조회 할 때 하나 이상의 데이터가 페이지가 없기 때문에 발생한다. 페이지 분할로 이동했거나 페이지가 삭제되었을 경우 발생 한다. 즉 SQL Serv..

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

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

SQL Server Spinlock 소개

SQL Server Spinlock 소개 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 Spinlock은 Latch처럼 공유 데이터 구조에 대한 접근 스레드가 동기화 스토리지 엔진에 의해 사용되는 경량의 동기화 객체이다. Latch가 발생할 경우 연관된 오버헤드가 발생하는데 바쁠 때는 래치의 데이터 구조를 보호하는 것은 의미가 없다. 이 때문에 SQL Server는 Spinlock를 구현한다. SQL Server IO and Latch 설명 : http://sqlmvp.kr/140199995476 Latch의 경우는 쿼리가 Latch를 획득하지 못하였을 경우에는 대기 상태로 대기하고 이후에 실행 가능한 상태로 이동한다. 쿼리는 CPU에서 실행된 상태가 아니기..

Ad-hoc 쿼리와 실행계획

Ad-hoc 쿼리와 실행계획 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 Ad-hoc 쿼리를 실행 할 때 대소문자, 띄어쓰기, 스키마에 따라 기존의 실행 계획이 사용되지 않고 새로운 실행 계획이 생성되어 사용된다. Ad-hoc 쿼리는 컴파일 과정을 거치며 실행 계획을 생성하며 컴파일과 실행 계획 생성에 따른 성능 병목이 발생 할 수 있다. [대소문자, 공백에 따른 실행계획 생성] Ad-hoc으로 쿼리를 사용 할 경우 Case와 공백에 따라서도 다른 쿼리로 인식되어 새로운 실행계획이 생성된다고 하였다. 다음 예제를 통해 알아보자. USE AdventureWorks2014; DBCC FREEPROCCACHE WITH NO_INFOMSGS; GO SELECT S..

로그인 계정이 접근할 수 있는 데이터베이스 확인

로그인 계정이 접근할 수 있는 데이터베이스 확인 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server 로그인 계정은 특정한 데이터베이스에 접근할 수 있다. 생성된 로그인 계정이 접근 할 수 있는 데이터베이스를 확인하는 방법에 대해서 알아본다. 실습을 위해 로그인 계정을 생성한다. USE [master]; GO -- add "boss" to sysadmin: CREATE LOGIN boss WITH PASSWORD = 'x', CHECK_POLICY = OFF; ALTER SERVER ROLE sysadmin ADD Member boss; -- add "dev1" to serveradmin: CREATE LOGIN dev1 WITH PASSWORD..