달력

5

« 2024/5 »

  • 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
  • 29
  • 30
  • 31
MSSQL 2000 AWE(Address Windowing Extensions) 정리

MSSQL 2000은 특별한 옵션의 변경이 있지 않는 한 가용 메모리 중 2G까지는 스스로 사용량을 늘립니다.
H/W의 여유가 있는 경우 2G 보다 더 많은 메모리를 사용하기를 원한다면 AWE를 활성화 하는 방법이 존재합니다.

AWE는 Enterprise Edition과 Developer Edition에서만 지원되며 32비트 운영 체제에만 적용됩니다. 64 bit 플랫폼의 경우에는 디폴트로 AWE가 활성화되기 때문에 /pae 옵션을 사용할 필요도 없으며 'awe enabled' 구성 옵션을 설정할 필요도 없습니다.

이 옵션을 적용하기 전에 MSSQL Server 2000 SP4를 업데이트하는 것이 좋습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5

Microsoft는 SQL Server 2000 SP4의 최종 빌드에서 AWE 지원을 사용하여 SQL Server 2000을 실행할 경우 발생하는 문제를 발견했습니다. 이 문제는 ia64 플랫폼에는 영향을 주지 않습니다. 이 문제는 x86 시스템 및 x64 시스템에서 AWE를 2GB 이상의 메모리로 사용하는 경우(엔터프라이즈, 디벨로퍼 및 평가 버전에서만 사용 가능)와 전체 시스템 메모리의 절반 이상이 단일 SQL Server 인스턴스에 할당되는 경우에 영향을 줍니다. 이러한 구성에 해당되는 사용자는 SP4로 업그레이드한 후 Microsoft 기술 자료 문서 899761에 지정된 핫픽스를 구해서 적용해야 합니다.


아래는 OS 와 MSSQL 2000 Edtion 별 사용가능 메모리에 대한 정리 입니다.

Version             | SQL2000 Ent     | SQL2000 Std   | SQL2000 Per    | SQL2000 Dev
-----------------------|------------------------|-----------------------|-----------------------|--------------
Win2000 Data.     | 64GB               | 2GB               | 2GB                | 64GB
Win2000 Adv.      | 8GB                | 2GB                | 2GB                | 8GB 
Win2000 Sever    | 4GB                | 2GB                | 2GB                | 4GB
Win2000 Pro.      | N.A.                | N.A.               | 2GB                | 2GB 


1. /pae 매개 변수를 boot.ini 파일에 추가하고 컴퓨터를 다시 부팅합니다. 

  설정은 아래와 같은 기준으로 하면 될 듯 합니다.
4GB RAM:  /3GB (AWE support is not used)
8GB RAM:  /3GB /PAE
16GB RAM:  /3GB /PAE
16GB + RAM:  /PAE

--Windows의 boot.ini 에 추가할 옵션
 4 GB : 0 (Disabled) /3GB Dynamic (default)
 8 GB : 1 (Enabled) /3GB /PAE 6.5 GB
16 GB : 1 (Enabled) /3GB /PAE 14.5 GB 
16 GB↑ : 1 (Enabled) /PAE ~
*32 GB : 1 (Enabled) /PAE 29.5 GB
32 GB↑ : 1 (Enabled) /2GB /PAE
-------------------------------------------------
64bit SQL Ignored N/A dynamic

------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /3GB /PAE
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

2. "메모리의 페이지 잠그기(LOCK PAGE IN MEMORY)" 로컬 보안 정책에 SQL Server 서비스 계정으로 지정된 윈도우 사용자 계정을 추가합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
실행 > gpedit.msc 실행 > 로컬 컴퓨터 정책/컴퓨터 구성/Windows 설정/보안 설정/로컬 정책/사용자 권한 할당/메모리의 페이지 잠그기(LOCK PAGE IN MEMORY) 에 SQL Server Service Account 추가
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

3. sp_configure를 사용하여 ‘awe enabled’ 옵션을 1로 설정합니다. ‘awe enabled’ 옵션은 고급 옵션으로서 ‘show advanced options’를 1로 설정해야만 변경할 수 있습니다. AWE를 적용하려면 SQL Server 인스턴스를 다시 시작해야 합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'show advanced options', 1; 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

4. AWE를 구성한 다음에는 성능 모니터에서 SQL Server 인스턴스에게 할당된 메모리의 크기를 확인합니다. 
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'awe enabled', 1 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

<reference>
:
Posted by Elick
솔직히.. 아래의 사건이 일어났을 때.. 가슴이 철렁했었습니다.
====================================================

MSSQL 2000 설치되어 있음.
MSSQL 2005 설치
MSSQL 2005 제거
MSSQL 2000 Enterprise Manager 실행 -> 스냅인을 초기화하지 못했습니다. error 발생

아래와 같이 해결!!

-------------------------------------------------
설치된 SQL Server Enterprise Manager.msc 파일을 CD 속의 SQL Server Enterprise Manager.msc과 대체 시키면 더이상 오류가 나지 않을 수 있습니다.
--> 정상 작동하는 SQL Server Enterprise Manager.msc를 복사했음.

아래의 절차를 참고 하세요.
 
1. 작업 관리자에서 활성화된 mmc.exe 프로세스가 있다면 중지 
2. CD 의 x86\Binn 폴더 속의 sqlem.msc 파일을 시스템의 mssql\80\binn  폴더로 복사 
3. sqlem.msc의 이름을 SQL Server Enterprise Manager.msc 로 이름을 변경
4. 관련 DLL을 해제 후 재 등록 합니다.
regsvr32 /u "Program Files\Microsoft SQL Server\80\Tools\Binn\Dtsui.dll"
regsvr32 /u "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqldmo.dll"
regsvr32 /u "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqlns.dll"
regsvr32 /u "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqllex.dll"
regsvr32 /u "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqlmmc.dll"
 
regsvr32  "Program Files\Microsoft SQL Server\80\Tools\Binn\Dtsui.dll"
regsvr32  "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqldmo.dll"
regsvr32  "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqlns.dll"
regsvr32  "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqllex.dll"
regsvr32  "Program Files\Microsoft SQL Server\80\Tools\Binn\Sqlmmc.dll"
-------------------------------------------------

출처 : http://www.sqlleader.com
:
Posted by Elick
2009. 1. 12. 16:13

MSSQL history... (초간단..) Work/SQL Server2009. 1. 12. 16:13

MS SQL History

SQL Server 1.0 : Sybase의 32bit UNIX Version을 16bit OS / 2 Version으로 변환

SQL Server 4.2 : 이때부터 NT용으로 SQL Server가 NT에 탑재(사이베이스의 DBMS 엔진을 협력)

SQL Server 6.0 : 사이베이스의 RDBMS 엔진 라이센스를 구입한 후 MS가 개발.
기존에는 없었던 GUI제공으로 NT에 어울리는 SQL Server를 구성.
Client를 DOS부터 win98 까지 사용이 가능.
NT Base는 이때까지 문제도 많이 있었으며 안정화 역시 많이 부족.

SQL Server 6.5 : (1996년 4월)
NT 자체의 안정화(과거에 비해 비교적).
ANSI SQL규격에 맞는 인증 획득.
Distribute Transaction 가능.

SQL Server 7.0 (98년 12월)
6.5와의 DB 호환성이 많이 떨어짐.
Database 기본부터 DAT라는 디바이스개념이 아닌 mdf , ldf인 NT상에 데이터베이스 단위로 저장.
OLAP서비스의 구현, 영문 자연어 질의, Full Text Search,
이기종 DBMS서버와의 연동을위한 분산질의, 
Nasted Loop Join 이외에 Hash Join과 Merge Join 의 Join 방식의 추가.
DB 자동 증가와 기본 IO가 2K에서 8K로 확장, System의 Memory를 기존의 정적인 할당과 동적 할당 모두 가능,
행단위 잠금기능, 자동 통계정보 갱신, 완전한 DB관리를 위한 관리계획의 자동화, 
Index Tunning Wizard, Web Publishing 기능.

MSSQL Server 2000 (2000년)
Code name : Shilo
SQL7의 다양한 기능이 거의 안정화.
OLAP시스템의 발전인 Data Mining : SQL Server 7이 Data Warehousing -> SQL Server 2000 Data Mining.
XML과의 통합성.
IIS + XML + MSSQL -> XML데이터를 SQL Server를 이용해 생성한 후 IIS로 처리가 가능하게 하는 방식.
사용자가 함수를 정의할 수 있는 기능.
8Byte를 사용하는 bigint(새로운 Data type), variant.
계산된 Column에 대한 색인의 구축이 가능.
Partitioned view의 기능.
누수된 Memory 처리 향상.

MSSQL Server 2005 (2005년)
Code name : Yukon
Patitioned Table.
CTE (comman table Express) : Oracle의 connect by
함수 : Rank 윈도우 내의 순위(1, 2, 2, 4, 5, 6 …),
Dense_Rank 윈도우 내의 순위(1, 2, 2, 3, 4, 5 …), 
Row_Number 윈도우 내의 행 번호.
Try ... Catch 구문.
Top 기능 개선.
NewID() -> TableSample 기능개선.

MSSQL Server 2008
흠.. 많이 좋아졌겠지...
:
Posted by Elick
2009. 1. 12. 16:10

Database 란?? Work/Database General2009. 1. 12. 16:10

데이터베이스란?

 

데이터베이스가 뭐냐고 물어본다면 필자는 ‘데이터를 꺼내보기 좋게 잘 저장해 놓은 것’ 이라고 하겠다. 여기에 ‘여러 명의 사용자’라는 옵션이 붙던지 ‘고도로 구조화’라는 옵션이 붙던지.. 아무튼 ‘데이터를 꺼내보기 좋게 잘 저장해 놓을 것’에 포함이 된다. 여기서 논란의 여지가 있는 것은 역시 ‘잘’이란 부사이다. 데이터를 꺼내보기 좋게 ‘잘’ 저장하는 것이 우리가 데이터베이스를 공부하는 70%라고 봐도 된다. 데이터를 ‘잘 꺼내보는 것’은 30%에 해당한다. 그러므로 어떻게 데이터를 저장할 것인지를 결정하기 위한 일련의 작업들을 데이터베이스 모델링과 설계라고 봐도 된다. 잘 꺼내보는 것은 DBMS를 제작하는 기술과 DBMS를 이해하고 SQL문을 작성하는 것이다. 물론 DBMS를 제작하는 기술은 그야말로 어려운 일이므로 이를 제외하면 DBMS를 이해하고, SQL문을 작성하는 것만 남게 된다.

, 그럼 데이터를 꺼내보기 좋게 잘 저장해 놓았다고 하자. 왜 이런 짓을 해야 할까? 바로 사용자의 정보욕구를 만족시키기 위해서. 결국 데이터베이스는 보다 정보를 얻기 편리하게 해보자는 의도에서 만들어진 것이다. 그렇다면 다른 문서에서는 데이터베이스를 어떻게 정의하고 있는지 살펴보자.

 

데이터베이스의 정의
논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조함으로써 검색과 갱신의 효율화를 꾀한 것이다. , 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. -- 네이버 백과사전

 

첫 번째로 논리적으로 연관된이란 글에 대해서 고려해보자. 연관되어있다는 것은 어떤 개념의 범위에 속해 있다는 뜻이된다. 지금 이 글을 보고 내용을 이해하고 있는 사람은 아마도 “한국어를 할 수 있는 사람” 좀 더 개념의 범위를 좁혀보면 “자랑스런 조선인으로써” 나와 연관될 수 있다.(매우 정성적이지만 그렇다치자) 이렇게 개념의 범위 좀 더 이론적으로 말한다면 집합의 명제속에 속하는 원소들 끼리는 바로 논리적으로 연관되었다고 볼 수 있는 것이다.

 

 

두 번째로 하나 이상의 자료의 모음이란 글에 대해서 따져보자. 사실 말이 좀 우습다. “두개 이상의 자료의 모음” 또는 “세개 이상의 자료의 모음”이라고 해도 별로 우습지 않다. 1개의 자료나 3개의 자료나 분명히 숫자에 대한 기본적인 지식만 알면 인간의 머리속에서 해결할 수 있다. 아마도 “하나 이상”의 뜻은 인간이 감당하기 힘들 정도의 자료의 양이 될 것이다. 정말이지 조그만한 강원도 두메산골 1평 남짓한 구멍하게를 운영한다고 하자. 상품은 30개가 되지 않는다. 하루 매출은 1만원을 넘지 않는다. 물건을 사러오는 사람도 몇 명되지 않는 동네 어르신들이다. 다른 구멍가게는 없다. 과연 매출장부가 필요할까? 그럼 대형할인마트를 생각해보자. 하루 몇 억개의 상품이 팔려나간다. 이러한 매출자료를 수작업으로 정리하려면 생각만해도 짜증스럽다. 어찌되었건 하나 이상의 자료의 모음이라는 것은 많은 양의 데이터를 뜻할 것이다.

 

세 번째로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀 한 것이란 글에 대해서 살펴보자. 위에서 예를 든 대형할인 마트로 다시 돌아가보자. 그 수많은 상품들을 아무런 진열도 하지 않고 그냥 쏟아 부어 놓았다고하자. 여러가지 상품이 산더미처럼 얼켜있을 것이다. 상품의 가치도 가치이거니와 원하는 물건을 사기위해서는 많이 뒤져봐야 할 것이다. 또한 A라는 상품이 없다고 어떤 고객이 눈앞에서 난리를 치고 있다. 할 수 없이 대형할인마트의 재고관리자는 포크레인으로 A상품을 쏟아 부었다고 하자. 그런데 내가 찾는 상품은 알고보니 제일 먼저 쏟아부어 제일 바닥에나 있다고 하자. 어찌되었던 내가 원하는 상품을 찾기 위해서는 다른 상품이 또 밑으로 내려가야 한다. 장사가 될까? 데이터베이스도 마찬가지이다. 자료를 잘 정리정돈 해놓아야 데이터를 잘 사용할 수 있는 것이다. (내용을 고도로 구조화하는 방법은 데이터 모델링과 설계부분이다. 이는 나중에 다룰 것이다.)

 

네 번째로 몇 개의 자료 파일을 조직적으로 통합이란 글을 살펴보자. 백과사전이라 그런지 몰라도 데이터베이스의 탄생배경을 생략해 놓은 듯한 글귀다. 우찌되었건 파일시스템을 사용할 적(물론 지금도 사용하고, 어떤 경우에는 데이터베이스보다 더 효율적이다)에 발생되었던 문제의 근본 원인인 “자료의 중복”을 들먹이고 있다. 물론 자료의 중복은 중복을 아예 없애라는 것이 아니라 “최소한의 중복”이다. 이러한 자료의 중복을 없애는 작업이 나중에 나오게 될 데이터베이스의 꽃인 “정규화”이다. 그럼 현재는 데이터베이스는 자료의 중복이 많이 없어졌을까? 알 수 없다. 필자가 본 많은 데이터베이스는 엄청나게 많은 자료의 중복이 있었다. 그로인해 많은 사람들이 괴로워하는 것도 많이 보았다. 데이터베이스를 잘 사용하지 못하면 오히려 파일시스템보다 더 중복이 일어날 수 있다. 데이터베이스 답게 사용하려면 자료의 중복을 없애는 일이 너무나도 중요하다. 자료의 중복을 없애는 것은 좋은 정보를 만들어내는 지름길이다.

 

데이터베이스의 특징

 

 

ü        똑같은 자료를 중복하여 저장하지 않는 통합된 자료

ü        컴퓨터가 액세스하여 처리할 수 있는 저장장치에 수록된 자료

ü        어떤 조직의 기능을 수행하는 데 없어서는 안 되며 존재 목적이 뚜렷하고 유용성 있는 운영 자료이기 때문에 임시로 필요해서 모아 놓은 데이터나 단순한 입출력 자료가 아니라는 점

ü        한 조직에서 가지는 데이터베이스는 그 조직 내의 모든 사람들이 소유하고 유지하며 이용하는 공동 자료로서 각 사용자는 같은 데이터라 할지라도 각자의 응용 목적에 따라 다르게 사용할 수 있다는 점이다.

 

 www.databser.net에서.. 퍼온거 같은데... 기억이 가물가물하다..

 

:
Posted by Elick