SQL Server 2008 4

SQL Server 2008 새로운 기능 – INSERT 의 최소 로깅

SQL은 반듯이 데이터 변경에 따른 기록을 우선 로그 파일에 기록을 하게 됩니다.(Write Ahead Logging) 그리고 이러한 로그는 트랜잭션 롤백 또는 롤 포워드시에 사용하게 됩니다. 이러한 로깅으로 인해서 많은 데이터 변경 작업시 로그파일에 많은 IO가 발생하여, 전체적인 성능에 영향을 줄 수 있습니다. 그렇다면 굳이 로깅을 하지 않아도 되는 새로운 테이블에 데이터 추가 등에 대해서 최소로깅으로 처리한다면 보다 좋은 성능을 가질 수 있을것입니다. 최소 로깅이란 굳이 모든 데이터에 대해서 로깅할 필요가 없는 작업에 대해서 모든 데이터에 대해서 로깅을 하는 것이 아닌 할당 정보등에 대해서만 로깅을 하는 것입니다. 최소 로깅은 SIMPLE, BULK LOGGED 복구 모델에서만 할 수 있습니다. 보..

MS-SQL Server 2008.03.09 (1)

SQL2008 새로운 기능 - SSMS의 오류 목록 창

SQL Server 2005의 SQLWB는 이전 2000에서 사용하는 기능이 없어져 많이 불편하였습니다. 하지만 2008에서는 2000의 QA기능을 많은 기능을 가져온 듯하며, 기존의 좋은 기능뿐만 아니라 IntelliSense기능을 지원하여 보다 간편하게 T-SQL을 작성할 수 있습니다. (아직까지 좋은지는 잘 모르겠지만.) 그리고 오류 목록 창이라는 것이 추가 되었습니다. 작성 중인 T-SQL의 구문 오류에 대해서 보여주는 창입니다. 긴 T-SQL 구문에서 오류가 발생할 경우 유용하게 사용할 수 있을 것 같습니다. 아래는 BOL에 있는 내용~ 오류 목록의 기능 오류 목록은 다음 기능을 제공합니다. 스크립트를 편집할 때 오류 목록은 Transact-SQL 쿼리 편집기의 IntelliSense에 의해 생..

MS-SQL Server 2008.03.07 (1)

SQL Server 2008의 새로운 기능 - TABLE REBUILD

Heap인 테이블의 가변형 데이터 타입에 보다 큰 데이터로 변경하게 되면 클러스터 인덱스와 같은 페이지 분할이 아닌, 다른 곳으로 저장 후 포인터를 가지고 있는 Forward Pointer가 생기게 됩니다. 이로 인해서 적은 데이터를 읽을경우에도 포인터로 추가 컬럼에 대한 데이터도 엑세스 하는경우에는 성능에 문제가 있었습니다. 현재 운영중인 환경에서 얼마나 많은 Forward Pointer를 사용하여 데이터를 엑세스를 하는지 확인 하는 방법은 성능모니터에서 "SQL Server:Access Methods // Forwarded Records/sec" 의 값을 추가하여 확인할 수 있습니다. 이러한 Forward Pointer를 제거 하기 위해서는 SQL Server 2008이전에는 클러스터 인덱스를 만들거..

MS-SQL Server 2008.02.28

SQL2008의 새로운 기능 - Composable DML

SQL Server 2005부터 OUTPUT절이 추가 되어 UPDATE, INSERT, DELETE 작업에 대한 대상 행을 테이블 변수로 저장하여 활용할 수 있었습니다. 하지만 대상 데이터를 다른 테이블에 저장하기 위해서는 테이블 변수로 저장 후 다시 저장해야 하는 번거로움이 있었습니다. 이러한 문제에 대해서 몇 가지 제한 사항이 존재 하지만 SQL Server 2008은 OUTPUT절을 포함하는 UPDATE, INSERT, DELETE, MERGE의 OUTPUT결과를 하나의 구문으로 다른 테이블에 저장할 수 있는 기능을 제공하고 있습니다. 해당 기능은 CTP5부터 지원되며, 보다 자세한 내용은 SQL Server 2008 BOL에서 INSERT 부분을 참고하세요. use tempdb go --drop ..

MS-SQL Server 2008.01.22