분류 전체보기 1385

SQL Server 트랜잭션 로그 아키텍처(1/4) – 트랜잭션 로그 논리 아키텍처

SQL Server 트랜잭션 로그 아키텍처(1/4) – 트랜잭션 로그 논리 아키텍처 Version : SQL Server 2005, 2008, 2008R2, 2012 데이터베이스의 무결성을 보장하기 위해서 사용되는 트랜잭션 로그의 기록 방법 및 데이터 복구에 트랜잭션 로그가 사용되는 방법을 이해하고 기본 아키텍처에 대해서 알아 보자. 이번 트랜잭션 로그 아키텍처는 총 4부로 진행 된다. SQL Server 트랜잭션 로그는 로그레코드 문자열처럼 논리적으로 작동 한다. 각 로그 레코드는 LSN(로그 시퀀스 넘버)으로 식별 된다. 각 새 로그 레코드는 LSN과 함께 로그의 논리적 끝에 작성되며 이때 LSN은 오름차순이다. 로그 레코드는 작성된 순서대로 저장 된다. 각 로그 레코드는 자신이 속한 트랜잭션 ID가..

파일 및 파일 그룹 아키텍처

파일 및 파일 그룹 아키텍처 Version : All Version SQL Server에서 데이터베이스는 운영체제의 파일 시스템에 종속 적이다. 데이터와 로그는 같은 파일에 저장되지 않으며 각 파일은 한 데이터베이스에서만 사용 된다. 파일 그룹은 명명된 파일 모음이며 백업 및 복원 작업 등의 데이터 배치 및 관리 태스크에 도움이 된다. [데이터베이스 파일] 데이터베이스 파일의 종류에는 3가지의 유형이 있다. 주 데이터 파일 : 데이터베이스의 기본 파일 이며 모든 데이터베이스에는 하나의 주 데이터 파일이 있다. 주로 사용되는 확장자는 .mdf 이다. 보조 데이터 파일 : 주 데이터 파일이 아닌 모든 데이터 파일을 구성. 데이터베이스에 따라 보조 데이터파일을 사용하지 않거나 여러 개 있을 수도 있다. 주로 ..

SQL Server 페이지 및 익스텐트 아키텍처(4/4) – 수정된 익스텐트 추적

SQL Server 페이지 및 익스텐트 아키텍처(4/4) – 수정된 익스텐트 추적 Version : SQL Server 2005, 2008, 2008R2, 2012 페이지 및 익스텐트 아키텍처의 마지막 챕터 이다. 지금까지는 페이지 및 익스텐의 구조, 익스텐트에 대한 할당 관리, 공간관리 등에 대해서 살펴 보았다. 페이지 및 익스텐트 이해 : http://sqlmvp.kr/140186753568 익스텐트 할당 미 및 빈 공간 관리 : http://sqlmvp.kr/140186842239 개체에서 사용하는 공간 관리 : http://sqlmvp.kr/140186908637 이번 시간에는 수정된 익스텐트 추적에 대해서 알아 보도록 한다. 수정된 익스텐트에 대한 이해는 백업과도 큰 관련이 있다. 백업이 이루질..

SQL Server 페이지 및 익스텐트 아키텍처(3/4) – 개체에서 사용하는 공간 관리

SQL Server 페이지 및 익스텐트 아키텍처(3/4) – 개체에서 사용하는 공간 관리 Version : SQL Server 2005, 2008, 2008R2, 2012 앞의 포스팅에서 페이지 및 익스텐트에 대한 이해, 익스텐트 할당 및 빈 공간 관리등에 대해서 살펴 보았다. 페이지 및 익스텐트 이해 : http://sqlmvp.kr/140186753568 익스텐트 할당 및 빈 공간 관리 : http://sqlmvp.kr/140186842239 이번 시간에는 개체에서 사용하는 공간 관리에 대해서 알아 본다. IAM(Index Allocation Map)페이지는 할당 단위에 사용되는 데이터베이스 파일의 4GB 부분에 익스텐트를 매핑한다. 할당 단위의 유형은 다음과 같다. IN_ROW_DATA : 힙 또는..

SQL Server 페이지 및 익스텐트 아키텍처(2/4) – 익스텐트 할당 및 빈공간 관리

SQL Server 페이지 및 익스텐트 아키텍처(2/4) – 익스텐트 할당 및 빈공간 관리 Version : SQL Server 2005, 2008, 2008R2, 2012 앞에서 SQL Server의 기본 저장공간 단위는 페이지(8KB)이며 8개의 페이지가 모여 익스텐트로 불리며 관리 된다고 설명 하였다. 페이지 및 익스텐트 이해 : http://sqlmvp.kr/140186753568 이번 시간에는 익스텐트 할당 미 및 빈공간에 대해서 어떻게 관리하는지 알아 보자. 익스텐트 할당을 SQL Server의 구조는 비교적 간단하다. 이 데이터 구조를 사용하면 다음과 같은 이점이 있다. 빈 공간 정보는 빽빽하게 묶여 있으므로 이 정보를 포함하는 페이지의 수는 비교적 적다. 따라서 할당 정보 검색에 필요한 디..

SQL Server 페이지 및 익스텐트 아키텍처(1/4) – 페이지 및 익스텐트 이해

SQL Server 페이지 및 익스텐트 아키텍처(1/4) – 페이지 및 익스텐트 이해 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server의 기본 저장 단위는 페이지 이다. 익스텐트는 물리적인 페이지 8개의 모음이다. 앞으로 총 4부에 걸쳐 페이지 및 익스텐트의 아키텍처를 살펴 보자. 페이지 및 익스텐트 아키텍처를 이해 함으로써 데이터베이스를 효율적인 디자인 및 개발 하는데 많은 도움이 된다. SQL Server의 기본 저장 단위는 페이지라고 하였다. 데이터베이스에서 할당되는 데이터 파일(MDF, LDF)의 디스크 공간은 논리적인 페이지로 나누어 지며 0 ~ N 까지의 숫자가 연속적으로 페이지에 부여 된다. 디스크 I/O 작업은 페이지 수준에서 수행되며 익..

SQL Server Error Log 보관 주기 설정

SQL Server Error Log 보관 주기 설정 Version : SQL Server 2005, 2008, 2008R2, 2012 DB를 운영할 때 많이 보게 되는 항목 중 하나가 SQL Server ErrorLog 이다. 에러로그는 SQL Server에 문제가 발생 하였을 때나 서비스가 재시작, 또는 사용자가 지정한 내용에 대해서 로그를 남겨주는 기능을 한다. 서비스가 재시작 될 때마다 SQL Server Errorlog는 다음 순서로 싸이클링 된다. 문제는 장애나 기타 문제로 인하여 SQL Server의 에러로그가 많이 남았을 때 보관 개수로 인하여 실제 문제가 발생했던 시점의 에러를 확인하지 못하는 경우가 발생 한다. 그래서 에러로그의 보관 개수를 크게 설정 할 필요가 있다. 지난 아티클에서 ..

Anti-Virus로 인한 SQL Server 트러슈팅 (백신으로 인한 SQL Server 장애)

Anti-Virus로 인한 SQL Server 트러슈팅 (백신으로 인한 SQL Server 장애) Version : All Version Anti-Virus(백신 소프트웨어)가 정말 SQL Server 운영에 영향을 미치는가? 결론부터 말하면 '그렇다' 이다. 이 문제는 필자도 겪은 문제이기도 하지만 해결은 의외로 간단하다. 우선 이슈부터 살펴보자. 아래 이슈는 2013년 3월29일 SQL Server CSS 팀블로그의 내용이다. 아마도 이 글을 보는 DBA분들 중에도 동일하거나 비슷한 이슈를 겪은 분들이 있으리라 생각한다. 원본 링크 : http://blogs.msdn.com/b/psssql/archive/2013/03/29/the-case-of-anti-virus-filter-drive-interfe..

SQL Server 네트워크 백업 트러블슈팅(UNC 설정)

SQL Server 네트워크 백업 트러블슈팅(UNC 설정) Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에서 데이터베이스를 백업 할 때 로컬에 있는 하드디스크 뿐만 아니라 네트워크에 있는 다른 서버의 드라이브에도 백업 할 수도 있다. 그런데 네트워크에 있는 서버의 디스크를 네트워크 드라이브로 잡아서 해당 드라이브에 백업하려고 하면 백업 실패가 발생 한다. 이럴 때 UNC 방식을 사용하면 백업 작업을 수행 할 수 있다. [UNC란?] 네트워크에서 UNC는 컴퓨터 내의 공유 폴더 또는 파일이 저장되어 있는 장치를 명시하지 않고도 그 파일을 확인하기 위한 방법이다. 윈도우 운영체제에서 UNC 형식은 다음과 같아. \\Servername\Sharename\..

SQL Server 인증 실패시 반환되는 클라이언트 메시지 정보

SQL Server 인증 실패시 반환되는 클라이언트 메시지 정보 Version : SQL Server 2005, 2008, 2008R2, 2012 SQL Server에 로그인을 할 때 오류가 발생 하였다. 이때 클라이언트에 반환되는 오류 메시지에는 다양한 정보가 포함되어 있다. 이 메시지를 파악함으로써 문제 해결에 큰 도움이 된다. 다음의 경우를 살펴보자. 아래 그림은 단순히 SSMS에서 비밀번호와 ID를 틀리게 작성하여 로그인을 시도한 결과이다. (대부분의 경우는 응용프로그램에서 SQL Server에 접속하여 사용는 환경일 것이다.) 또는 .NET 어플리케이션에서 다음과 같은 메시지를 반환 할 수도 있다. 사용자 ''이(가) 로그인하지 못했습니다.(.Net SqlClient 데이터 공급자)" -----..