가라

[MS-SQL] NOLOCK

2012. 3. 6. 13:19 : MS-SQL
Select 를 할 때 SQL서버는 Select 를 하는 그 순간에만 공유 잠금(Shared Lock)을 건다.
그런데 이 공유 잠금은 Insert, Update, Delete 가 수행될 때 걸리는 베타적 자금(Exclusive Lock)과 함께 걸릴 수는 없다.
따라서 Select 를 하는 동안에는 공유 잠금이 걸린 곳에 대해 Insert, Update, Delete가 발생할 수 없기 때문에
질의 결과를 지연시키고 웹 언어(asp.net, asp)의 성능 저하를 가지고 오게 된다.
(noLock) 힌트를 사용하면 Select 를 하는 동안 선택된 레코드가 그 순간에 다른 Sql문에 변경될 수 있다.
이런 경우를 막기 위해 공유 잠금을 거는 것이다.

'MS-SQL' 카테고리의 다른 글

[MS-SQL] 사용자 정의 정렬  (0) 2012.06.20
[MS-SQL] 배열이용  (0) 2012.03.13
[MS-SQL] LDF 로그파일 정리  (0) 2012.01.12
[MS-SQL] 문자열 함수  (0) 2011.11.23
[MS-SQL] CONVERT 결과값  (0) 2011.11.08
Posted by 우리회사 개발자2
01 - C:\WINDOWS\system32\inetsrv\MetaBase.xml 에서
AspMaxRequestEntityAllowed 값을 찾아 허용할 용량을 입력
AspBufferingLimit값을 찾아 허용할 용량을 입력

02 - 제어판 > 관리도구 > 서비스 에서 IIS Admin Service 를 재시작
Posted by 우리회사 개발자2
-- 로그파일 보기
DBCC LOGINFO

-- LDF
--트랜잭션로그데이터
--실제 데이터(MDF)를 이용한 읽기, 수정, 삭제 등의 모든 로그가 기록된 파일

-- 로그파일의 물리적 파일 크기 및 경로
EXEC SP_HELPFILE

-- 로그를 파일로 백업
BACKUP LOG [DB이름] TO DISK='D:\DBBackup\백업파일이름.bak'
-- ※ MDF만으로 복구가 가능한거에 반해, LDF파일만으로는 복구를 할 수 없으나 MS정책에 의한 안정적인 복구를 위한 단계

-- 로그기록 사이즈 축소/로그 제거 후 로그 파일 크기 설정
-- [SQL Server 2000/2005]
    -- 로그기록 사이즈 축소
    BACKUP LOG [DB이름] WITH TRUNCATE_ONLY
    -- 로그 제거
    BACKUP LOG [DB이름] WITH NO_LOG
    -- 로그 파일 크기 설정(로그 잘라냄)
    DBCC SHRINKFILE ([로그파일논리적이름], 10)

-- [SQL Server 2008]
    -- WITH TRUNCATE_ONLY, WITH NO_LOG 옵션은 SQL2008 이후 버젼에서는 지원되지 않습니다.
    -- 이 옵션을 사용했을 때 로그 체인(Log Chain)이 깨져서 데이터베이스 복원에 심각한 문제를 유발 가능성 존재
    -- SQL Server 2008에서 데이터베이스의 복구 모델을 '단순'으로 변경해 주는 방법이
    -- 트랜잭션 로그 백업 없이 트랜잭션 로그의 비활성화된 부분을 삭제하는 방법으로 권장됩니다

    -- 복구모델을 [단순] 으로 변경
    ALTER DATABASE [DB이름] SET RECOVERY SIMPLE
    -- 로그 파일 크기 설정(로그 잘라냄)
    DBCC SHRINKFILE ([로그파일논리적이름])
    -- 복구모델을 [전체] 으로 변경
    ALTER DATABASE [DB이름] SET RECOVERY FULL

-- LDF 파일이 정상적으로 Resizing 되었는지 확인
EXEC SP_HELPFILE

-- 데이터베이스 속성 파일정보 (SSMS에서 데이터베이스 오른쪽 버튼 [속성] 클릭 > [파일] 클릭)
-- 에서 LDF(로그파일) 자동증가값을 “무제한 증가”로 설정 (2,097,152MB 입력됨)
-- ※ SQL Server 2005에서 무제한 증가가 허용된 로그 파일의 최대 크기는 2TB이고 데이터 파일의 최대 크기는 16TB입니다.


'MS-SQL' 카테고리의 다른 글

[MS-SQL] 사용자 정의 정렬  (0) 2012.06.20
[MS-SQL] 배열이용  (0) 2012.03.13
[MS-SQL] NOLOCK  (0) 2012.03.06
[MS-SQL] 문자열 함수  (0) 2011.11.23
[MS-SQL] CONVERT 결과값  (0) 2011.11.08
Posted by 우리회사 개발자2