본문 바로가기

Dev_Language/DB

(4)
트랜젝션 잠금 오류 및 교착상태(DEADLOCK) 해결 방법 ● 교착상태 한 작업에서 잠근 리소스를 다른 작업에서 잠그려고 하여 둘 이상의 태스크가 서로 영구적으로 차단하면 교착 상태가 발생합니다. 예를 들면 다음과 같습니다. 트랜잭션 A가 1행에 대한 공유 잠금을 획득합니다.트랜잭션 B가 2행에 대한 공유 잠금을 획득합니다.트랜잭션 A가 2행에 대한 배타적 잠금을 요청하고 트랜잭션 B가 2행에 대해 소유하고 있는 공유 잠금을 종료 및 해제할 때까지 트랜잭션 A가 차단됩니다.트랜잭션 B가 1행에 대한 배타적 잠금을 요청하고 트랜잭션 A가 1행에 대해 소유하고 있는 공유 잠금을 종료 및 해제할 때까지 트랜잭션 B가 차단됩니다. 트랜잭션 B가 완료되어야 트랜잭션 A도 완료될 수 있지만 트랜잭션 B는 트랜잭션 A에 의해 차단된 상태입니다. 이러한 상태를 순환 종속 관계..
MS-SQL 2005 피티션 스위칭 파티션된 테이블을 관리하다 보면 오래된 정보들은 사용을 많이 안하게 된다. 이러한 정보들을 따로 관리하기 위해 기존 파티션 테이블에서 빼내서 새로운 파티션 테이블에 추가하는 방법이 파티션 스위칭(슬라이딩 윈도우) 이다. 우선 월별로 나누어져 있는 파티션 테이블이 있다고 가정하에 설명하겠다. 기존 파티션 테이블 2009-04 2009-05 2009-06 2009-07 2009-08 2009-09 빈 파티션 1) 파티션 분할 기존 파티션 테이블에서 오래된 항목을 새로운 파티션으로 나누어 만든다. ALTER PARTITION FUNCTION Partition_Function SPLIT RANGE (Value); Partition_Function : 파티션 함수명 Value : 새로운 구분값 위 문법을 적용한 ..
MS-SQL 2005 테이블 파티션 만들기 테이블 파티션을 사용하면 데이터 하위 집합을 빠르고 효율적으로 관리 및 액세스하는 동시에 데이터 컬렉션의 무결성을 유지할 수 있으므로 큰 테이블 또는 인덱스를 보다 편리하게 관리할 수 있습니다. 테이블 파티션을 사용하면 이전 릴리스에서는 몇 분 내지 몇 시간이 걸렸던 작업(예: OLTP에서 OLAP 시스템으로 데이터 로드)이 몇 초 안에 끝납니다. 데이터 하위 집합에서 수행되는 유지 관리 작업도 보다 효율적으로 수행할 수 있습니다. 전체 테이블 대신 필요한 데이터만 대상으로 삼기 때문입니다. 참고 분할 테이블 및 인덱스는 Microsoft SQL Server 2005 Enterprise Edition 및 Developer Edition에서만 지원됩니다. 분할된 테이블 및 인덱스의 데이터는 데이터베이스에서..
MSX 서버에서 온 작업이나 그단계 또는 일정을 추가 업데이트 삭제할 수 없습니다 MSX 서버에서 온 작업이나 그단계 또는 일정을 추가 업데이트 삭제할 수 없습니다 해결 /*srvid = 0 srvname='LEETEST'*/ use master select * from sysservers /*originating_server='WEBTEST' 를 'LEETEST'로 수정해서 해결함.' */ use msdb select * from sysjobs EXEC sp_configure 'allow updates', 1 Update sysjobs set originating_server = 'LEETEST' EXEC sp_configure 'allow updates', 0 이러한 메시지가 뜰 것입니다. "MSX 서버에서 온 작업이나 그단계 또는 일정을 추가 업데이트 삭제할 수 없습니다." "D..