반응형
[MS-SQL]
select * from fn_dump_dblog(default,default,default,default,'d:\test.trn',

            default,default,default,default,default,default,default,default,default,default,
            default,default,default,default,default,default,default,default,default,default,
            default,default,default,default,default,default,default,default,default,default,
            default,default,default,default,default,default,default,default,default,default,
            default,default,default,default,default,default,default,default,default,default,
            default,default,default,default,default,default,default,default,default,default,
            default,default,default)


이렇게 하면 트랜젝션 로그 관련 내용이 나오는데............

제길, 당췌 뭐가 뭔지는 하나도 모르겠다-_-;
반응형
반응형
다른 테이블에 있는 값들을 원테이블로 옮길 경우 Update 시 Join 을 사용해야된다
그런데 이거 할때마다 기억이 안나서 메모남김

<Join 사용 Update 문>
    update [테이블] set [테이블].[원컬럼명]=A.[새컬럼명]
    from [테이블]
    join [복사할테이블] A on [테이블].[조인할컬럼명]=A.[조인할컬럼명]

반응형
반응형
onchange 이벤트가 실행되는 컨트롤에서
이벤트가 완료된후 해당 컨트롤로 focus를 다시 주려고 하였으나
이상하게 그 곳으로 포커스가 이동되지 않고 다른 곳으로 가는 것이다.

여러가지 방법을 찾다가 안되서 결국 꼼수

이벤트가 실행된 컨트롤외에 다른 컨트롤에 포커스값을 준 후
이벤트가 실행된 컨트롤에 포커스를 줌으로써 문제를 해결했다


그런데 당췌 왜 이런 문제가 생기는건지-_-;;
반응형
반응형
ASP.NET 으로 웹사이트 구축시
일반적으로 연결스트링등의 주요 변수들은 web.config 에 입력하여 사용을 한다.

그런데 web.config 파일은 보통 암호화가 되어 있지않기 때문에 누군가가 마음만 먹고 web.config 파일을
가져간다면 DB의 사용자ID, 암호, 해당IP 등의 주요정보를 가로채서 해킹시도를 할 우려가 있다.

MS에서는 이러한 web.config 에 대해 편리한 방식으로 암호화를 시켜주는 기능을 제공하고 있다.

아래의 명령어를 프롬프트창(실행에서 cmd 하면 나오는 도스창)에서 실행시켜준다
aspnet_regiis 파일을 찾을 수 없다고 나온다면

C:\windows\Microsoft.NET\Framework\v2.0.50727   로 이동한 후 아래명령을 실행해 준다.

<암호화>
aspnet_regiis -pef "connectionStrings"  [web.config가 있는 디렉토리 예) d:\MyHome]
aspnet_regiis -pef "system.web/machineKey" [web.config가 있는 디렉토리 예) d:\MyHome]


<복호화>
aspnet_regiis -pdf "connectionStrings"  [web.config가 있는 디렉토리 예) d:\MyHome]
aspnet_regiis -pdf "system.web/machineKey" [web.config가 있는 디렉토리 예) d:\MyHome]

암호화는 해당 컴퓨터의 OS에 활당되어져 있는 머신키(Machine Key) 에 의해 RSA 방식으로 생성이 된다. 그러므로 다른 컴퓨터에서는 복호화가 불가능하다. 단, 머신키에 의해 암호화 되어있는 만큼 똑같은 머신키를 복제하여 복호화 하고자 하는 컴퓨터에서 암호키를 입력해주고 복호화를 해주면 원상태의 값으로 돌아가게 된다.

덧)
나의 경우
'RsaProtectedConfigurationProvider' 공급자를 사용하여 'connectionStrings' 섹션을 암호화하지 못했습니다. 공급자의 오류메시지 : 개체가 이미 있습니다.

와 같은 오류메시지를 받고 한참을 헤맨적이 있다. 이런 현상은 윈도7 등의 보안이 강화된 O/S 에서 나타나는듯하다(아직 더 확인된 바는 없다. 내가 지금 쓰고 있는데 윈7이라 그렇게 추측..)
이 때 cmd, 도스명령어창을 관리자권한으로 실행한 후 위의 암호화 명령을 입력하면 암호화가 성공했다는 아주 흐뭇한 메세지를 볼 수 있을 것이다,.
반응형
반응형
순서 결정에 있어서 아래의 순서데로 우선순위를 매겨가며 첫번째 컬럼을 결정하도록 하자!!!


1. 항상 사용되는가?

  결합인덱스의 첫번째 컬럼을 조건에서 사용하지 앟으면 그 인덱스는 사용되지 않는다. 그러므로 항상 사용되는 컬럼을 결합인덱스의 첫번째에 넣도록 한다.

2. 항상 '=' 로 사용되는가?
  앞에 있는 컬럼이 '=' 조건으로 사용되지 않았다면 뒤에서 '='을 사용하더라고 처리범위가 줄어들지 않는다. 그러므로 첫번째 컬럼은 '=' 을 사용하여 처리범위를 줄여서 처리속도를 높일 수 있도록 하여야 한다.

3. 분포도가 좋은 컬럼인가?
  분포도가 좋은(좁은) 컬럼은 처리범위를 보다 빠르게 줄일 수 있으며 향후 예상치 않게 'LIKE, BETWEEN, <, >' 등의 조건 검색식이 사용된 경우 처리범위가 넓어지는 상황에 대비할 수도 있다.

4, 자주 사용되는 정렬 컬럼인가?
  쿼리시 어떤 컬럼들로 정렬이 발생하는가를 확인해보고 가능한 빈번하게 정렬되는 순서를 감안하여 우선순위의 컬럼으로 설정하는 것이 좋다. 왜냐하면 인덱스는 결합된 컬럼의 순서로 정렬되어 저장되기 때문이다.
반응형
반응형
DB에서 많은 자료가 올라오다보면 옵티마이저가 분포도 계산을 잘못하여서
Index 를 타지 않고 그냥 전체스캔을 해서 결과값을 찾기때문에 느려지는 경우가 있다.

이럴때 새로 Index 를 걸어주거나 인덱스 힌트를 사용하지 않고
분포도와 관련된 통계를 업데이트 시켜주면 쿼리속도가 비약적으로 상승하게 된다

MS-SQL 사용예
update statistics 테이블명

반응형
반응형
Anthem.net 에 있는 Panel 컨트롤을 사용하여서 AJAX 기능을 웹페이지에 구현하던중
텍스트박스에서 엔터키 등을 누른 후 이벤트가 발생한 뒤에 클라이언트단에서 자바스크립트로 포커스를 주려고 하였는데
계속 포커스를 놓치는거다.

자바스크립트 구문을 틀리게 하였나 싶어서 여러방면으로 시도를 하였지만 그건 문제가 아니었다.
그렇다면 결국 문제는 Anthem의 AJAX를 사용하다가 충돌이 일어났거나 등의 문제라는건데.........


그러다가 우연히 Anthem:Panel 컨트롤에 있는 AutoUpdateAfterCallBack 속성을 "False" 로 변경해주니......

우와~~~~~~~~~~~~~!! focus가 매우 잘 잡히는 것이다!


그래서 찾아본 AutoUpdateAfterCallBack 속성에 대한 정보

Gets or sets a value indicating whether the control should be updated after each callback. Also see UpdateAfterCallBack.

Property Value

true if the the control should be updated; otherwise, false. The default is true.


반응형
반응형
ASP 프로그래밍에서 SQL 인젝션을 막고자 쿼리문들을 파라미터 방식으로 변경하던 중

like 구분을 만났다. like '%찾는녀석%'  에서 쿼리가 안먹히는거다.

sql="select * from custInfo where hp like ?"
cmd.Parameters.Append .CreateParameter("@hp", adInteger, adParamInput,, hp)


sql 구문에 like '%?%' 하니 오작동...(당연히 될리가 있나!!)

그래서 아하! 하면서 파라미터 구문을 다음과 같이 변경해 주니 작동완료 ㅎㅎㅎ

cmd.Parameters.Append .CreateParameter("@hp", adInteger, adParamInput,, "%" & hp & "%")



반응형
반응형
ASP.NET 에서 만든 C# 함수를 ASP 에서 사용해야되는 일이 있어서

여기저기 끄적이다 검색하여서 절차를 찾아서 실행하는 중
(등록절차는 여기 참조)

Regasm 으로 명령프롬프트에서 DLL 을 등록시키려고 할떄

RegAsm : warning RA0000 : 형식이 등록되어 있지 않습니다


라는 에러를 만나고 한참을 삽질했다.

그러다가 해당 C# 함수가 있는 프로젝트의 AssemblyInfo.cs 파일을 조사하여

[assembly: ComVisible(false)]

이 녀석이 false 로 되어있는걸 보고 true 로 변경


우와아아앙~~

매우 잘 돌아간다 T_T
반응형
반응형
모달팝업을 Jquery 를 이용해서 할거라고 여기저기 뒤지다가

Jquery UI 를 사용하여 모달팝업을 띄우기로 결심!
(참고로 어떤 플러그인을 사용할까는 여기서 보고 참고하였습니다
http://spoonfedproject.com/jquery/extensive-list-of-jquery-lightbox-modal-plugins/)


테스트 결과 만족스러운 모습을 보여준 모달팝업

하지만!!!

기존에 구동하고 있던 프로그램에 붙이니 계속 스크립트 에러가 나는 것이었다.

하루종일 삽질한 결과

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

이 부분이 <!-- --> 이런 주석으로 처리되어 있었던거-_-;;


안되시는 분들은 혹시모르니 안될경우 DOCTYPE 지정을 꼭 해보길 바람
반응형
반응형

시드값 확인
dbcc checkident('테이블 이름', noreseed)

시드값 변경

dbcc checkident('테이블 이름', reseed, 변경값)

* 변경값은 현재시드값을 그 쪽으로 이동시켜주는 것이 됩니다. 예를 들어 증가값이 1로 identity가 설정되어있고 변경값에 40을 입력하여준 뒤 데이터를 추가시키면 컬럼값은 41이 되어서 데이터가 입력이 되게 됩니다(그리고 이 상태에서 계속 순차적으로 값이 올라갑니다)

반응형
반응형
MS SQL
EXEC sp_rename '원래테이블이름', '새테이블이름'


MY SQL
Rename 테이블이름 To 새테이블이름 [, 테이블이름2 To 새테이블이름2] ......


반응형

+ Recent posts