블로그 이미지
SQL Server VS. 석이 minsouk@hotmail.com MSSQL 쿼리성능 관련해 궁금한 사항이 있다면 언제나 누구나 TeamViewer + Line (네이버 japan 메신저) 에 minsouk1 추가 후 연락주세요~ 010-9967-0955 보미아빠

카테고리

보미아빠, 석이 (443)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total201,971
Today19
Yesterday50

달력

« » 2018.02
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28      

공지사항


메뉴얼을 필독하지않고 윈도우 2008을 처음 설치하시는 분은  위의 부분에서 다음으로 진행이 안됩니다.
결과론적으로 윈2008은 사용자 계정의 보안이 강화되었습니다.
 
처음설치시 암호의복잡성이 활성되어 있으므로 영문,숫자,특수문자포함 6자(포함) 이상으로 설정해야 부팅가능합니다.(차후에  보안옵션에서 암호입력없이 바로 부팅진행 수정가능 )
 
다음 네 가지 범주 중 세 가지의 문자를 포함해야 하는데,,,,,,
-  길이가 최소한 6자 이상이어야 함
-  다음 네 가지 범주 중 세 가지의 문자를 포함해야 함
-  영문 대문자(A - Z)
-  영문 소문자(a - z)
-  기본 10개 숫자(0 - 9)
-  알파벳 이외의 문자(예: !, $, #, %)
 
* 암호 복잡성 만족 조건: 사용자 암호: 대소문자,숫자의 조합으로 총 6글짜(포함)이상 입력(Cape Lock 켜져있는 상태는 영문 소문자)
* 기본 자판은 영문대문자인데 Cape Lock 켜져있는 상태는 영문 소문자로 변경됩니다.
* 사용자의 계정 이름이나 연속되는 문자 2개를 초과하는 사용자 전체 이름의 일부를 포함하지 않음
* 기호의 경우 제한이 있기때문에 보통은 @ 로 씁니다.
 
팁: 패스워드 입력시 아래와 같은 메세지가 뜨는 경우가 있는데, 계정정책에 의한 패스워드 복잡도및 길이를 만족시키지 못했을 경우입니다.
 
Unable to update the password. The value provided for the new password does not meet the length, complexity or history requirements of the domain.
 
암호 재설정 디스크작성을 위한 usb 드라이버 준비: 1.50KB로 userkey이름으로 저장됩니다.(암호는 절대 잊어버리지 마세요.)
 
@ 암호 복잡성 만족(암호 설정시 영문+숫자+ 기호 혼합사용): 해제
1. 로컬 그룹 정책 편집기를 엽니다. (제어판-> 관리도구 or Win키+R->gpedit.msc 입력 후 엔터
2. 로컬 컴퓨터 정책 -> 컴퓨터 구성 -> Windows 설정 -> 보안설정 -> 계정 정책 -> 보안 정책
3. 암호는 복잡성을 만족해야 함 -> 해제. (해당 항목 더블클릭 후 사용안함 으로 설정)
 
@ 대화형 로그온(Ctrl + Alt + Del) 사용없이 서버 로그온
가) 시작 - 실행: gpedit.msc 입력후 엔터
나) 로컬 컴퓨터 정책 - 컴퓨터 구성- 윈도우 설정- 보안설정-로컬정책- 보안옵션
다) 대화형 로그온: ctrl + alt + del을 사용할 필요없음 - 사용으로 변경
라) 시작 - 실행  - CONTROL USERPASSWORDS2 - 확인 - 사용자 계정 - 사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음 - 체크해제 - 확인 - 새로운 창이 열리면 여기에 설치시 입력하셨던 암호를 입력 - 확인
 
@ 자동 로그인 설정
[시작] - [실행]을 눌러 [control userpasswords2]를 입력하고 실행
[사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음]에 체크를 해제하고 [확인] 버튼을 클릭한다.본인이 사용할 계정과 비밀번호를 넣고 완료합니다.
 
@ 암호 항시 사용 해제
시작 - 실행창의 'netplwiz' 입력하신 다음 체크 풀어주시면 됩니다.
이와함께 '암호 교체 주기 0일로 변경 (OFF)'로 설정하세요..
 
- - 위의 설정들은 첫 로그인후에 바로 적용해줘야 하는 부분입니다. - -
 
@ 로그온시 Ctrl + Alt + Delete 사용하지 않음(Ctrl Alt Delete 사용안함.reg)
그룹정책 편집기에서 설정 가능한데.첨부된 레지스트리를 적용하시면 바로..설정이 완료됩니다.

@ Internet Explorer 보안설정
가) 시작 - 실행 - CompMgmtLauncher - 서버 관리자 실행(작업표시줄 - 빠른 실행 - 서버관리자 클릭하셔도 됩니다.)
나) 서버 요약 - 보안 정보 - IE ESC  구성(보안강화구성)
다) 관리자/사용자 - > 모두 사용안함으로 수정
 
@ 무선 인터넷(무선 랜) 사용(제가 무선 인터넷을 사용해서 정리한 부분입니다.)
가) 시작 - 실행 - CompMgtLauncher -  서버관리자 실행( 작업표시줄 - 빠른 실행 - 서버관리자 클릭하셔도 됩니다.)
나: 기능 요약 - 기능 추가 - 무선 LAN 서비스 선책 - 다음으로 기능추가설치 진행
다: 시작 - 실행 - Services.msc 입력후 엔터 - 서비스 실행 - 목록에 없었던 WLAN AutoConfig 서비스 생성확인 -> WLAN AutoConfig  서비스 -> 시작으로 수정(서비스 유형: 자동)

@ 테마 및 에어로(Aero 기능) 활성화
에어로 테마를 활성화 시키기 위해서는 서버관리자에서 구성요소와 관리항목인 Desktop Experience 항목과 Quality Windows Audio Video Experience 항목을 체크하면 되는데 잉크 서포트 부분은 자동으로 체크가 됩니다. (확인 누르면 2번의 재부팅 과정에 걸쳐 구성요소 설치가 완료됩니다.)
당연히 서비스 항목에서 테마 부분을 활성화 시켜야 합니다.
 
가) 시작 -> 실행 -> services.msc -> 서비스 실행
나) Themes 더블클릭 -> 시작으로 수정(시작유형: 자동) -> 시스템 재부팅 필요
다) 시작 -> 실행 -> CompMgmtLauncher -> 서버 관리자실행(혹은 작업표시줄-빠른 실행 - 서버관리자클릭)
라) 기능요약 - 기능 추가 - "Quality Windows Audio Experience" / "데스크톱 경험" 체크 설치후 재부팅
마) 바탕화면 -> 마우스 우측버턴 클릭 -> 개인 설정 -> 테마
바) Windows Vista 선택 또는 찾아보기 클릭후 -> c:windows\resources\themesAero.themes 선택
사) 내 컴퓨터 아이콘 -> 마우스 우측 클릭 -> 속성 -> 고급 시스템 설정 -> 고급 -> 성능 -> 설정 ->
시작효과 -> 내 컴퓨터에 가장 좋은 설정을 자동으로 선택 -> 적용 -> 확인
 
@ 종료시 이벤트 추적기 사용하지 않음(종료이벤트추적기사용안함.reg)
가) [시작] - [실행]을 눌러 [gpedit.msc]를 입력하고 실행한다.
나)  [컴퓨터 구성] - [관리 템플릿] - [시스템]으로 순서대로 이동을 한다.
다) 오른쪽에 시스템 종료 이벤트 추적기 표시를 더블클릭한다.창이 뜨면 [사용 안 함]으로 변경한다.
 
@ DEP 설정 약하게
DEP 때문에 실행되지 않는 프로그램들이 있는데,,시스템 등록정보 고급설정 들어가셔서 (귀찮으시면 SystemPropertiesAdvanced 입력) 적용해주세요.(재부팅해야 당연히 적용됩니다.)

@  사운드 활성화
가) 시작 - 실행 - Services.msc -> 서비스 실행
나) Windows Audio 더블클릭 -> 시작으로 수정(시작유형: 자동)
다: 제어판 -> 소리 -> 필요한 옵션 설정

@ 바탕화면에 깔끔한 IE 아이콘 등록(ie.reg 참조)
첨부파일 실행 병합 후 바탕화면에서 마우스 우클릭 -> 부메뉴에서 새로 고침(E) 클릭.

@ 종료속도 빠르게 하기(첨부레지참조)
가) 시작 - > 실행 ->  gpedit.msc -> 그룹정책개체편집기 -> 컴퓨터 구성 -> 관리템플릿 -> 시스템 ->
사용자 프로필 -> 프로필 언로드 및 업데이트의 재시도 최대 횟수를 더블클릭 -> 사용을 선택후
재시도횟수를 0으로 수정

@ 오류보고끄기
제어판 - 시스템 - 고급 - 오류보고 - 오류보고 사용안함

@ 자동 시스템 재부팅 비활성화
제어판 -> 시스템 -> 고급 -> 시작 및 복구 -> 설정 -> 시스템 오류 항목을 자동으로 다시 시작을 체크해제

@ 인터넷 보안 강화 구성 사용 하지 않기
기본적으로 인터넷 보안 강화 구성이 사용으로 설정되어 있는데.이 설정으로 인해서 사이트를 이동 할 때 마다 사이트 등록을 해줘야 할 뿐 아니라 많이 사용하는 플래시나 ActiveX를  사용할 수 없습니다.그래서 이 부분은 비활성화시켜주는 것이 좋습니다.
가) 관리 도구에 보면 서버 관리자가 있습니다. 서버관리자를 실행 시키면 초기 화면에서 [서버요약 - 보안정보]의 오른쪽에  보면 아래 이미지처럼 있습니다. 여기서 [IE ESC 구성]을 클릭합니다.
나) 관리자와 사용자를 모두 [사용 안 함]으로 변경하고 [확인] 버튼을 클릭하면 설정이 끝납니다.
 
@ 로그인시 [Ctrl + Alt + Del] 누르지 않기
가) [시작] - [실행]을 눌러 [gpedit.msc]를 입력하고 실행한다.
나) [컴퓨터 구성] - [Windows 설정] - [보안 설정] - [로컬 정책] - [보안 옵션]으로 순서대로 이동을 한다.
오른쪽에 대화형 로그인 : [Ctrl+Alt+Del]을 사용할 필요 없음을 더블클릭한다.창이 뜨면 [사용]으로 변경한다.
 
@ 종료시 이벤트 추적기 사용하지 않기
가) [시작] - [실행]을 눌러 [gpedit.msc]를 입력하고 실행한다.
나) [컴퓨터 구성] - [관리 템플릿] - [시스템]으로 순서대로 이동을 한다.
다) 오른쪽에 시스템 종료 이벤트 추적기 표시를 더블클릭한다. 창이 뜨면 [사용 안 함]으로 변경한다.
 
@ 자동 로그인 설정
가) [시작] - [실행]을 눌러 [control userpasswords2]를 입력하고 실행한다.
나) [사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음]에 체크를 해제하고 [확인] 버튼을 클릭한다.본인이 사용할 계정과 비밀번호를 넣고 완료한다.

@ 원격 데스크탑 포트 변경하기
기본적인 포트로 사용을 하면 보안상 좋지 않기 때문에 원격 데스크탑용 포트를 변경해서 사용하세요.
가) [시작]에서 [실행]을 누른 후 [regedit]를 입력하여 레지스트리 편집기를 실행 시킵니다.
나: 그런후 아래의 키로 이동을 합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
 
이동을 했으면 오른쪽에 보면 많은 데이터가 있습니다. 그 중에서 [PortNumber]를 찾아서 더블 클릭하면 아래와 같은 창이 뜹니다. 단위에서 10진수로 변경하고 값 데이터를 원하는 포트로 변경을 하면 됩니다.
 
다) Windows 방화벽을 사용중이라면 변경한 포트를 방화벽에 예외추가를 해줘야 당연히 사용가능합니다.  [제어판] - [Windows 방확벽]으로 이동을 합니다. 윈2008은 [Windows 방확벽 설정 또는 해제]를 누릅니다. Windows 방화벽 설정 창이 뜨면 [예외] 탭으로 이동을 하고 [포트 추가]를 눌러 이름은 원하는 이름으로,  포트는 위에서 변경한 번트번호를 입력하고, 프로토콜은 TCP를 선택하고 [확인] 버튼을 눌러 설정을 완료합니다.
 
Windows 방화벽 추천옵션: 끄기
 
@ Windows Update(고급옵션보기 클릭):업데이트를 확인하지 않음 체크
 
@ 자동실행: 모든 미디어 및 장치에 자동실행 사용 체크 해제
 
@ 입력 도구 모음 숨기기
가) [제어판] - [국가 및 언어 옵션]을 선택
나) 4개의 탭중 3번째 [키보드 및 언어]로 이동 후 [키보드 변경...] 버튼을 클릭
다) [텍스트 서비스 및 입력 언어]라는 창이 뜨고 3개의 탭에서...
라) 2번재 탭인 [입력 도구 모음] 이동 하여 아래 이미지와 같이 숨김으로 변경

@  화면보호기 - 다시 시작할때 로그온 화면표시 해제
 
@ 시각효과 세부설정
제어판 -> 시스템 -> 고급 -> 성능 -> 설정 -> 성능옵션 - 시각효과 -> 최적 성능으로 조정을 선택
 
@ 메뉴 팝업속도 향상하기
HKEY_CURRENT_USER\ControlPaneldesktop - MenuShowDelay -> 0으로 수정
 
@ 폴더창 팝업속도 향상
HKEY_CURRENT_USER/Control Panel/desktop/windowmetrics 새로만들기(문자열 값)
MinAnimate -- > 0으로 수정
 
@ 종료 빠르게하기
HKEY_CURRENT_USER\SYTEM\CurrentControlSet\Control\WaitTokillServiceTimeout: 2000 에서 --> 1000 으로 수정
 
@ 무응답 응용프로그램 타임아웃 시간줄이기
HKEY_CURRENT_USER/Control Panel/desktop 에서 HungAppTimeout 값 5000(5초)
--- > 500초(1000 = 1초)로 수정

서버사용용도이기 때문에 성능을 위해서 64비트용으로 설치하는 것이 좋습니다.(CPU가 지원해야함).
이번에 나올 2008 R2는 32비트용이 없고..64비트용 전용으로 나옵니다.
Posted by 보미아빠


DECLARE @TBL TABLE
(
 M01  VARCHAR(50)
,M02  VARCHAR(50)
,M03  VARCHAR(50)
 )
INSERT @TBL
SELECT '홍길동','',''
UNION
SELECT '이순신','',''
UNION
SELECT '','이순욱',''
UNION
SELECT '','장길자',''
UNION
SELECT '','오마니',''
UNION
SELECT '','마징가',''
UNION
SELECT '','','싱싱이'


SELECT MAX(M01) M01, MAX(M02) M02, MAX(M03) M03
  FROM (SELECT
      CASE WHEN CASE WHEN M01 = '' THEN 0 ELSE 1 END = 1 THEN ROW_NUMBER() OVER (PARTITION BY CASE WHEN M01 = '' THEN 0 ELSE 1 END ORDER BY (SELECT 1)) ELSE 0 END
    + CASE WHEN CASE WHEN M02 = '' THEN 0 ELSE 1 END = 1 THEN ROW_NUMBER() OVER (PARTITION BY CASE WHEN M02 = '' THEN 0 ELSE 1 END ORDER BY (SELECT 1)) ELSE 0 END
    + CASE WHEN CASE WHEN M03 = '' THEN 0 ELSE 1 END = 1 THEN ROW_NUMBER() OVER (PARTITION BY CASE WHEN M03 = '' THEN 0 ELSE 1 END ORDER BY (SELECT 1)) ELSE 0 END G
    , *
    FROM @TBL) A
 GROUP BY G

Posted by 보미아빠


use t
go

if object_id ('tblx') is not null
drop table tblx
go

create table tblx
(idx int identity(1,1)
,a int
)
go


declare @a varchar(max)
set @a =''


-- 문제없음
set @a =
  '--' + replicate ('a', 7000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 1'
exec (@a)


-- 에러 222222 를 넣었는데 22 만 들어감
set @a =
  '--' + replicate ('a', 7966)
+ char(10) + char(13)
+ 'insert into tblx (a) select 222222'
print @a
exec (@a)


-- 조용히 데이터 안들어감 
set @a =
  '--' + replicate ('a', 8000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 3'
exec (@a)
go


-- 문제의 해결
set @a = 
convert(varchar(max), '')
+ '--' + replicate ('a', 8000)
+ char(10) + char(13)
+ 'insert into tblx (a) select 3'
exec (@a)
go


select * from tblx






유사한 오류는 다음과 같은것이 있습니다.

실제 오류는 아니지만 다음과 같은 계산이 안된다.

select power(2,31)-1
메시지 232, 수준 16, 상태 3, 줄 1
int 유형에 산술 오버플로 오류가 발생했습니다. 값 = 2147483648.000000

declare @a int, @b int, @c bigint
select @a = 2147483647, @b = 2147483647

set @c = @a + @b
select @c
메시지 8115, 수준 16, 상태 2, 줄 4
expression을(를) 데이터 형식 int(으)로 변환하는 중 산술 오버플로 오류가 발생했습니다.

--------------------
NULL

(1개 행이 영향을 받음)


'밥벌이' 카테고리의 다른 글

varchar(max) 주의사항  (9) 2010.11.26
OPTIMIZE FOR ( @variable_name { UNKNOWN | = literal_constant } [ , ...n ] )  (0) 2010.11.19
민석이의 waitstat 모니터링  (0) 2010.11.18
부하 데이터생성  (0) 2010.11.18
Array Insert  (1) 2010.11.17
이 쿼리의 결과는 뭘까요?  (6) 2010.11.04
Posted by 보미아빠

최근에 달린 댓글

최근에 받은 트랙백

글 보관함