그래픽 실행 계획 표시

http://technet.microsoft.com/ko-kr/library/ms178071.aspx


실행 계획을 만드는 T-SQL

http://technet.microsoft.com/ko-kr/library/ms187886.aspx

웹캐스트: Microsoft SQL Server 2000: SQL Server 2000에서 실행 계획 읽기

http://support.microsoft.com/kb/815337/ko

Posted by leebaro
,
Posted by leebaro
,
Windows Server 2003에서는 서버가 핫 추가 메모리 장치를 사용하는 경우에만 PAE가 자동으로 설정됩니다. 이 경우 핫 추가 메모리 장치를 사용하도록 구성된 시스템에서는 /PAE 스위치를 사용할 필요가 없습니다. 다른 모든 경우에 4GB 이상의 메모리를 이용하려면 Boot.ini 파일에서 /PAE 스위치를 사용해야 합니다.

일반적으로 Windows 2000이나 Windows Server 2003에서 실행되는 프로세스는 /3GB 스위치를 사용하지 않는다고 가정할 때 최대 2GB의 메모리 주소 공간에 액세스할 수 있으며 이 메모리 중 일부는 실제 메모리이고 일부는 가상 메모리입니다. 프로그램과 프로세스를 더 많이 실행하면 최대 2GB의 주소 공간까지 메모리를 더 많이 커밋하게 됩니다.

이런 상황이 발생하면 페이징 프로세스가 크게 증가하여 성능에 나쁜 영향을 미칠 수 있습니다. Windows 2000 및 Windows Server 2003 메모리 관리자는 PAE를 사용하여 프로그램에 더 많은 실제 메모리를 제공합니다. 이렇게 하면 페이지 파일의 메모리를 스왑할 필요성이 줄어들어 성능이 향상됩니다. 프로그램 자체는 실제 메모리 크기를 인식하지 못합니다. 모든 메모리 관리와 PAE 메모리의 할당은 실행되는 프로그램에 관계없이 메모리 관리자에 의해 처리됩니다.

앞의 정보는 /3GB 스위치를 사용하여 실행하는 프로그램에 해당됩니다. 3GB 메모리를 요청하는 프로그램은 페이징 아웃하는 대신 실제 메모리에 더 많은 메모리가 남아 있도록 할 수 있습니다. 이렇게 하면 /3GB 스위치를 사용할 수 있는 프로그램의 성능이 좋아집니다. 예외는 /3GB 스위치를 /PAE 스위치와 함께 사용할 때 발생합니다. 이 경우 운영 체제는 16GB를 초과하는 메모리를 사용하지 못합니다. 이 문제는 커널 가상 메모리 공간의 고려 사항으로 인해 발생합니다. 이렇게 Boot.ini 파일에서 /3GB 항목을 사용하여 시스템을 다시 시작하고 시스템의 실제 메모리가 16GB보다 큰 경우 운영 체제는 추가 실제 RAM을 사용하지 않습니다. /3GB 스위치를 사용하지 않고 컴퓨터를 다시 시작하면 실제 메모리를 모두 사용할 수 있습니다.

AWE는 메모리 관리자 기능에 대한 API(응용 프로그래밍 인터페이스) 집합으로 프로그램이 표준 32비트 주소 지정을 통해 4GB보다 큰 사용 가능한 메모리를 주소 지정할 수 있게 해 줍니다. AWE를 사용하면 프로그램은 실제 메모리를 비페이징 메모리로 예약한 다음 비페이징 메모리 일부를 프로그램의 메모리 작업 집합에 동적으로 매핑할 수 있습니다. 이 프로세스를 사용하면 대형 데이터베이스 시스템처럼 메모리를 많이 사용하는 프로그램이 페이지 파일을 사용하기 위해 페이징 인/아웃할 필요 없이 많은 실제 메모리를 데이터용으로 예약할 수 있습니다. 대신 데이터는 작업 집합에서 스와핑되며 예약된 메모리는 4GB 범위를 초과합니다. 또한 4GB를 초과하는 메모리 범위는 PAE에 의해 AWE 기능 및 메모리 관리자에 노출됩니다. PAE 없이는 AWE가 4GB를 초과한 메모리를 예약할 수 없습니다.

다음은 PAE 스위치가 추가된 Boot.ini 파일의 예입니다.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE

아래의 링크 참고
http://support.microsoft.com/kb/283037/
Posted by leebaro
,

2007년 10월 5일

English 2007. 10. 5. 09:37

How do you spend free time?
 - 자유 시간에 뭐하면서 보내니?

Fine
 -벌금

소심한 사람의 성격읠 뜻하는 말
 - Quiet, shy

대리만족
 - vicarious satisfaction

Posted by leebaro
,

오늘은 데이터를 A에서 B로 옮길 때 자동 증가값을 생성하는 방법을 살펴 보겠다.

A라는 테이블은 고객 테이블이다. 현재 주민등록번호가 기본키 값으로 잡혀있지만 새로운 데이터베이스로 옮길때는 주민번호를 기본 키값으로 사용할수 없게 되었다면 어떻게 해야하겠는가? 물론 Surrogate key(대체키)를 생성해야 한다.

그럼 데이터를 다 옮긴 다음에 키 값을 생성할 것인가? 아니다. SSMS 작업 중 데이터 내보내기 또는 데이터 가져오기 기능 내에서도 가능하다.

오늘은 이 기능을 살펴 보겠다.

우선 SSMS를 실행 한다. 하고 데이터를 옮길 대상 데이터베이스에서 마우스 오른쪽을 클릭하고 작업에서 데이터 가져오기를 선택한다.

전체 화면 1

 

데이터 원본을 선택한다.

image

 

데이터를 내 보낼 대상을 선택한다.

image 

 

우리는 하나 이상의 테이블 또는 뷰에서 데이터 복사를 선택한다.  쿼리에 자신 있거나 복잡한 쿼리를 만들어야 한다면 전송 데이터를 저장할 쿼리 작성을 선택해도 된다.

윈도우 5

원본 테이블에서 옮김 대상 테이블을 선택하고 매핑 편집 버튼을 클릭한다.

윈도우 6

 

열 매핑에서 원본 컬럼의 유형, 크기 등의 특성을 알맞게 조절하고 SQL 편집 버튼을 클릭한다.

윈도우 7

 

여기에서 우리는 지금까지 설정한 방식에 맞춰진 Create Table 쿼리문을 볼 수 있다. 그럼 쿼리의 Create Table 뒤에 자동 증가값 컬럼인 IDX를 추가한다.

윈도우 8

 

IDX를 추가하면 아래와 같다.

윈도우 9

두번째 줄을 보면 아래의 쿼리가 추가 되었다. 그리고 확인을 클릭한다.

[IDX] IDENTITY(1,1) PRIMARY KEY

즉시 실행을 체크하고 다음을 클릭한다.

윈도우 11

 

마침을 클릭하면 데이터가 옮겨지능 과정이 보이고, 해당 데이터베이스를 확인하면 자동 증가값이 추가된 테이블을 볼 수 있다.

윈도우 12

Posted by leebaro
,

테이블을 만들다 보면 똑같은 키 값이지만 입력된 날짜 순으로 데이터가 들어 갈 수 있다. 나중에 다른 테이블과 조인을 하려고 하는데 중복되는 최신 값 중에 최신 값을 기준으로 하고 싶다면 아래와 같은 쿼리를 사용하여 max와 Group by를 이용하면 된다.

select B.stitle,A.sdate,sflag from (select stitle,max(sdate) sdate from test01  group by
stitle) A  inner join
test02 B ON A.stitle = B.stitle

Posted by leebaro
,
테이블을 백업하기 위해 복사한다.

CREATE TABLE DWC_menu_BK AS SELECT * FROM DWC_menu;
Posted by leebaro
,
select * from (select distinct PRD_YR,PRD_YRWK from DMC_Period order by prd_yrwk desc) WeekTable where prd_yrwk <= '200610' and  rownum <= 10 order by prd_yrwk asc

rownum을 사용하여 갯수를 지정해야한다.
Posted by leebaro
,
select menu_id, sys_connect_by_path(menu_desc,'@') from dwc_menu
connect by prior  menu_id = parent_id
Posted by leebaro
,

2007년 3월 23일

재테크 2007. 3. 23. 08:59
Posted by leebaro
,