Access의 잠금 파일(laccdb 및 ldb) 소개

소개

".laccdb" 또는 ".ldb" 파일은 Microsoft Access 데이터베이스 엔진의 다중 사용자 체계에서 중요한 역할을 합니다. ".laccdb" 또는 ".ldb" 파일은 공유 데이터베이스에서 어떤 레코드가 잠겨 있고 누구에 의해 잠겨 있는지 확인하는 데 사용됩니다. ".laccdb" 파일은 .accdb 데이터베이스와 함께 사용되며 ".ldb" 파일은 ".mdb" 데이터베이스와 함께 사용됩니다. ".laccdb" 및 ".ldb" 파일은 일반적으로 잠금 파일이라고 합니다.

자동 잠금 파일 생성 및 삭제

공유 사용을 위해 열리는 모든 데이터베이스에 대해 컴퓨터 및 보안 이름을 저장하고 확장된 바이트 범위 잠금을 설정하기 위해 ".laccdb" 또는 ".ldb" 파일이 생성됩니다. 잠금 파일은 항상 열려 있는 데이터베이스와 동일한 이름을 가지며 열려 있는 데이터베이스와 동일한 폴더에 있습니다. 예를 들어, C:\users\<username>\documents\에서 Northwind.accdb 샘플 데이터베이스를 (공유용으로) 열면 Northwind.laccdb라는 파일이 동일한 문서 폴더에 자동으로 생성됩니다.

마지막 사용자가 공유 데이터베이스를 닫을 때마다 잠금 파일이 삭제됩니다. 단, 사용자에게 삭제 권한이 없거나 데이터베이스가 손상된 것으로 표시된 경우는 예외입니다. 그러면 데이터베이스가 손상된 것으로 표시될 때 데이터베이스를 사용하고 있던 사람에 대한 정보가 포함되어 있기 때문에 잠금 파일이 삭제되지 않습니다.

필수 폴더 권한

데이터베이스를 공유하려는 경우 데이터베이스 파일은 사용자에게 읽기, 쓰기, 생성 및 삭제 권한이 있는 폴더에 있어야 합니다. 사용자가 다른 파일 권한(예: 일부 읽기 전용 및 일부 읽기-쓰기)을 갖도록 하려는 경우에도 데이터베이스를 공유하는 모든 사용자는 폴더에 대한 읽기, 쓰기 및 생성 권한이 있어야 합니다. 그러나 폴더에 대한 전체 권한을 계속 허용하면서 개별 사용자에게 .accdb 또는 .mdb 파일의 읽기 전용 권한을 할당할 수 있습니다.

참고

사용자가 단독 액세스 권한으로 데이터베이스를 열면(열기 단추 오른쪽에 있는 화살표를 클릭한 다음 단독으로 열기 클릭) 레코드 잠금이 사용되지 않습니다. 따라서, Microsoft Access에서는 잠금 파일을 열거나 만들지 않습니다. 데이터베이스가 항상 단독 사용으로 열려 있는 경우 사용자는 폴더에 대한 읽기 및 쓰기 권한만 있으면 됩니다.

잠금 파일 내용

공유 데이터베이스를 여는 각 사용자에 대해 Access 데이터베이스 엔진은 데이터베이스의 ".laccdb" 또는 ".ldb" 파일에 항목을 씁니다. 각 항목의 크기는 64비트입니다. 처음 32바이트에는 컴퓨터 이름(예: JohnDoe)이 포함됩니다. 두 번째 32바이트에는 보안 이름(예: Admin)이 포함됩니다. Access 데이터베이스 엔진이 지원하는 최대 동시 사용자 수는 255명입니다. 따라서, 잠금 파일 크기는 16KB보다 크지 않습니다.

참고

파일 서버 솔루션은 최대 255명의 동시 사용자를 지원할 수 있지만 솔루션 사용자가 자주 데이터를 추가하고 데이터를 업데이트하는 경우 Access 파일 서버 솔루션은 25~50명 이하의 사용자를 지원하는 것이 좋습니다.. 자세한 내용은 1장: Microsoft Access 2000 클라이언트/서버 개발 이해를 참조하세요.

사용자가 공유 데이터베이스를 닫을 때 사용자의 항목은 잠금 파일에서 제거되지 않습니다. 그러나, 다른 사용자가 데이터베이스를 열 때 사용자의 항목을 덮어쓸 수 있습니다. 즉, 현재 데이터베이스를 사용 중인 사용자를 확인하기 위해 잠금 파일만 사용할 수 없습니다.

잠금 파일 사용

Access 데이터베이스 엔진은 잠금 파일 정보를 사용하여 사용자가 다른 사용자가 잠근 페이지나 레코드에 데이터를 쓰지 못하도록 하고 다른 페이지나 레코드를 잠근 사람을 확인합니다. Access 데이터베이스 엔진이 다른 사용자와의 잠금 충돌을 감지하면 잠금 파일을 읽어 파일이나 레코드가 잠긴 사용자의 컴퓨터와 보안 이름을 가져옵니다.

대부분의 잠금 충돌 상황에서 레코드를 저장하거나 클립보드에 복사하거나 변경 내용을 삭제할 수 있는 일반적인 "쓰기 충돌" 메시지가 표시됩니다. 그러나 경우에 따라 다음과 같은 오류 메시지가 나타납니다.

테이블 <이름을 잠글 수 없습니다. 현재 컴퓨터>< 이름>에서 사용자 <보안 이름으로> 사용 중입니다.

참고

잠금 파일의 정보 상태는 데이터베이스 상태와 관련이 없습니다. 잠금 파일이 손상되면 데이터베이스의 모든 것이 여전히 정상적으로 작동해야 합니다. 그러나, 잠금 충돌 메시지에서 사용자 이름 대신 스크램블된 텍스트를 볼 수 있습니다.

Microsoft Visual Basic for Applications를 사용하면 특정 데이터베이스에 로그인한 사용자 목록을 출력할 수 있습니다. 이 작업을 수행하는 방법과 샘플 코드에 대한 자세한 내용은 Access에서 Microsoft Jet UserRoster를 사용하여 누가 데이터베이스에 로그온했는지 확인하는 방법을 참조하세요.