달력

4

« 2024/4 »

  • 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
MSSQL 2005 AWE(Address Windowing Extensions) 정리

AWE란 SQL Server 2005 Enterprise Edition에서 32비트 버전의 Microsoft Windows 운영 체제에서 실제 메모리를 4GB 이상 사용할 수 있도록 하는 기능입니다. 

SQL Server 2005에서는 AWE(Address Windowing Extensions) API를 사용하여 구성된 가상 메모리에 설정된 한계보다 더 큰 실제 메모리 액세스를 제공할 수 있으며, 사용할 수 있는 메모리 양은 하드웨어 구성과 운영 체제 지원에 따라 달라집니다. Windows Server 2003 운영 체제부터 지원하는 실제 메모리 용량이 늘어났으며, AWE에서 액세스할 수 있는 실제 메모리 용량은 사용 중인 운영 체제에 따라 달라집니다. 

운영 체제  /  AWE에서 액세스 가능한 실제 메모리 크기 
Windows Server 2003 Standard Edition /  4GB 
Windows Server 2003 Enterprise Edition  /  32GB 
Windows Server 2003 Datacenter Edition /  64GB 

MSSQL 2005 Edition / 사용가능 메모리 크기
MSSQL 2005 Express / 1G
MSSQL 2005 WorkGroup / 2G
MSSQL 2005 Standard / 무제한
MSSQL 2005 Enterprise / 무제한

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

32 bit SQL Server 2005에서 4GB 이상의 실제 메모리를 지원하려면 다음과 같은 작업이 필요합니다.

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
------------------------------------------------------------------------------------------------------------------


SQL Server 버전과 운영 체제에 따라 동작이 달라지므로 AWE를 사용하기 전에 SQL Server 온라인 설명서에 기술되어 있는 운영 체제별 지침을 확인하기 바랍니다. 

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.ko/udb9/html/d308d9cb-bb85-46f6-93c6-e2ddd0fa01c3.htm 

AWE를 활성화하는 경우에는 ‘max server memory’ 값을 설정하는 것을 권고합니다. Windows 2000의 경우 ‘max server memory’ 옵션에 값을 지정하지 않으면 실제 메모리를 128 MB 이하만 남겨 두고 대부분의 사용 가능한 메모리를 예약합니다. ‘max server memory’를 잘못 구성하면 심각한 문제가 발생할 수 있으며 다른 응용 프로그램에 지장을 줄 수 있으므로 ‘max server memory’ 구성 옵션의 설정은 신중하며 계획적으로 이루어져야 합니다. ‘max server memory’ 옵션 설정에 대해서는 별도로 다룰 예정입니다. 

다양한 시스템들을 컨설팅하다 보면 실제 메모리를 증설하고서 AWE 구성을 하지 않아서 제대로 메모리 자원을 사용하지 못하는 경우를 볼 수 있습니다. 예를 들어, 실제 메모리는 8GB이고 사용자는 SQL Server가 실제 메모리를 잘 사용하고 있다고 생각하고 있는데, 실제로 확인해 보면 SQL Server는 약 2GB미만의 메모리만 사용하는 경우들이 있습니다. 이런 문제는 대부분 boot.ini 파일에 /pae 옵션을 지정하지 않거나 ‘awe enabled’ 옵션을 활성화하지 않아서 발생하며, 아주 드물지만 Enterprise Edition을 사용해야 하는데 Standard Edition을 사용함으로 인하여 서버에 장착된 실제 메모리를 제대로 사용하지 못하는 경우도 있습니다. 하드웨어 구성에 적합한 Edition을 구입해야 하며, 하드웨어 리소스를 충분히 활용할 수 있도록 환경을 구성해야 합니다. 

다음은 AWE를 구성하는 예제 스크립트입니다. 

1. ‘awe enabled’ 구성 옵션을 활성화합니다. 
sp_configure 'show advanced options', 1; 
RECONFIGURE 
GO 

sp_configure 'awe enabled', 1 
RECONFIGURE 
GO 

2. SQL Server를 다시 시작합니다. ‘awe enabled’ 구성 옵션이 활성화되면 SQL Server 오류 로그 파일에 다음과 같은 메시지가 기록됩니다. 

Address Windowing Extensions enabled 

3. ‘max server memory’와 ‘min server memory’ 구성 옵션을 시스템에 적절하게 구성합니다. 다음 예는 ‘min server memory’는 1GB로, ‘max server memory’는 6GB로 구성한 예제입니다. 
sp_configure 'min server memory', 1024; 
RECONFIGURE 
GO 

sp_configure 'max server memory', 6144; 
RECONFIGURE 
GO

<reference>


p.s. 붙여놓고 보니.. 2000 과 다른게 별루 없네요.... ㅜㅜ
:
Posted by Elick
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