WINDOWS2009/12/16 18:20

오늘 여러가지로 버라이어티하다.

 

분명 튜닝이라는것은 어떤것의 성능을 최대로 끌어 올리기 위한것이다.

 

어떤고객이 6만라인을 읽어 들이도록 쿼리를 던졌는데 제대로 처리가 안된다고 문의를 하였다.

 

그래서 보니...컬럼라인이 18만개였다. -_-;;

 

아마도...서버는..지가 처리 할수 있는 라인만큼 읽다가...시간이 초과 된다고 에러를 내뿜는거 같다.

 

 

기본적인 세팅에서 흔히 볼수 있는 문제일거다.

 

세션타임부터 시작해서 스크립트 실행 타임까지 모두 체크해 봤지만 문제될 만한것은 안보였다.

 

짱구를 굴리기 시작했다. 처리를 제대로 못하는거 같으니 SQL 쪽에서 튜닝을 보자.

 

어처구니 없는 해답을 찾았다.

 

 

병령처리 방식의 임계값을 올려주니 처리가 된다...-_-

 

어느 사이트에 보니 최고 25까지 허용된다고 해서 25로 해줬다. 잘돌아 간다. 헐...

 

문제는 해결이 되었지만..한가지 걱정인것은...과연..차후에..또..이런문제가 생겼을때..그이상으로 오버튜닝이 안된다면..그땐 어찌해야 할지;; -_-;;

 

 

Posted by 왕감자아빠
WINDOWS2009/12/16 15:41

알수 없는 에러들이 가끔 나타난다. 호환성 문제라고 봐야할지...아니면..단순히 유저의 불량인건지;;;

 

오늘도 이전 작업을 하다보니..알수 없는 DB의 접속 오류가 발생하였다. 알수 없다기 보단...예상치 못한것이라 해두자.

 

 

참 난감했다. 웹소스의 DB excute 부분에서 에러가 나는데...SQL 2005 에 들이 붓고 보니 뭐가 뭔지 감이 안왔다.

 

결국 SQL 2000 에 다시 세팅을 하고 들여다 보았다.

 

헐...문제는 간단했다.

 

DBO 권한설정 문제다...-_-;;

 

간단하게 쿼리 한방으로 문제를 해결했다.

 

이것도 마이그레이션이라면 마이그레이션 이라고 해야 하나...

 

C모 업체의 웹호스팅을 이용하던 고객이었는데...그쪽은 계정 설정을 이렇게 하는 모양이다.

 

암튼..어렵지 않게 해결을 본것 같아..다행이다. >_<

 

<< 적용 쿼리 >>

 

DECLARE @objname sysname ,@oldowner sysname
SET NOCOUNT ON
DECLARE owner_cursor CURSOR FOR
  SELECT name FROM sysobjects WHERE uid != '1' and (xtype= 'U' or xtype ='P' or xtype ='V')
OPEN owner_cursor
FETCH NEXT FROM owner_cursor INTO @objname
WHILE (@@fetch_status <> -1)
BEGIN
  SET @oldowner = (SELECT USER_NAME(uid) FROM sysobjects where name=@objname and uid != '1' and (xtype= 'U' or xtype= 'P' or xtype ='V'))
  SET @objname = '['+@oldowner + '].' + @objname
  exec sp_changeobjectowner @objname , 'dbo'
  FETCH NEXT FROM owner_cursor INTO @objname
END
 
CLOSE owner_cursor
DEALLOCATE owner_cursor
GO

 

유용한 정보가 되기를...^^

 

 

 

Posted by 왕감자아빠