Windows 2000 및 Windows XP 기반 클라이언트에서 Office Access 및 Jet 데이터베이스 엔진 네트워크 성능을 최적화하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 889588 - 이 문서가 적용되는 제품 보기.
중요 이 문서에서는 레지스트리 수정 방법을 설명합니다. 레지스트리를 수정하기 전에 해당 레지스트리를 백업하고 문제 발생 시 이를 복원하는 방법을 이해해야 합니다. 레지스트리 백업, 복원 및 편집 방법은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986 Microsoft Windows 레지스트리 설명
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft Windows 2000 또는 Microsoft Windows XP 기반 컴퓨터에서 Microsoft Office Access와 같은 Microsoft Jet 데이터베이스 엔진 기반 프로그램을 실행하면 프로그램이 예상보다 느리게 실행되고 응답 능력이 떨어집니다. 이 문서에는 Windows 2000 및 Windows XP 기반 컴퓨터에서 네트워크 성능을 최적화하는 방법에 대한 정보가 나와 있습니다. 네트워크 성능을 최적화하면 Office Access 및 Jet 데이터베이스 엔진 기반 프로그램의 응답 능력을 향상시킬 수 있습니다.

소개

Microsoft Windows NT 4.0 기반 운영 체제에서 Windows 2000 기반 운영 체제나 Windows XP Professional 기반 운영 체제로 업그레이드하면 Office Access 또는 Jet 데이터베이스 엔진 기반 응용 프로그램의 성능이 저하될 수 있습니다. 예를 들어, 다음과 같은 현상이 나타날 수 있습니다.
  • .mdb 파일을 여는 데 예상보다 오래 걸립니다.
  • 액세스 쿼리를 실행하는 데 예상보다 오래 걸립니다.
  • Access에서 연결된 테이블을 기초로 하는 폼을 여는 데 예상보다 오래 걸립니다.
  • 삽입 등의 Access 작업이 예상보다 오래 걸립니다.
  • 네트워크 리소스에 액세스하는 프로세스가 예상보다 오래 걸립니다.

추가 정보

Access 및 Jet 데이터베이스 엔진 기반 프로그램의 네트워크 성능은 다음과 같은 기준에 따라 달라집니다.
  • Access 백 엔드 데이터베이스를 저장하는 파일 서버의 파일 시스템 설정
  • 클라이언트의 캐싱 및 최적화 방법
  • Access 또는 Jet 데이터베이스 엔진 기반 프로그램 루틴 및 메서드

파일 서버 최적화

아래에는 Access 또는 Jet 데이터베이스 엔진 기반 데이터베이스를 저장하는 파일 서버의 성능을 최적화하는 방법이 설명되어 있습니다.

8.3 파일 이름 규칙 사용

데이터베이스 파일 이름이 8자를 초과하거나 데이터베이스가 이름이 8자를 초과하는 폴더에 있을 경우 Access에서는 각 추가 쿼리에서 네트워크를 통해 GetShortPathNameW 함수를 호출합니다.

이러한 동작은 파일 이름 및 폴더 이름이 8.3 파일 이름 규칙에서 지정하는 제한을 초과하는 경우에 발생합니다. 파일 및 폴더 이름이 길면 쿼리를 완료하는 데 필요한 시간이 늘어날 수 있습니다. 데이터베이스 파일의 이름이나 데이터베이스가 있는 폴더의 이름이 8자를 초과할 경우 파일 이름이나 폴더 이름을 변경하십시오. 파일 및 폴더 이름이 8자 이하여야 하며 파일 확장명도 3자 이하여야 합니다. 다음은 8.3 규칙을 만족하는 짧은 파일 이름과 폴더 이름이 포함된 데이터베이스 경로의 예제입니다.
\Folder_1\Folder_2\AccessDb.mdb
다음은 긴 파일 이름과 폴더 이름을 사용하는 데이터베이스 경로의 예제입니다.
\FolderForFirstDatabase\FolderForSecondDatabase\ThisIsA_BigDatabase.mdb
Windows의 긴 파일 이름에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
226403 파일을 복사하면 짧은(8.3) 파일 이름이 바뀔 수 있다
또는 분할 데이터베이스를 사용하는 경우 프런트 엔드 데이터베이스 링크의 파일 이름과 폴더 이름을 8.3 규칙을 만족하는 이름으로 대체합니다. 예를 들어, 다음과 같은 긴 파일 이름과 폴더 이름 데이터베이스 경로가 있다고 가정합니다.
\FolderForFirstDatabase\FolderForSecondDatabase\ThisIsA_BigDatabase.mdb
프런트 엔드 데이터베이스의 링크 이름을 다음과 같이 짧은 파일 이름과 폴더 이름으로 바꿀 수 있습니다.
\Folder~1\Folder~2\Thisis~1.mdb
아래의 예제는 짧은 파일 이름 규칙을 사용하여 경로가 긴 데이터베이스에 연결하는 방법을 보여 줍니다.
Function mcrLink()

    DoCmd.TransferDatabase acLink, "Microsoft Access", "\\ServerName\sharename\Folder~1\Folder~2\Thisis~1.mdb", acTable, "tblName1", "tblName1", False

End Function
프런트 엔드 데이터베이스 링크의 파일 이름과 폴더 이름을 8.3 규칙으로 대체하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
891176 Windows NT 4.0에서 Windows 2000 또는 Windows XP로 업그레이드하면 Access 기반 또는 Jet 데이터베이스 기반 프로그램의 성능이 느려진다
Microsoft는 모든 보증(상품, 특정 목적에 대한 적합성 및 비침해에 대한 묵시적인 보증을 포함하며 이에 제한되지 않음)을 배제하며 예를 보여주기 위한 목적으로만 이 프로그래밍 예제를 제공합니다. 본 문서의 내용은 프로시저를 작성하고 디버깅하는 데 사용되는 도구 및 여기서 설명하는 프로그래밍 언어에 익숙한 사용자를 대상으로 합니다. Microsoft 지원 엔지니어는 사용자에게 도움이 되도록 특정 프로시저에 대한 기능을 설명할 수 있지만 사용자의 특정 요구 사항에 맞도록 예제를 수정하여 추가 기능을 제공하거나 프로시저를 구성하지는 않습니다.

공유 위반 알림 지연 해제

공유 위반 알림 지연을 해제하면 파일 서버 성능을 향상시킬 수 있습니다. 이렇게 하려면 Access 또는 Jet 데이터베이스 엔진 기반 프로그램 데이터베이스를 저장하는 파일 서버에서 다음과 같이 하십시오.

경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이 문제를 해결하려면 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 문제에 대해 해결을 보증하지 않습니다. 레지스트리의 수정에 따른 모든 책임은 사용자에게 있습니다.
  1. 시작, 실행을 차례로 누르고 regedit를 입력한 다음 확인을 누릅니다.
  2. 다음 레지스트리 하위 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Parameters를 마우스 오른쪽 단추로 누르고 새로 만들기를 가리키고 DWORD 값을 누르고 SharingViolationDelay를 입력한 다음 Enter 키를 누릅니다.

    참고 SharingViolationDelay 하위 키 항목을 만들면 0x0이라는 기본값이 할당됩니다. 이 값이 필요한 값입니다.

    SharingViolationDelay 하위 키 항목이 이미 존재하면 SharingViolationDelay 항목을 마우스 오른쪽 단추로 누르고 수정을 누른 다음 0을 입력하고 확인을 누릅니다.
  4. Parameters를 마우스 오른쪽 단추로 누르고 새로 만들기를 가리키고 DWORD 값을 누르고 SharingViolationRetries를 입력한 다음 Enter 키를 누릅니다.

    참고 SharingViolationRetries 하위 키 항목을 만들면 0x0이라는 기본값이 할당됩니다. 이 값이 필요한 값입니다.

    SharingViolationRetries 하위 키 항목이 이미 존재하면 SharingViolationRetries 항목을 마우스 오른쪽 단추로 누르고 수정을 누른 다음 0을 입력하고 확인을 누릅니다.
  5. 레지스트리 편집기를 종료합니다.
공유 위반 알림 지연에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
150384 공유 파일이 다른 컴퓨터에서 열려 있으면 공유 파일 액세스가 지연된다

NTFS 파일 시스템 볼륨으로 백 엔드 데이터베이스 파일 이동

Access 또는 Jet 데이터베이스 엔진 기반 프로그램 데이터베이스가 FAT(파일 할당 테이블) 기반 볼륨에 있을 경우 백 엔드 데이터베이스 파일을 NTFS 볼륨으로 옮기면 성능이 향상될 수 있습니다. NTFS에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
100108 FAT, HPFS 및 NTFS 파일 시스템의 개요
Access 또는 Jet 데이터베이스 엔진 데이터베이스 파일을 이동하는 방법에 대한 자세한 내용은 Access 도움말에서 “Access 파일 복사/이동”을 검색하십시오.

짧은 파일 이름 자동 생성 해제

NTFS 파일 시스템에서 짧은 파일 이름 자동 생성을 해제하십시오. 이렇게 하려면 Access 또는 Jet 데이터베이스 엔진 기반 프로그램 데이터베이스를 저장하는 파일 서버에서 다음과 같이 하십시오. 경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이 문제를 해결하려면 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 문제에 대해 해결을 보증하지 않습니다. 레지스트리의 수정에 따른 모든 책임은 사용자에게 있습니다.
  1. 시작, 실행을 차례로 누르고 regedit를 입력한 다음 확인을 누릅니다.
  2. 다음 레지스트리 하위 키를 찾습니다.
    HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Control\FileSystem
  3. NtfsDisable8dot3NameCreation을 마우스 오른쪽 단추로 누르고 수정을 누른 다음 1을 입력하고 확인을 누릅니다.
  4. 레지스트리 편집기를 끝낸 다음 컴퓨터를 다시 시작합니다.
참고 이렇게 변경해도 짧은 이름 형식을 사용하는 파일을 32비트 프로그램에서 계속 사용할 수 있습니다. 그러나 이렇게 변경한 후 만들어진 긴 이름의 파일은 16비트 프로그램에서 사용할 수 없습니다.

NTFS의 짧은 파일 이름 자동 생성에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
121007 NTFS 파티션에서 8.3 이름 만들기를 사용하지 않게 하는 방법
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
210638 짧은 파일 이름 자동 생성을 해제하는 방법
Access 또는 Jet 데이터베이스 엔진 데이터베이스 파일이 Windows Server 2003 파일 서버에 있을 경우에는 파일 시스템 별칭 지정을 해제합니다. 별칭 지정은 Windows Server 2003에 포함되어 있는 기능으로 이를 통해 복수의 긴 파일 이름이나 짧은 파일 이름이 동일한 파일을 참조할 수 있습니다. 파일 시스템 별칭을 해제하면 Windows Server 2003 기반 컴퓨터에서 사용할 수 있는 서버 서비스 캐싱을 늘려 성능을 향상시킬 수 있습니다.

중요 Windows Server 2003 기반 컴퓨터에서 탑재나 재분석 지점과 같은 파일 시스템 별칭 지정을 사용하는 경우에는 이 절차를 수행하지 않는 것이 좋습니다.

파일 서버 별칭 지정을 해제하려면 Access 또는 Jet 데이터베이스 엔진 데이터베이스를 저장하는 Windows Server 2003 파일 서버에서 다음과 같이 하십시오.

경고 레지스트리 편집기나 다른 방법을 사용하여 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 이 문제를 해결하려면 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 문제에 대해 해결을 보증하지 않습니다. 레지스트리의 수정에 따른 모든 책임은 사용자에게 있습니다.
  1. 시작, 실행을 차례로 누르고 regedit를 입력한 다음 확인을 누릅니다.
  2. 다음 레지스트리 하위 키를 찾습니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  3. Parameters를 마우스 오른쪽 단추로 누르고 새로 만들기를 가리킨 다음 DWORD 값을 누르고 NoAliasingOnFileSystem을 입력한 후 Enter 키를 누릅니다.
  4. NoAliasingOnFileSystem을 마우스 오른쪽 단추로 누르고 수정을 누른 다음 1을 입력하고 확인을 누릅니다.
  5. 레지스트리 편집기를 끝낸 다음 컴퓨터를 다시 시작합니다.

클라이언트 최적화

아래에는 Access 또는 Jet 데이터베이스 엔진 기반 데이터베이스에 액세스하는 클라이언트에서 성능을 최적화하는 방법이 설명되어 있습니다.

고급 파일 이름 캐싱 설정

기본적으로 Windows 2000 및 Windows XP 기반 운영 체제에서는 8.3 규칙을 준수하는 짧은 파일 이름과 폴더 이름만 캐시합니다. Windows 2000 또는 Windows XP 기반 컴퓨터에서 고급 캐싱을 설정하면 긴 파일 이름과 폴더 이름도 캐시할 수 있습니다. 이렇게 하면 네트워크를 통해 파일에 액세스할 때 성능이 향상될 수 있습니다.

Windows XP 서비스 팩 1 이전 버전에서 고급 캐싱을 설정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
834350 이전 버전의 Windows에서보다 Windows XP에서 네트워크 리소스에 액세스하는 속도가 느리다
Windows 2000에서 고급 캐싱을 설정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
843418 Windows 2000에서 네트워크 리소스에 액세스하거나 Microsoft Access를 사용할 때 성능이 저하될 수 있다
참고 Windows XP 서비스 팩 2와 Windows Server 2003에는 이러한 고급 캐싱이 이미 포함되어 있습니다. 그러나 성능을 최적화하기 위해서는 다음 레지스트리 하위 키의 InfoCacheLevel 레지스트리 항목을 16진수 값 0x10으로 설정해야 합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxSmb\Parameters

Windows XP 기반 컴퓨터에서 추가 쿼리 최적화

Windows XP 기반 컴퓨터에서는 추가 트랜잭션이 발생할 때마다 캐시를 플러시하고 파일 서버에 전체 데이터베이스를 씁니다. Windows XP 기반 컴퓨터에서 핫픽스를 적용하고 Windows 레지스트리 항목 DisableFlushOnCleanup을 변경하여 추가 쿼리를 최적화할 수 있습니다. Windows XP 기반 컴퓨터에서 추가 쿼리를 최적화하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
825433 Windows XP 기반 클라이언트에서 공유 파일 기반 데이터베이스에 데이터를 추가할 경우 성능이 저하된다

Access 또는 Jet 데이터베이스 엔진 기반 데이터베이스 루틴 및 메서드 최적화

다음 작업을 수행하면 Access 또는 Jet 데이터베이스 엔진 기반 프로그램에서 사용하는 루틴과 메서드의 성능이 향상될 수 있습니다.
  • 분할 데이터베이스 구성을 사용합니다. 분할 데이터베이스 구성은 프런트 엔드/백 엔드 데이터베이스 구성이라고도 합니다. 분할 데이터베이스를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    162522 Access 응용 프로그램을 분할 데이터베이스 응용 프로그램으로 재배포할 때의 문제
  • 해당 Windows 운영 체제에 사용할 수 있는 최신 서비스 팩을 클라이언트 컴퓨터와 파일 서버 컴퓨터에 설치합니다.
  • Jet 4.0 서비스 팩 8 이상 버전을 클라이언트 컴퓨터에 설치합니다. Jet 데이터베이스 엔진용 최신 서비스 팩을 구하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    239114 Microsoft Jet 4.0 데이터베이스 엔진용 최신 서비스 팩을 구하는 방법
  • 백 엔드 데이터베이스 파일에 대해 열린 연결을 유지하도록 모든 데이터베이스 프런트 엔드 컴퓨터를 구성합니다. 이렇게 하려면 백 엔드 데이터베이스 파일에 텍스트 필드와 레코드를 하나씩 포함하고 있는 테이블을 만듭니다. 예를 들어, 다음과 같은 구성으로 테이블을 만듭니다.
    테이블 이름: tblConnect
    필드 이름: Field1
    데이터 형식: 텍스트
    첫 레코드: “Connection”

    이 테이블을 프런트 엔드 데이터베이스에 연결하고 이 테이블을 기초로 하는 폼을 만듭니다. 시작 루틴이 포함된 숨겨진 폼을 사용하여 데이터베이스를 엽니다. 아래의 예에 나와 있는 것처럼 시작 루틴을 매크로나 시작 폼에 넣을 수 있습니다.
    DoCmd.OpenForm " tblConnect",acNormal ,,,,acHidden
    또는 이 테이블을 기초로 하는 레코드 집합을 열어도 됩니다. 레코드 집합 변수는 모듈의 전역 선언 구역에서 선언해야 합니다. 또한 프런트 엔드 데이터베이스를 종료할 때는 레코드 집합 변수를 닫아야 합니다.
  • 여러 명의 사용자가 데이터 입력을 위해 데이터베이스에 연결할 경우에는 테이블 대신 폼을 사용합니다.

데이터베이스 성능을 최적화하는 유용한 방법

다음을 수행하면 Access 또는 Jet 데이터베이스 엔진 기반 프로그램 성능을 최적화하는 데 도움이 됩니다.
  • 루프처럼 리소스를 많이 사용하는 작업이 포함된 Access 모듈에서 데이터베이스 프로그램 코드를 최적화합니다. 이렇게 하려면 아래의 예에 나와 있는 것처럼 BeginTrans 문과 CommitTrans 문 사이에 루프 코드를 넣습니다.
    BeginTrans Loop code CommitTrans
    이렇게 하면 Jet 데이터베이스 엔진이 여러 업데이트를 누적해 놓았다가 한 번에 일괄 기록할 수 있습니다. Access 모듈에서 코드를 최적화하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    208858 ACC2000: ACC2000: 클라이언트/서버 성능 최적화
  • 기본적으로 Windows 클라이언트에서는 oplocks(Opportunistic Locking)가 설정되어 있습니다. 클라이언트 컴퓨터에서 oplocks가 해제되지 않았는지 확인합니다. Windows에서 oplocks를 구성하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    296264 Windows에서 oplocks(Opportunistic Locking) 구성
    oplocks와 성능에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
    303528 HOWTO: Jet 4.0 데이터베이스를 최상의 작업 상태로 유지
  • Access 또는 Jet 데이터베이스 엔진 기반 데이터베이스를 저장하는 파일 서버에 연결할 때는 UNC 경로 대신 매핑된 드라이브를 사용합니다.
데이터베이스 성능을 최적화하려면 Access 또는 Jet 데이터베이스 엔진 기반 프로그램을 Microsoft SQL Server로 마이그레이션할 수도 있습니다. 많은 연결을 서비스하는 활성 데이터베이스의 경우 파일 서버 모델보다 클라이언트/서버 모델이 더 적합합니다. SQL Server를 사용하면 성능과 크게 개선되고 견고성이 향상될 수 있습니다.

참조

Access, Jet 데이터베이스 엔진 및 네트워크 성능에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
275085 BUG: Access 2002 및 Office Access 2003에서 연결 테이블의 성능이 느려진다
261000 BUG: Access 2000에서 연결 테이블의 성능이 느려진다
209126 ACC2000: Microsoft Access 2000에서 쿼리를 최적화하는 방법
288631 성능 개선을 위해 데이터베이스 조각 모음 및 압축
209126 ACC2000: Microsoft Access 2000에서 쿼리를 최적화하는 방법
290181 Microsoft Access에서 이름 자동 고침이 설정된 개체를 열면 작업 수행 속도가 느려진다
240434 Jet 4.0을 사용하는 응용 프로그램의 성능을 향상시키는 방법
289533 Access에서 데이터베이스를 디자인하는 방법을 찾는 위치
870753 2004년 7월 21일자 Jet 4.0 데이터베이스 엔진 837001 이후 핫픽스 패키지에 대한 설명
303528 HOWTO: Jet 4.0 데이터베이스를 최상의 작업 상태로 유지
208858 ACC2000: 클라이언트/서버 성능 최적화
239114 Microsoft Jet 4.0 데이터베이스 엔진용 최신 서비스 팩을 구하는 방법
891176 Windows NT 4.0에서 Windows 2000 또는 Windows XP로 업그레이드하면 Access 기반 또는 Jet 데이터베이스 기반 프로그램의 성능이 느려진다




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 889588 - 마지막 검토: 2007년 12월 1일 토요일 - 수정: 5.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Windows XP Professional 64-Bit Edition (Itanium)
키워드:?
kbnetwork kbdatabase kbperformance kbopenfile kbhowto KB889588

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com