전체 글 132

[소개]Sqlquerystress Tool 소개

SQL Server 부하 테스트를 할 때 ostress를 많이 사용했는데, 이번에 비슷한 Tool을 알게 되어 소개드립니다. Ostress에 비해서 편리합니다. 그냥 소개만 하면 재미 없을 듯 하여 간단히 사용을 어떻게 하면 되는지 정리해보았습니다. 해당 프로그램은 하단에 있는 출처 사이트에 방문하면 구할 수 있습니다. 사용법도 친절하게(?) 영어로 설명되어 있습니다. 그럼 이제 간단히 테스트 진행해보도록 하겠습니다. 1. 테스트 내용 - Tbl_param 테이블에 7000개의 데이터를 넣어놓는다. - 100개의 세션에서 70번씩 tbl_Result 테이블에 tbl_param 테이블의 값을 조회하여 입력한다. - 파라미터 테이블에서 개별적인 값이 한번씩만 호출되어지는지 확인한다. (테스트시 중복 발생이 ..

MS-SQL Server 2011.07.08

[펌/정리]SQL Server 2012 (Denali) 신기능

SQL Server 2012 (Denali) 에서 추가 및 변경된 내용에 대해서 자료가 있어 공유드립니다. 자세한 내용은 참조 URL로 가시면 좀 더 많은 정보를 얻으실 수 있습니다. 갈수록 많이 좋아지네요. ^^ 1. 추가된 기능 카테고리 항목 설명 Setup PowerShell, no-reboot package prerequisites 32-bit 지원 (CTP1 기준) Itanium, 2000 업그레이드 지원 안함 Availability AlwaysOn (CTP1에서는 제한됨) Multi-subnet clustering across data centers Manageability Contained Databases FileTable (CTP1에서 제공안함) Startup option 설정이 쉬워짐 ..

MS-SQL Server 2011.07.06

SQL Server 트랜잭션 관련 테스트 (@@trancount를 입력하면 "2"가 저장되는 이유)

팀 내에서 트랜잭션 관련 테스트를 하다고 호기심이 생겨서 서로 이야기를 나누었던 내용 정리해서 올립니다. 메일을 주고 받았던 느낌 그대로 정리해 보았습니다. 일부 내용은 제가 임의로 편집하였습니다. ^^ [호기심 발동 – A님 문의] 트랜잭션을 걸지 않은 상태에서 insert 문을 실행할 경우, 내부적으로는 자동 트랜잭션 처리가 되는데요, 이 상태라면 내부적으로는 @@trancount = 1 이 입력되어야 한다고 생각됩니다. 예를 들어 아래처럼 실행하면 결과가 2가 나옵니다. (1이 나와야 할 것 같은데.. 자동 트랙잭션 카운트가 있으니까..) 혹시 이유를 아시는 분이 계실까요? 결과만 보자면 insert 시에 내부적으로 중첩 트랜잭션을 사용하는 것 같습니다. 테스트 내용은 아래와 같습니다. /* 임시 ..

MS-SQL Server 2011.06.19

[공유]SQL 서버 관련 보안 패치 나와서 공유드립니다.

[제목] Microsoft Security Bulletin MS11-049 - Important [요약 정리] XML 에디터에 취약점이 있다는 것입니다. Web service Discovery (.disco) 파일을 열 때 문제가 발생할 수 있습니다. 보안 수준은 중요이고, VS와 SQL Server 2005/2008 버젼이 대상입니다. 자세한 내용을 아래의 URL 참고해주시면 됩니다. - http://www.microsoft.com/technet/security/bulletin/MS11-049.mspx - http://www.microsoft.com/korea/technet/security/bulletin/MS11-049.mspx

MS-SQL Server 2011.06.16

교착상태 (DeadLock) - 실전편

실제 교착 상태가 발생 하였을 때 어떻게 해결을 해나가는지, 원인을 분석하기 위한 방법과 사례를 공유합니다. 교착 상태가 무엇 인지에 대한 포스팅은 http://nexondbteam.tistory.com/66 에 게시되어 있습니다. 데드락을 인지하고, 원인 분석을 위해 아래 3가지 방법을 사용했습니다. Perfmon 우리 팀의 경우 내부에서 개발한 Perfmon 로그를 UI를 제공하고 alert을 주는 툴을 통해 하여 매일 상황을 모니터링을 하고 있으므로, 필자는 거의 이 Perfmon로그로 발생 여부를 인지합니다. 성능 카운터명: SQLServer:LOCKs -> Number of Deadlocks/sec ERRORLOG DBCC TRACEON(1222, 1204, -1) 추적플래그 1204는 잠금의 ..

MS-SQL Server 2011.04.19

SQL Server 2008R2 에서의 잠금해시키 충돌 개선

SQL Server 2008R2 에서의 잠금해시키 충돌 개선 SQL Server 2008 R2에서 개선된 내용중 잠금 해시키값 충돌 개선을 위한 해시 키 알고리즘 변경에 대한 내용을 정리해 볼까 합니다. 아시다시피 SQL Server는 잠금관리자가 잠금에 대한 제어 와 관리를 하는데요. 행이나 페이지,테이블등을 잠금리소스로 직접 사용하지 않고 잠금해시키값으로 사용해 관리됩니다. 이 잠금해시키값은 메모리상에서 유지되며, 실제 행이나 페이지의 경우 데이터가 가변적이고 또 클수도 있어 이를 해시키값으로 변환해 6byte 고정된 크기로 관리하게 됩니다. 이러한 잠금해시키값을 계산하는 알고리즘에 문제가 하나 있는데요. 서로 다른 데이터값이 동일한 해시키값을 생성할수 있어 잠금키간에 충돌이 있을수 있습니다. 아래는..

MS-SQL Server 2011.03.16

SQL Azure 체험기 (Part. 1)

이번 글에서는 SQL Azure에 대해서 간단하게 접속, 사용방법을 소개해드리고자 합니다. SQL Azure에 대한 개인적인 느낌이나 생각에 대해서는 좀 더 사용해보고 다음 번 글에서 공유 드리겠습니다. 무료 계정이 제공되어지고 있으니 관심 있으신 분들은 한번 사용해보시는 것도 좋을 듯 합니다. *. 소개 SQL Azure란 Microsoft SQL 서버 2008 기술을 기반으로 최초의 클라우드 기반의 자기 관리되는 관계형 데이터베이스 서비스를 이야기합니다. *. 가입하기 아래의 블로그에 가시면 1달 무료 이용코드가 공유되어있습니다. 해당 코드를 가지고 무료 가입이 가능합니다. > http://sqlblog.com/blogs/john_paul_cook/archive/2011/02/28/new-free-s..

MS-SQL Server 2011.03.07

SQL Server 2012 (Denali) 신규 기능 Contained Databases 소개

Contained Database란 SQL Server Instance의 설정 중에 데이터베이스에 영향을 주는 부분을 데이터베이스 내에 자체적으로 관리할 수 있는 것을 이야기합니다. 예를 보자면 Contained Database로 설정하면 사용자 데이터베이스 내에 자체적으로 로그인 계정을 생성이 가능합니다. 이렇게 데이터베이스를 인스턴스와 독립시킴으로써 데이터베이스 이동이 쉬워졌습니다. 추가적으로 데이터베이스안에 모든 셋팅이 가능하게 됨으로써 데이터베이스 소유자가 자체적으로 관리가 가능하게 되었습니다. 데이터베이스 구분 데이터베이스 구분 설명 Non-contained database Denali 이전 버전에 만들어진 데이터베이스를 이야기함. Fully contained database 아직은 제공되어지지..

MS-SQL Server 2011.03.02