DB 60

AWE(Address Windowing Extension)의 사용(MS-SQL 2005)

32비트 윈도우즈 운영체제는 기본적으로 32비트 주소체계를 사용하므로 4GB까지의 메모리를 사용할 수 있으나, 2GB는 운영체제를 위하여 예약되어 있고, 실제 응용 프로그램에서는 2GB까지 사용할 수 있습니다. AWE(Address Windowing Extensions)는 MS-SQL에서 4GB의 한계를 넘어서는 물리 공간을 직접 사용할 수 있도록 하는 기능으로 요즘과 같이 메모리 가격이 싸고 대용량의 메모리로의 확장이 쉬운 환경에서는 자주 접하게 되는 기능입니다. 그러나 AWE는 MS-SQL Server 2005의 Enterprise 버전과 Developer 버전에서만 지원합니다. AWE의 사용은 운영체제와도 관련이 깊은데, 윈도우즈 2003의 버전에 따라 지원하는 메모리의 크기가 달라집니다. Wind..

DB/MS-SQL 2009.03.17

Lock Pages in Memory(메모리 페이지 잠그기) 옵션 설정(MS-SQL 2005)

SQL 서버에 AWE를 사용하려면 꼭 거쳐야할 과정중의 하나입니다. MS-SQL 2005에서 메모리 페이지 잠그기(Lock Pages in Memory) 옵션은 기본적으로 OFF로 설정되어 있습니다. 이 옵션을 사용할 때의 주의할 점은, 실제 메모리 페이지를 고정시키기 때문에 과도하게 메모리를 할당하여 페이지를 잠가버리면 실체 OS에서 사용할 공간이 부족하여 OS가 심각하게 느려질 수 있다는 점입니다. 시작 메뉴에서 실행을 클릭합니다. 열기 입력란에 gpedit.msc를 입력합니다. 그룹 정책 대화 상자가 열립니다. 그룹 정책 콘솔에서 컴퓨터 구성을 확장한 다음 Windows 설정을 확장합니다. 보안 설정을 확장한 다음 로컬 정책을 확장합니다. 사용자 권한 할당 폴더를 선택합니다. 세부 정보 창에 정책이..

DB/MS-SQL 2009.03.17

분할 테이블 및 분할 인덱스

분할된 테이블이나 인덱스를 생성하기 위해서는 먼저 파티션 함수와 파티션 구성표를 만들어야 합니다. 파티션 함수는 분할 열이라고 하는 특정 열의 값을 기반으로 파티션 집합에 테이블이나 인덱스의 행을 매핑하는 방식을 정의하고, 파티션 구성표는 파티션 함수로 지정된 각 파티션을 파일 그룹에 매핑합니다. 파티션 함수를 작성할 때, 분할 기준열과 분할을 위한 기준열에 대한 분할할 값의 범위를 고려해야 합니다. 기준열에 대한 분할 범위를 조정함에 따라 파티션의 개수가 달라집니다. 한개의 테이블에는 1,000개의 파티션 생성이 가능합니다. 참고자료 SQL Server 2005의 분할된 테이블 및 인덱스 MSDN Library

DB/MS-SQL 2009.02.22

테이블 및 컬럼의 설명 속성(description property) 활용하기

오늘 문득 SQL SSMS를 보다가 컬럼의 설명 속성(description property)에 눈길이 갔습니다. 여기에 값을 기록하면 분명 시스템 테이블 어딘가에 저장이 될텐데... 그럼 그 값을 활용하여 테이블 명세 관리하는 방법이 있지 않을까 하는데 생각이 미쳤습니다. 그럼, 그 설명 속성 값을 얻으려면 어떻게 해야하는가를 검색하여 보았더니 자료가 좀 되더군요. 아래 참고자료 중에 "MSSQL2000, 2005 테이블 명세서 출력쿼리"를 보면 원 저작자가 누구인지는 모르겠지만, 엄청난 노가다(?)를 한 유용한 쿼리더군요. 간단하게 한 DB에서 실행해 봤는데... 명세서도 깔끔하게 잘 나오더군요. 앞으로 테이블 관리할 적에 별도의 문서에 각 테이블, 컬럼별 주석을 정리해 두면 문서 관리 상에도 문제가 ..

DB/MS-SQL 2009.02.10

조건문과 함께 임시 테이블의 사용시 주의할 점.

#TEMP 등과 같은 임시 테이블을 사용할 때 특이한 경우가 있음. IF 조건문을 이용하여 동일한 임시테이블을 생성하지만 서로 다른 조건으로 쿼리한 결과를 담을 필요가 있어서 다음과 같이 쿼리를 작성하였더니 실행시 이미 있는 임시파일이라고 계속 오류가 발생함 IF @condition = 1 SELECT data1 INTO #TEST FROM TEST WHERE 1 = 1 AND regdate = '2009-01-01' #TEMP 임시 테이블이 이미 있는 것이라고 계속 오류가 발생합니다. SELECT ... INTO 로 임시 테이블을 생성할 경우 INTO로 같은 임시..

DB/MS-SQL 2009.01.01

연결된 서버의 저장 프로시저를 호출하기.

연결된 서버 개체를 생성할 때, 서버 옵션에서 PRC , RPC 내보내기 옵션을 TRUE로 만들어 주어야만 합니다. 그래서 연결된 서버를 통한 저장 프로시저 호출이 가능합니다. EXEC REMOTE_SERVER.TEST.dbo.usp_test_proc 주의할 점은 원격 서버의 호출할 저장 프로시저에서 PRINT 등으로 처리할 내용 외에 내용을 출력하게 되면 호출하는 서버에서 오류가 발생합니다. 개발시에 넣었던 PRINT 등을 모두 제거하여 원격 서버에서 호출할 때, 오류가 발생하지 않도록 해야 합니다.

DB/MS-SQL 2008.12.31

Undocumented 저장 프로시저 : sp_MSforeachtable, sp_MSforeachdb

SQL 온라인 도움말에는 없는 유용한 두 가지 저장프로시저를 소개합니다. sp_MSforeachtable 저장프로시저 이름에서 느껴지듯이 현 DB의 모든 사용자 테이블로 지정한 명령을 처리합니다. 사용법은 아래와 같습니다. exec @RETURN_VALUE=sp_MSforeachtable @command1, @replacechar, @command2, @command3, @whereand, @precommand, @postcommand @RETURN_VALUE - is the return value which will be set by "sp_MSforeachtable" @command1 - is the first command to be executed by "sp_MSforeachtable" and ..

DB/MS-SQL 2008.10.07

MS SQL Server 2005의 데이터베이스 미러링

데이터베이스의 고가용성을 확보하기 위한 MS SQL Server 2005 이상에서 새로 선보이는 미러링(Mirroring) 데이터베이스 미러링을 이용하면 트랜잭션 로그 레코드를 서버 간에 직접 전송할 수 있으며 대기 서버로 장애 조치를 빠르게 수행할 수 있습니다. 연결 정보를 자동으로 리디렉션하고 장애 조치 시 대기 서버와 데이터베이스에 자동으로 연결되도록 클라이언트 응용 프로그램 코드를 작성할 수 있습니다. 미러링은 커밋된 데이터의 손실 없이 신속하게 장애 조치를 수행할 수 있으며 전용 하드웨어가 필요 없고 설정 및 관리가 용이합니다. 데이터베이스 미러링 운영 모드 운영 모드 트랜잭션 안전성 전송 메커니즘 쿼럼 필요 미러링 모니터 서버 장애 조치 유형 가용성 우선 FULL 동기 Y Y 자동 또는 수동 ..

DB/MS-SQL 2008.10.07

MS-SQL 서버의 버전을 확인하는 방법

MS-SQL 서버의 버전을 확인하는 방법에는 두 가지가 있습니다. 첫 번째 방법은 아래와 같습니다. SELECT @@version 그러면 아래와 비슷한 결과가 나타납니다. Microsoft SQL Server 2000 - 8.00.192 (Intel X86) Jul 31 2000 15:47:46 Copyright (c) 1988-2000 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: ) (1 row(s) affected) 두 번째 방법은 아래와 같습니다. SELECT SERVERPROPERTY('ProductVersion') 그러면 아래와 비슷한 결과가 나타납니다. 8.00.192 (1 row(s) affected)

DB/MS-SQL 2008.09.03
728x90