본문 바로가기

DB/MS SQL Server

(7)
MS SQL Server 2012에서 생긴 Sequence 써야할까? MS SQL Server 2012에 시퀀스가 추가 되었다.오라클이나 PostgreSQL에서는 자동증가 컬럼을 위한 객체로 시퀀스라는 것을 가지고 있다.MS SQL에는 Identity를 가지고 있어서 자동증가 필드로 지정이 가능하다.이것에 대한 일반적인 사항은 '엑셈(EXEM)의 기술백서'에서 잘 다루고 있으니 참고하면 될 것 같고궁금한 점은 Identity가 Sequence에 비해 동시성 문제가 발생할 가능성이 있느냐는 것이다.우리 부서의 전직 오라클 DBA를 했던 분은 대량의 데이터를 넣는 테이블에 자동증가컬럼을 사용할 경우 최종 값을 찾기 위해서 계속 검색을 해야 하기 때문에 검색하는 동안에 LOCK이 발생한다고 알고 있었다.좀 오래되었지만 SQL Server 2005 시대(2006년 4월) 작성된 ..
Microsoft SQL Server Management Studio에서 수행가능한 스크립트 크기 Management Studio에서 다량의 스크립트를 수행하면 아래와 같은 에러가 생긴다.스크립트를 실행할 수 없습니다.'System.OutOfMemoryException' 형식의 예외가 Throw되었습니다. (mscorlib)30000개의 지문데이터를 입력하려는데 에러가 났다.사실 3만 레코드는 큰데이터는 아니었으나 지문 데이터 자체가 바이너리에 있다보니 메모리에 수행하는데 제약이 있는 것 같다. 이분법하여 얼마나 메모리에 올릴 수 있나 테스트를 해보았다.30000개 : 74.1MB (77,759,999 바이트) 실패20000개 : 49.4MB (51,840,000 바이트) 실패10000개 : 24.7MB (25,920,000 바이트) 성공/실패 : 2분 12초 걸림10000개를 두 번째 수행할 때는 ..
SQL Server 2008 설치된 곳에 80포트 404에러 SQL Server에서 80포트 사용Windows Server 2008 + SQL Server 2008 이 설치된 서버에 아파치 웹서버를 올리려고 하는데 아래와 같이 이상한 메시지가 나온다.Not FoundHTTP Error 404. The requested resource is not found. IIS인가? 처음에는 IIS 문제인줄 알았는데, Default Web Site와 DefaultAppPool을 정지했어도 여전히 Listening하고 있었다.어떤 서비스가 80포트를 서비스하는지 아래 명령을 찾아보았지만,> netstat -noa | find ":80" TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 TCP [::]:80 [::]:0 LISTENING 4 PID 4는 Syste..
뷰 관련 서브쿼리가 많아지다보면 유지보수가 어려워진다. 작성할 때는 조각 조각을 만들어서 붙이다보면 그 당시에는 이해가 될 수 있으나 일주일, 한달, 일년이 되고 보면 어떻게 왜 이렇게 만들었는지 한참을 분석해봐야 한다.=> 서브쿼리를 뷰로 만들면?뷰가 일반 쿼리에 비해 성능이 빠른 것은 아닌 것 같으나 인덱싱된 뷰를 이용하면 자주 바뀌지 않는 데이터에 대해 성능향상을 보일 수 있다는 것 같다.MSDN::인덱싱된 뷰 만들기DBguide.net :: 인덱싱된 뷰의 개요
Management Studio 2008 Management Studio 2005에서 바뀐 설정에 당황하지 않기 위해 정리 상위 200개 행 편집 열 수정 SQL 2008에서는 행 선택 및 편집을 각각 1000개, 200개로 조건이 생겼다.아마도 너무 많은 레코드를 동시에 편집을 하게 되면 부담이 되기 때문에 그런게 아닌게 생각 된다.하지만 [도구]-[옵션]에 들어가면 상위 개 행 선택/편집의 값을 변경을 할 수 있다. 테이블 수정시테이블을 만들고 난 후에 이후에 수정을 하려고 하니 '테이블을 삭제하고 다시만들라'는 어처구니 없는 메시지를 내뿜는다.그러면 데이터가 엄청나게 들어가 있는 테이블은 데이터를 내보내기로 백업해두고 테이블을 지우고 새로 만든다음 다시 불러오라는 것인가?그나저나 위의 저 옵션(다시 만들어야 하는 변경 내용 저장 사용..
xp_cmdshell 권한 대상: SQL Server 2008만약 xp_cmdshell 을 저장 프로시저에서 수행했는데 동작하지 않는다면 아래를 체크해본다. xp_cmdshell 명령 사용가능 전환-- To allow advanced options to be changed.EXEC sp_configure 'show advanced options', 1GO-- To update the currently configured value for advanced options.RECONFIGUREGO-- To enable the feature.EXEC sp_configure 'xp_cmdshell', 1GO-- To update the currently configured value for this feature.RECONFIGUREGO ..
SQL Server 2008 SQL Server에서 80포트 사용 Windows Server 2008 + SQL Server 2008 이 설치된 서버에 아파치 웹서버를 올리려고 하는데 아래와 같이 이상한 메시지가 나온다. Not Found HTTP Error 404. The requested resource is not found. 어떤 서비스가 80포트를 서비스하는지 아래 명령을 찾아보았지만, > netstat -noa | find ":80" TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 TCP [::]:80 [::]:0 LISTENING 4 PID 4는 System 이었다! >tasklist /FI "PID eq 4" 이미지 이름 PID 세션 이름 세션# 메모리 사용 =======================..