MS-SQL Server 118

SQL Server 2008 의 새로운 기능 - Filtered Index

SQL Server 2008에 새로운 기능으로서, filtered Index가 제공된다고 합니다. filtered Index는 인덱스를 생성시 특정 조건에 대한 데이터만을 인덱스로 만드는 기능입니다. 오라클의 인덱스와 SQL Server의 인덱스의 가장 큰 차이 중에 하나인 NULL 데이터를 인덱스에 포함 여부에 대해서도 SQL Server도 filtered Index를 통해서 NOT NULL인 데이터 만을 인덱스로 만들 수 있고, 보다 확장하여 특정 조건에 대한 데이터만을 만들 수 있습니다. 대략은 구문은 아래와 같습니다. CREATE INDEX 구문 뒤에 WHERE구문으로 조건을 줄 수 있습니다.(당연히 NONCLUSTERED 인덱스만 가능함.) CREATE UNIQUE NONCLUSTERED IND..

MS-SQL Server 2008.01.14 (2)

Sector Alignment에 대한 IO성능

보통 RAID를 구성, LUN할당 후 Windows GUI상으로 파티션을 만들고 포맷을 하여 SQL Server의 데이터 또는 로그 파일 등을 위치하여 사용한다. 하지만 이렇게 GUI로 파티션을 설정 하면, 파티션 시작 위치와 RAID Stripe Size가 일치 하지 않아서 아래의 그림과 같은 모습이 된다. 이렇게 되면 특정 하나의 블록을 읽거나 쓰기를 위해서 두 개의 디스크에 요청을 할 수 도 있다. 이러한 문제를 해결하기 위해서 물리적 파티션 위치를 IO블럭의 배수로 파티션의 시작위치를 설정 하여 파티션을 만들어 사용한다면 이러한 문제가 해결 될 수 있다. 이런 문제는 단일 디스크, RAID 1 과 같은 Stripe 되지 않은 환경에는 영향을 받지 않을 것이다. RAID10으로 많은 디스크로 LUN..

MS-SQL Server 2007.12.31 (2)

새로운 RML 도구 발표

SQL Server 2000에서는 RML 도구가 있어 추적 데이터 분석 및 RML파일을 토대로 스트레스 테스트 등을 하였습니다. 하지만 2005에서는 아직 이러한 도구가 없어 다른 도구 (nexus, cleartrace) 등을 사용하였는데 드디어 2005를 지원하는 RML도구가 발표 되었습니다. 2000에서 지원하는 기능 보다 좋아진 것 같습니다 자세한 내용은 아래 블로그 및 직접!! 테스트를~.!! http://blogs.msdn.com/psssql/archive/2007/12/18/rml-utilities-for-microsoft-sql-server-released.aspx · Supports SQL 2000 and SQL Server 2005 · Quick Start Guide · Updated a..

MS-SQL Server 2007.12.21

sp_executesql 사용에 관한 고민..

sql 인젝션이나 실행계획 재사용의 문제로 SP 작성시 동적쿼리를 사용하지 않는게 일반적인걸로 알고 있습니다. 그런데 sp_executesql 을 이용하여 쿼리를 동적으로 생성하고 각 값들은 파라메터화 하여 사용한다면 위의 문제가 발생하지 않을것 같다는 생각이 듭니다. 실제로 테스트 해보니 쿼리가 변경되지 않았다면 파라메터가 변경되어도 기존에 생성해 놓은 실행 계획을 재사용하는것을 확인하였습니다. [이 sp_executesql 을 사용했을때 생각되는 문제점] 1. 조건에 따라 너무 많은 경우의 쿼리가 생성된다면 실행계획도 그만큼 생성되므로 이런 경우는 사용하지 말아야 할것 같습니다. 2. 쿼리 검수시 들어오는 조건을 DBA가 파악하고 있어야 한다. 그런데 조건을 알고 있어도 쿼리의 부분들을 조합해서 완성..

MS-SQL Server 2007.11.28

복제시 “단계에서 결과를 생성하지 않았습니다” 해결 방법

[by 박성출 - 2007.11.22] 복제시 “단계에서 결과를 생성하지 않았습니다” 해결 방법 오류 번호 : 14151 요약 Distribute(77)서버와 publication(73)번간 트랜잭션 복제시 Log Reader(로그 읽기 에이전트)가 로그를 읽고 배포에이전트를 실행시킨 다음 에러메시지를 발생시키면서 죽는 현상 다음 사용자로 실행되었습니다. DENFRA\sql_exe 복제-복제 트랜잭션 로그 판독기 하위 시스템: 에이전트 PUBLICATION-DATABASE-NAME-6이(가) 실패했습니다. 단계에서 결과를 생성하지 않았습니다. 단계가 실패했습니다. [SQLSTATE 42000] (오류 14151). 단계가 실패했습니다. 참고 http://www.developmentnow.com/g/114..

MS-SQL Server 2007.11.22

지긋지긋한 SQL Server IO문제

요즘.. IO관련해서 찾아보던 중 SSD(Solid State Disk)이라는 것에 대해 다시 보게 되었습니다. 이전에는 Nand 메모리를 DISK같이 사용하는.. 그래서 노트북과 같은 모바일 디바이스에서 저전력과 고성능을 가질 수 있다는 장점만을 알고 있었는데 아래의 사이트를 보니 SSD를 이용하여 SAN 스토리지를 만들어서 팔고 있네요. 잠깐 뒤져보니 Random 엑세스에서 엄청난 IOPS를 보여주고 있는데..오옷!! 아마 2~3년 후면 이녀석이 DBMS의 IO Subsystem의 대세를 이루지 않을까 하는 생각이... http://www.superssd.com/products_sub.htm 64GB SATA 인터페이지 지원하는 SSD도 나왔다고 하는데 SAS컨트롤러에서 바로 인식 가능하니~우리도 도..

MS-SQL Server 2007.11.11 (2)

SQL Server 2008/ Compression Backup, Restore

드디어 SQL Server 2008의 모습이 조금씩 드러나고 있습니다. 이번에는 COMPRESSION 백업, 복원에 대해서 간단한 테스트를 해보았습니다.~ 나중에 보다 자세하게 살펴보는 걸로 하고 이번에는 이 정도만~ㅎㅎ 이전에는 많은 3'rd업체에서 이러한 기능을 제공하였지만, 다른 여러 문제로 인해 쉽게 도입해서 사용하기가 어려웠습니다. SQL Server 2008부터는 이러한 기능이 기본(?)으로 제공되기에 보다 DB관리에 쉽게 활용 할 수 있을 것 같습니다. 하지만, COMPRESSION 백업은 Enterprise Edition에서만 제공이 되고 COMPRESSION 복원은 에디션에 상관이 없다고 하네요.~에휴!! 압축 백업, 복원에 대해서 일반 백업과의 상대 비교를 통해서 보면~ 좋을 것 같네요..

MS-SQL Server 2007.10.30 (4)

손호성씨 책도 새로 나온게 있었네요;

무슨 책장사 같습니다. ㅎㅎㅎ 아래 인터파크 링크에서 펼쳐보기 기능을 통해 처음 몇페이지를 볼 수 있습니다. http://book.interpark.com/product/BookDisplay.do?_method=Detail&sc.shopNo=0000400000&sc.dispNo=&sc.prdNo=200962306#custOpinion 책내용 데이터베이스 이론부터 실무까지, SQL 서버 2005의 모든 것! -. 이론적인 체계에서부터 실무적인 노하우들까지 SQL 서버의 다양한 부분들을 독특하고 실용적으로 다룰 수 있도록 도와주는 SQL 서버 2005의 바이블입니다. -. SQL 서버 2005를 다루는 컨설턴트, 프로그래머, DBA 및 데이터베이스를 공부하는 학생을 주요 타겟으로 하고 있습니다. -. 단순한..

MS-SQL Server 2007.10.30 (1)