SQL Server/Architecture
-
가상로그파일(VLF)SQL Server/Architecture 2014. 2. 3. 10:01
SQLer 사이트에 VLF 관련 질문이 올라와서 답변을 했었는데.. 블로그에 정리해두면 좋을 것 같아 글을 작성하게 되었습니다~^^ 요즘 에버노트 사용하느라 블로그에 글쓰는게 줄어들고 있네요 -_-;; 질문글: http://www.sqler.com/bSQLQA/597442 안녕하세요~^^ LDF는 순환구조 형태로 되어있습니다.아래 나오는 네모를 VLF라고 생각하시면 됩니다. □: 트랜잭션 로그 백업이 되었거나 혹은 아직 사용되지 않은 것(DBCC LOGINFO 에서 Status 가 0인 값)■: 현재 사용중이거 혹은 이미 사용했으나 트랜잭션 로그 백업이 되지 않은 것(DBCC LOGINFO 에서 Status 가 2인 값) 기본■□□□□□□□□□□□□ DML이 많이 발생하면... 이렇게 로그가 많이 사용이..
-
GAM(Global Allocation Map)SQL Server/Architecture 2012. 8. 27. 14:14
안녕하세요 ^^ 이스트럭(강동운) 입니다. 오랬만에 SQL Server 아키텍처에 관련된 자료를 소개해드립니다. 오늘은 GAM(Global Allocation Map)에 대해서 알아볼까 합니다. 우선 msdn: http://msdn.microsoft.com/ko-kr/library/ms175195(v=sql.105) SQL Server 에서는.. 혼합 익스텐트(Mixed Extent) 와 균일 익스텐트(Uniform Extent)가 존재합니다. 그리고 각각의 익스텐트가 혼합 또는 균일인지, 비어있는지 안 비어있는지, 사용중인지 아닌지를 파악하기 위해.. GAM과 SGAM을 사용합니다. GAM과 SGAM은 511,230 페이지마다 한개씩 나오고 GAM의 페이지 번호는 2... 따라서 다음번에 GAM이 나오..
-
Allocation Ordered Scan 과 READUNCOMMITTEDSQL Server/Architecture 2012. 8. 27. 12:03
안녕하세요. 이스트럭(강동운) 입니다. 오래전부터 이 부분을 정리해서 올리려고 했는데.. 오늘 답변을 하다가 간단하게나마 정리해서 올리게 됩니다. 우선 이 내용을 이해하기 위해서는.. Mixed Extent(혼합익스텐트), Uniform Extent(균일 익스텐트), IAM(Index Allocation Map)을 알고 있다는 전제하에 설명을 드립니다. 위의 정보에 대해서 잘 모르신다면.. 아래 글을 우선 읽어주시기 바랍니다~^^ Mixed Extent & Uniform Extent: http://www.sqler.com/347983IAM(Index Allocation Map): http://www.sqler.com/355204 READUNCOMMITTED를 모르신다면...트랜잭션 격리수준: http:/..
-
트랜잭션 3가지 상태!SQL Server/Architecture 2012. 3. 26. 12:06
원문: http://www.sqler.com/425264 XACT_STATE(Transact-SQL): http://msdn.microsoft.com/ko-kr/library/ms189797.aspx SET XACT_ABORT(Transact-SQL): http://msdn.microsoft.com/ko-kr/library/ms188792.aspx XACT_STATE : 1.비활성 트랜잭션 0 2.활성 상태이고 커밋 가능한 트랜잭션은 1 3.활성 상태이지만 커밋할 수 없는 상태 -1 -- 아래는 실험(반복 실행 >_
-
SMALLDATETIME 과 DATETIME의 아키텍처SQL Server/Architecture 2011. 4. 21. 18:43
참고 URL: http://msdn.microsoft.com/ko-kr/library/ms187819(SQL.90).aspx 아키텍처를 좀더 자세히 분석해보겠습니다. DATETIME = >8 byte (앞에 4 byte 는 1900-01-01 이후의 날짜 수, 그 후에 4 byte는 1/300초의 수) SMALLLDATETIME => 4byte(앞에 2byte 는 1900-01-01 이후의 날짜 수, 그 후에 2byte는 00:00:00 ~ 해당일자의 분) DECLARE @DATETIMEDATETIME ,@SMALLDATETIMESMALLDATETIME SET @DATETIME = '2010-10-20 13:23:57.777' SET @SMALLDATETIME = '2010-10-20 13:23:57.7..
-
문서화 되지 않은 %%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만 존재하겠죠~~)..