여러 사용자가 변경한 내용 조정
일부 환경에서는 동일한 개체를 여러 사용자가 동시에 변경할 수 있습니다. 예를 들어 사용자는 테이블 또는 데이터베이스 다이어그램 디자이너에서 개체의 구조를 업데이트하거나 쿼리 및 뷰 디자이너의 결과 창에서 값을 변경할 수 있습니다. 이 경우 충돌이 발생할 수 있으므로 적절한 해결책이 필요합니다.
테이블 또는 데이터베이스 다이어그램 디자이너의 충돌
예를 들어 테이블 디자이너에서 현재 사용자가 작업 중인 것과 동일한 테이블이나 관련 테이블을 다른 사용자가 삭제하거나 이름을 변경할 수 있습니다. 테이블을 저장하려고 하면 데이터베이스 변경 감지 대화 상자(데이터베이스 디자이너)가 표시되어 사용자가 테이블을 연 이후 데이터베이스가 업데이트되었음을 알려 줍니다.
또한 이 대화 상자에는 테이블을 저장하는 경우 영향을 받는 데이터베이스 개체의 목록이 표시됩니다. 이 시점에서 사용자는 다음 작업 중 하나를 수행할 수 있습니다.
예를 선택하여 테이블을 저장하고 데이터베이스를 목록의 모든 변경 내용으로 업데이트합니다.
이 작업은 같은 데이터베이스 개체를 공유하는 테이블에 영향을 줄 수 있습니다. 예를 들어, titleauthors 테이블의 au_id 열을 편집하는 동안 다른 사용자가 au_id 열에서 titleauthors 테이블과 연결된 authors 테이블에 대한 작업을 진행하는 경우 테이블을 저장하면 다른 사용자의 테이블에 영향을 줍니다. 마찬가지로 다른 사용자가 sales 테이블의 qty 열에 CHECK 제약 조건을 정의할 수 있으며 이 경우 qty 열을 삭제하고 sales 테이블을 저장하면 다른 사용자의 CHECK 제약 조건도 영향을 받습니다.
아니요를 선택하여 저장 작업을 취소합니다.
그러면 테이블을 저장하지 않고 닫을 수 있습니다. 테이블을 다시 열면 데이터베이스의 최신 데이터가 적용됩니다.
텍스트 파일 저장을 선택하여 변경 내용 목록을 저장합니다.
데이터베이스 변경 감지 대화 상자에 나타나는 데이터베이스 변경 내용 목록을 텍스트 파일에 저장하여 다른 사용자의 변경 원인을 조사할 수 있습니다. 예를 들어, 사용자가 삭제하려고 표시한 테이블을 다른 사용자가 편집한 경우 데이터베이스를 업데이트하기 전에 테이블을 삭제해야할지 여부를 조사할 수 있습니다.
쿼리 및 뷰 디자이너의 충돌
쿼리를 실행하거나 뷰의 결과를 반환하면 결과 창에 데이터가 나타납니다. 여러 사용자가 동일한 데이터 집합에 대해 동시에 작업을 수행하는 경우 충돌이 발생할 수 있습니다.
예를 들어, 현재 사용자와 동료 사용자가 각각 titleauthors 테이블의 모든 데이터를 표시하도록 쿼리를 실행하는 경우를 생각해 볼 수 있습니다. 반환된 첫 번째 레코드의 첫 번째 이름을 동료 사용자가 Barb에서 Barbara로 변경한 경우, 이 시점에서 데이터베이스의 해당 필드에는 Barbara가 표시되지만 현재 사용자의 결과 집합에는 여전히 Barb가 표시됩니다. 뒤늦게 현재 사용자가 Barbara를 입력하고 행 바깥쪽을 클릭하면 충돌 문제를 어떻게 해결할지 묻는 메시지가 나타납니다.
예를 클릭하여 변경 내용으로 데이터베이스를 업데이트합니다.
이 옵션을 선택하면 다른 사용자가 변경한 내용이 무시됩니다.
아니요를 클릭하여 데이터베이스와 일치하도록 현재 사용자의 결과 집합을 업데이트합니다.
이 옵션을 선택하면 현재 사용자의 변경 내용이 무시되고 다른 사용자가 변경한 내용이 적용됩니다.
취소를 클릭하여 충돌을 해결하지 않은 상태로 계속 편집합니다.
이 경우 변경 내용을 데이터베이스에 커밋할 수 없습니다.
참고 항목
작업
참조
데이터베이스 변경 감지 대화 상자(데이터베이스 디자이너)