전체 글
-
문서화 되지 않은 %%lockres%% 컬럼SQL Server/Architecture 2011. 4. 21. 18:42
안녕하세요. 비전팀 1기 강동운입니다. 이번에는 문서화되지 않은 %%lockres%% 컬럼에 대해 소개해드리겠습니다. 이 컬럼은 Lock 과 Deadlock을 조사하는데 사용됩니다. 이 값은 테이블에 Clustered Index 존재의 여부에 따라서 두가지 형태로 존재할 수 있습니다. 1. RID 형태(Clustered Index가 존재하지 않는 경우) 2. Hash 값(Clustered Index가 존재하는 경우) 예제를 통해서 살펴보도록 하겠습니다. IF OBJECT_ID('TblTest','U') IS NOT NULL DROP TABLE TblTest GO CREATE TABLE TblTest ( IDX INT IDENTITY(1,1) NOT NULL , DATA CHAR(500) ) GO --//..
-
SQL Server에서 View의 SCHEMABINDING 이란?SQL Server/Architecture 2011. 4. 21. 18:41
안녕하세요. 비전팀 1기 강동운입니다. 이번에는 뷰를 생성할 때 WITH SCHEMABINDING 옵션에 대해서 얘기를 꺼내볼까 합니다. BOL에 찾아보면... SCHEMABINDING기본 테이블의 스키마에 뷰를 바인딩합니다. SCHEMABINDING을 지정하면 뷰 정의에 영향을 미치는 방법으로 기본 테이블을 수정할 수 없습니다. 뷰 정의 자체를 먼저 수정하거나 삭제하여 수정할 테이블에 대해 종속성을 제거해야 합니다. SCHEMABINDING을 사용하는 경우 select_statement에 참조되는 테이블, 뷰 또는 사용자 정의 함수의 두 부분으로 구성된 이름(schema.object)이 있어야 합니다. 참조된 개체는 모두 같은 데이터베이스에 있어야 합니다. SCHEMABINDING 절로 만든 뷰에서 사..
-
Extent 2번째 이야기.. 그리고 IAM(Index Allocation Map)SQL Server/Architecture 2011. 4. 21. 18:39
안녕하세요. 비전팀 1기 강동운입니다. 요즘 데이터베이스 아키텍처 부분이 푹 빠져있습니다 ^^.. 이번에는 IAM 과 저번 설명드린 Extent의 부가적인 설명을 드리기 위해 작성하게 되었습니다. IAM은.. Index Allocation Map 의 약자이며... 테이블에 인덱스(또는 힙)당 기본적으로 한개씩 만들어지게 됩니다. (인덱스가 하나도 없는 경우에도.. Heap에 대해서 하나의 IAM 페이지가 생성이 됩니다.) (IAM은 인덱스(또는 힙)당 두개 이상이 될 수도 있는데요.. 그 부분은 이 글 후반부에 설명을 드리겠습니다.) 즉.. IAM을 통해 인덱스(또는 힙)가 체인으로 부모로써 연결하는 연결고리가 되는 셈이죠.. 예를들어... 1. 테이블에 인덱스 가 없다면.. (Heap만 존재하겠죠~~)..
-
Uniform Extent 와 Mixed ExtentSQL Server/Architecture 2011. 4. 21. 18:38
안녕하세요. SQLER 비전팀 1기 강동운입니다. 이번에는 Extent에 관련되서 얘기를 꺼내볼까 합니다. SQL Server에서 Extent는 공간 관리의 최소 단위라고 합니다. 그리고 8개의 page가 하나의 Extent안에 들어있다고 합니다. 하나의 Page가 8kb 이므로.. 하나의 Extent는 64kb 를 관리할 수 있게 됩니다. SQL Server에서 Extent는 두가지 형태로 존재됩니다. 1. Mixed Extent(혼합 익스텐트) 2. Uniform Extent(균일 익스텐트) Mixed Extent는 말그대로 혼합 익스텐트 입니다. 아까 말씀드렸다 싶이 하나의 Extent는 8개의 page가 존재한다고 했습니다. 하지만 이 Mixed Extent는 같은 개체가 아닌 다른 개체의 pag..
-
SQL Server 트랜잭션 격리 수준SQL Server/Transaction 2011. 4. 21. 18:35
디자인은 라이고님 디자인을 가져다 썻습니다 ^^; 감사합니다! SQL Server 는 총 6가지 격리 수준을 제공하고 있습니다. 하지만 오늘은 1~4번에 해당하는 격리 수준에 대해서 알아보려고 합니다. [트랜잭션 격리 수준] 1. READ UNCOMMITTED 2. READ COMMITTED 3. REPEATABLE READ 4. SERIALIZABLE SQL Server 2005부터 추가된 두가지 5. READ COMMITTED WITH SNAPSHOT 6. SNAPSHOT [선행 필요 Lock에 대한 지식] 1. S Lock: 공유 잠금(Shared Lock) 2. X Lock: 단독 잠금(Exclusive Lock) 3. Row, Page, Extent에 대한 기본 개념 및 잠금 범위 4. 암시적과..