SQL Server 데이터 가져오기 또는 Access 데이터에 연결

부서 또는 작업 그룹에서 Microsoft SQL Server를 사용하여 데이터를 저장하는 경우 Access에서 SQL Server 데이터 중 일부를 사용하여 작업해야 할 수 있습니다.

SQL Server 개체(테이블 또는 뷰)의 데이터를 Access로 옮기려면 가져오기 또는 연결이라는 두 가지 방법 중 하나를 사용합니다. 이 두 프로세스 간의 차이는 다음과 같습니다.

  • SQL Server 데이터를 가져오는 경우에는 해당 데이터가 복사되며 Access 데이터베이스에서 이후에 데이터를 변경해도 SQL Server 데이터베이스에는 변경 내용이 반영되지 않습니다. 마찬가지로 SQL Server 테이블 또는 뷰에서 이후에 변경하는 내용도 Access 테이블에 반영되지 않습니다.
  • SQL Server 데이터에 연결하는 경우에는 원본 데이터에 직접 연결하게 되므로 나중에 Access에서 데이터를 변경하면 SQL Server에도 변경 내용이 반영되고 SQL Server에서 데이터를 변경해도 Access에 변경 내용이 반영됩니다.

이 문서에서는 SQL Server 데이터를 가져오거나 SQL Server 데이터에 연결하는 방법에 대해 설명합니다.

실행할 작업


연결 또는 가져오기 중 수행할 작업 결정

가져오기가 적절한 경우

일반적으로 SQL Server 데이터를 Access 데이터베이스로 가져오는 이유는 다음과 같습니다.

  • SQL Server 데이터베이스에 더 이상 데이터가 필요하지 않아 SQL Server 데이터를 Access 데이터베이스로 영구적으로 이동하려는 경우. Access로 데이터를 가져온 다음 SQL Server 데이터베이스에서 해당 데이터를 삭제할 수 있습니다.
  • 부서 또는 작업 그룹에서 Access를 사용하지만 간혹 Access 데이터베이스 중 하나로 병합해야 하는 추가 데이터에 SQL Server 데이터베이스를 사용하는 경우가 있습니다.

SQL Server 데이터를 가져오면 Access 데이터베이스에 데이터가 복사되므로 가져오기 프로세스를 수행하는 동안 복사할 테이블 또는 뷰를 지정합니다.

연결이 적절한 경우

일반적으로 SQL Server 데이터에 연결하는 이유는 다음과 같습니다.

  • SQL Server 데이터베이스와 Access 데이터베이스에서 모두 최신 데이터를 보고 편집할 수 있도록 원본 데이터에 직접 연결하려는 경우
  • SQL Server 데이터베이스에는 큰 테이블이 여러 개 포함되어 있으며 모든 테이블을 하나의 .accdb 파일로 가져올 수는 없습니다. Access 데이터베이스의 최대 크기는 2GB에서 시스템 개체에 필요한 공간을 뺀 크기입니다.
  • 데이터를 복사하지 않고 SQL Server의 데이터를 기반으로 쿼리를 실행하고 보고서를 생성하려는 경우에는 SQL Server에 연결하는 것이 좋습니다.
  • 부서 또는 데이터 그룹에서 보고 및 쿼리용으로 Access를 사용하고 데이터 저장소용으로 SQL Server를 사용하고 있습니다. 개별 팀에서는 중앙 저장소용으로 SQL Server 테이블 및 뷰를 만들 수 있지만, 집계 및 보고를 위해 이 데이터를 데스크톱 프로그램으로 가져와야 하는 경우가 많습니다. 연결을 사용하면 SQL Server 데이터베이스 사용자와 Access 데이터베이스 사용자가 모두 데이터를 추가하고 업데이트할 수 있으며 항상 최신 데이터를 보면서 작업할 수 있으므로 연결을 사용하는 것이 좋습니다.
  • 최근에 SQL Server를 사용하기 시작한 Access 사용자입니다. SQL Server에 여러 데이터베이스를 마이그레이션했으며 이러한 데이터베이스에 있는 대부분의 테이블은 연결 테이블입니다. 이후에는 Access 테이블을 만드는 대신 SQL Server에서 테이블 및 뷰를 만든 다음 Access 데이터베이스에서 해당 테이블 및 뷰에 연결합니다.
  • 데이터를 계속 SQL Server에 저장해야 하지만, Access에서 디자인한 쿼리를 실행하고 보고서를 인쇄하기 위해 Access 내에서 최신 데이터로 작업하고자 합니다.

맨 위로 이동 맨 위로 이동

SQL Server에서 데이터 가져오기

가져오기 준비

가져오기 작업 중에는 테이블이 만들어지고 SQL Server 데이터베이스의 데이터가 해당 테이블에 복사됩니다. 가져오기 작업 완료 시 설정에 따라 가져오기 작업의 세부 정보를 저장할 것인지 선택합니다.

 참고   가져오기 설정을 사용하면 나중에 작업을 수행할 때마다 가져오기 마법사를 사용하지 않고도 가져오기 작업을 반복할 수 있습니다.

  1. 가져올 데이터가 들어 있는 SQL Server 데이터베이스를 찾습니다. 연결 정보는 데이터베이스 관리자에게 문의하십시오.
  2. 가져올 테이블 또는 뷰를 식별합니다. 가져오기 작업 하나에 여러 개체를 가져올 수 있습니다.
  3. 원본 데이터를 검토하고 계속해서 다음 사항을 고려합니다.
    • Access에서 테이블에 필드를 255개 이상 지원하지 않기 때문에 처음 255개의 열만 가져옵니다.
    • Access 데이터베이스의 최대 크기는 2GB에서 시스템 개체에 필요한 공간을 뺀 크기입니다. SQL Server 데이터베이스에 대규모 테이블이 여러 개 포함되어 있는 경우 모든 테이블을 하나의 .accdb 파일로 가져올 수 없습니다. 이러한 경우에는 Access 데이터베이스에 데이터를 연결하는 것이 좋습니다.
    • 가져오기 작업을 완료해도 Access에서 관련 테이블 간에 관계가 자동으로 만들어지지 않습니다. 관계 창의 옵션을 사용하여 새로운 테이블과 기존 테이블 간의 관계를 수동으로 만들어야 합니다. 관계 창을 표시하려면 다음을 실행합니다.
      • 파일 탭을 클릭한 다음 정보 탭에서 관계를 클릭합니다.
  4. SQL Server 데이터를 가져다 놓을 Access 데이터베이스를 식별합니다.

Access 데이터베이스에 데이터를 추가하는 데 필요한 권한이 있어야 합니다. 데이터를 기존 데이터베이스에 저장하지 않으려면 파일 탭을 클릭한 다음 새로 만들기 탭에서 새 데이터베이스를 클릭하여 새 데이터베이스를 만듭니다.

  1. Access 데이터베이스에 데이터가 있는지 테이블을 확인합니다.

가져오기 작업에서 SQL Server 개체와 동일한 이름을 사용하는 테이블이 만들어집니다. 해당 이름이 이미 사용 중인 경우 Contacts1과 같이 새 테이블 이름에 "1"이 추가됩니다. Contacts1도 이미 사용 중이면 Contacts2 등이 만들어집니다.

 참고   Access에서는 데이터베이스에 있는 데이터를 가져오기 작업의 일부로 덮어쓰지 않으며 기존 테이블에 SQL Server 데이터를 추가할 수 없습니다.

데이터 가져오기

  1. 대상 데이터베이스를 엽니다.

외부 데이터 탭의 가져오기 및 연결 그룹에서 ODBC 데이터베이스를 클릭합니다.

  1. 현재 데이터베이스의 새 테이블로 원본 데이터 가져오기를 클릭한 다음 확인을 클릭합니다.
  2. 사용하려는 .dsn 파일이 이미 있으면 데이터 원본 선택 대화 상자의 목록에서 파일을 클릭합니다.

표시새 .dsn 파일을 만들어야 하는 경우

 참고   컴퓨터에 설치된 소프트웨어에 따라 이 절차의 단계가 조금씩 다를 수 있습니다.

  1. 새로 만들기를 클릭하여 새 DSN(데이터 원본 이름)을 만듭니다.

새 데이터 원본 만들기 마법사를 시작합니다.

  1. 마법사의 드라이버 목록에서 SQL Server를 선택하고 다음을 클릭합니다.
  2. .dsn 파일 이름을 입력하거나 찾아보기를 클릭하여 파일을 다른 위치에 저장합니다.

 참고   .dsn 파일을 저장할 폴더에 대한 쓰기 권한이 있어야 합니다.

  1. 다음을 클릭하여 요약 정보를 검토한 다음 마침을 클릭하여 마법사를 완료합니다.

SQL Server에 새로운 데이터 원본 만들기 대화 상자가 나타납니다.

  1. 설명 상자에 데이터 원본에 대한 설명을 입력합니다. 이 단계는 선택 사항입니다.
  2. 연결할 SQL Server를 지정하십시오.서버 상자에 연결할 SQL Server 이름을 입력하거나 선택하고 다음을 클릭하여 마법사를 진행합니다.
  3. Microsoft Windows NT 인증 또는 SQL Server 인증 사용 여부와 같은 정보에 대해 SQL Server 데이터베이스 관리자에게 문의해야 하는 경우도 있습니다. 계속하려면 다음을 클릭합니다.
  4. 특정 데이터베이스에 연결하려면 기본 데이터베이스를 다음으로 변경 확인란이 선택되어 있는지 확인하고 작업할 데이터베이스를 선택한 후에 다음을 클릭합니다.
  5. 마침을 클릭합니다.
  6. 요약 정보를 검토한 다음 데이터 원본 테스트를 클릭합니다.
  7. 테스트 결과를 검토한 다음 확인을 클릭하여 대화 상자를 닫습니다.

테스트에 성공하면 확인을 다시 클릭하거나 취소를 클릭하고 설정을 변경합니다.


  1. 확인을 클릭하여 데이터 원본 선택 대화 상자를 닫습니다.

개체 가져오기 대화 상자가 표시됩니다.

  1. 테이블에서 가져올 각 테이블 또는 뷰를 클릭한 다음 확인을 클릭합니다.
  2. 고유 레코드 식별자 선택 대화 상자가 나타나면 Access에서 특정 개체의 각 행을 고유하게 식별하는 필드를 결정할 수 없습니다. 이러한 경우 각 행에서 고유한 필드 또는 필드 조합을 선택한 다음 확인을 클릭합니다. 선택할 필드가 확실하지 않은 경우 SQL Server 데이터베이스 관리자에게 문의하십시오.

Access에서 데이터를 가져옵니다. 나중에 가져오기 작업을 반복하려는 경우 가져오기 단계를 가져오기 설정으로 저장하여 나중에 동일한 가져오기 단계를 쉽게 다시 실행할 수 있습니다.

  1. 외부 데이터 가져오기 - ODBC 데이터베이스 대화 상자의 가져오기 단계 저장에서 닫기를 클릭합니다. Access에서 가져오기 작업이 완료되고 탐색 창에 새 테이블이 표시됩니다.

다시 사용하기 위해 가져오기를 작업으로 저장하려면 다음 섹션을 진행하십시오.

맨 위로 이동 맨 위로 이동

가져오기 설정 저장 및 사용

 참고   작업을 만들려면 Microsoft Office Outlook이 설치되어 있어야 합니다.

  1. 외부 데이터 가져오기 - ODBC 데이터베이스 대화 상자의 가져오기 단계 저장에서 가져오기 단계 저장 확인란을 선택합니다. 그러면 추가 컨트롤 집합이 나타납니다.
  2. 다른 이름으로 저장 상자에 가져오기 설정의 이름을 입력합니다.
  3. 설명 상자에 설명을 입력합니다. 이 단계는 선택 사항입니다.
  4. 매주 또는 매월과 같이 일정한 간격으로 작업을 수행하려면 Outlook 작업 만들기 확인란을 선택합니다. 그러면 설정을 실행할 수 있도록 Microsoft Outlook 2010에 작업이 만들어집니다.
  5. 가져오기 저장을 클릭합니다.

Outlook이 설치되어 있지 않을 경우 가져오기 저장을 클릭하면 오류 메시지가 나타납니다.

 참고   Outlook 2010이 제대로 구성되어 있지 않으면 Microsoft Outlook 2010 시작 마법사가 시작됩니다. 이 경우에는 마법사의 지시에 따라 Outlook을 구성하십시오.

필요한 경우에는 Outlook 작업을 만들 수 있습니다. Outlook에서 작업을 만들면 일정하거나 반복되는 간격으로 가져오기 작업을 실행하려는 경우 유용할 수 있습니다. 그러나 작업을 만들지 않아도 설정은 저장됩니다.

Outlook 작업 만들기

Outlook 작업 만들기 확인란을 선택한 경우 Access를 통해 Office Outlook 2010이 시작되고 새 작업이 표시됩니다. 다음 단계에 따라 작업을 구성합니다.

 참고   Outlook이 설치되어 있지 않은 경우 Access에 오류 메시지가 표시됩니다. Outlook이 올바르게 구성되어 있지 않으면 Outlook 구성 마법사가 시작됩니다. 이 경우에는 마법사의 지시에 따라 Outlook을 구성하십시오.

  1. 시작 날짜, 기한미리 알림과 같은 작업 설정을 검토하고 수정합니다.

가져오기 작업을 되풀이 이벤트로 만들려면 되풀이를 클릭하고 적절한 정보를 입력합니다.

  1. 저장 후 닫기를 클릭합니다.

저장된 작업 실행

  1. Outlook 탐색 창에서 작업을 클릭한 다음 실행할 작업을 두 번 클릭합니다.
  2. 작업 탭의 Microsoft Access 그룹에서 가져오기 실행을 클릭합니다.
  3. Access 창으로 전환한 다음 F5 키를 눌러 탐색 창을 새로 고칩니다.
  4. 가져온 테이블을 두 번 클릭하여 데이터시트 뷰에 해당 테이블을 엽니다.
  5. 필드와 레코드를 모두 가져왔는지 확인하고 오류가 없는지 확인합니다.
  6. 탐색 창에서 가져온 테이블을 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 디자인 보기를 클릭합니다. 필드 데이터 형식 및 기타 필드 속성을 검토합니다.

맨 위로 이동 맨 위로 이동

SQL Server 데이터에 연결

데이터는 테이블에 저장되므로 SQL Server 데이터베이스의 테이블 또는 뷰에 연결하면 Access에서 원본 개체의 구조 및 내용을 반영하는 새 테이블이 작성되며, 이러한 테이블을 연결된 테이블이라고 합니다. SQL Server 또는 Access의 데이터시트 보기나 폼 보기에서 데이터를 변경할 수 있습니다. 한 쪽에서 데이터를 변경하면 다른 쪽에도 변경 내용이 반영됩니다. 그러나 열을 제거하거나 변경하는 것과 같이 구조적으로 변경하려면 SQL Server 데이터베이스 또는 해당 데이터베이스와 연결되어 있는 Access 프로젝트에서 변경해야 합니다. Access에서 작업하는 동안에는 연결된 테이블에서 필드를 추가, 삭제 또는 변경할 수 없습니다.

연결 준비

  1. 연결할 데이터가 있는 SQL Server 데이터베이스를 찾습니다. 연결 정보는 데이터베이스 관리자에게 문의하십시오.
  2. 연결할 테이블 및 뷰를 식별합니다. 연결 작업 하나에 여러 개체를 연결할 수 있습니다.
  3. 원본 데이터를 검토하고 계속해서 다음 사항을 고려합니다.
    • Access에서 테이블에 필드를 255개 이상 지원하지 않기 때문에 연결 테이블에 연결할 개체의 필드가 처음 255개만 포함됩니다.
    • SQL Server 개체에서 읽기 전용인 열은 Access에서도 읽기 전용입니다.
    • Access의 연결 테이블에 있는 열을 추가, 삭제 또는 수정할 수 없습니다.
  4. 연결된 테이블을 만들 Access 데이터베이스를 식별합니다. 데이터베이스에 데이터를 추가하는 데 필요한 권한이 있어야 합니다. 데이터를 기존 데이터베이스에 저장하지 않으려면 파일 탭을 클릭한 다음 새로 만들기 탭에서 새 데이터베이스를 클릭하여 새 데이터베이스를 만듭니다.
  5. Access 데이터베이스에 있는 테이블을 검토합니다. SQL Server 테이블 또는 뷰에 연결하면 Access에 원본 개체와 동일한 이름을 사용하는 연결 테이블이 만들어집니다. 해당 이름이 이미 사용 중인 경우 Contacts1과 같이 새 연결 테이블 이름에 "1"이 추가됩니다. Contacts1도 이미 사용 중이면 Contacts2 등이 만들어집니다.
  6. 데이터에 연결하려면 대상 데이터베이스를 엽니다.
  7. 외부 데이터 탭의 가져오기 및 연결 그룹에서 ODBC 데이터베이스를 클릭합니다.
  8. 연결 테이블을 만들어 데이터 원본에 연결을 클릭한 다음 확인을 클릭합니다.
  9. 데이터 원본 선택 대화 상자에서 사용할 .dsn 파일을 클릭하거나 새로 만들기를 클릭하여 새 DSN(데이터 원본 이름)을 만듭니다.
  10. 사용하려는 .dsn 파일이 이미 있으면 데이터 원본 선택 대화 상자의 목록에서 파일을 클릭합니다.

표시새 .dsn 파일을 만들어야 하는 경우

 참고   컴퓨터에 설치된 소프트웨어에 따라 이 절차의 단계가 조금씩 다를 수 있습니다.

  1. 새로 만들기를 클릭하여 새 DSN(데이터 원본 이름)을 만듭니다.

새 데이터 원본 만들기 마법사를 시작합니다.

  1. 마법사의 드라이버 목록에서 SQL Server를 선택하고 다음을 클릭합니다.
  2. .dsn 파일 이름을 입력하거나 찾아보기를 클릭하여 파일을 다른 위치에 저장합니다.

 참고   .dsn 파일을 저장할 폴더에 대한 쓰기 권한이 있어야 합니다.

  1. 다음을 클릭하고 요약 정보를 검토한 다음 마침을 클릭하여 새 데이터 원본 만들기 마법사를 완료합니다.

SQL Server에 새 데이터 원본 만들기 마법사를 시작합니다.

  1. 마법사의 설명 상자에 데이터 원본에 대한 설명을 입력합니다. 이 단계는 선택 사항입니다.
  2. 연결할 SQL Server를 지정하십시오.서버 상자에 연결할 SQL Server 컴퓨터 이름을 입력하거나 선택하고 다음을 클릭하여 마법사를 진행합니다.
  3. 마법사의 이 페이지에서 Windows NT 인증 또는 SQL Server 인증 사용 여부와 같은 정보를 SQL Server 데이터베이스 관리자에게 문의해야 하는 경우도 있습니다. 계속하려면 다음을 클릭합니다.
  4. 마법사의 다음 페이지에서 추가 정보에 대해 SQL Server 데이터베이스 관리자에게 문의해야 하는 경우도 있습니다. 특정 데이터베이스에 연결하려면 기본 데이터베이스를 다음으로 변경 확인란이 선택되어 있는지 확인하고 작업할 SQL Server 데이터베이스를 선택하고 다음을 클릭합니다.
  5. 마침을 클릭하고 요약 정보를 검토한 다음 데이터 원본 테스트를 클릭합니다.
  6. 테스트 결과를 검토한 다음 확인을 클릭하여 SQL Server ODBC 데이터 원본 테스트 대화 상자를 닫습니다.

테스트에 성공하면 확인을 다시 클릭하여 마법사를 완료하거나 취소를 클릭하여 마법사로 돌아가 설정을 변경합니다.


  1. 확인을 클릭합니다.

테이블 연결 대화 상자가 표시됩니다.

  1. 테이블에서 연결할 각 테이블 또는 뷰를 클릭한 다음 확인을 클릭합니다.
  1. 고유 레코드 식별자 선택 대화 상자가 나타나면 Access에서 원본 데이터의 각 행을 고유하게 식별하는 필드를 결정하지 못한 것입니다. 이러한 경우 각 행에서 고유한 필드 또는 필드 조합을 선택한 다음 확인을 클릭합니다. 선택할 필드가 확실하지 않은 경우 SQL Server 데이터베이스 관리자에게 문의하십시오.

Access에서 연결 작업이 완료되고 탐색 창에 새 연결된 테이블 또는 뷰가 표시됩니다.

 중요   연결 테이블 또는 원본 개체를 열 때마다 해당 테이블 또는 개체에 표시된 최신 데이터를 확인할 수 있습니다. 그러나 SQL Server 개체의 구조를 변경하면 연결 테이블에 변경 내용이 자동으로 반영되지 않습니다.

최신 SQL Server 개체 구조를 적용하여 연결 테이블 업데이트

  1. 탐색 창의 테이블을 마우스 오른쪽 단추로 클릭한 다음 바로 가기 메뉴에서 연결 테이블 관리자를 클릭합니다.
  2. 업데이트할 각 연결 테이블 옆에 있는 확인란을 선택하거나 모두 선택을 클릭하여 연결 테이블을 모두 선택합니다.
  3. 확인을 클릭합니다.

업데이트에 성공하면 해당 효과에 대한 메시지가 표시됩니다. 성공하지 못한 경우 메시지가 표시됩니다.

  1. 닫기를 클릭하여 연결 테이블 관리자를 닫습니다.

맨 위로 이동 맨 위로 이동

Access에서 SQL Server 데이터 형식이 해석되는 방식

Access 데이터 형식은 SQL Server 데이터 형식과 다르므로 Access에서는 가져오거나 연결하는 각 SQL Server 테이블 또는 뷰의 열마다 가장 적합한 Access 데이터 형식을 결정해야 합니다. 예를 들어 bit 데이터 형식의 SQL Server 열은 Access에서 /아니요 데이터 형식으로 가져오거나 연결합니다. 또한 nvarchar(255) 또는 이보다 작은 데이터 형식의 SQL Server 열은 텍스트 데이터 형식으로 가져오거나 연결하지만 nvarchar(256) 또는 이보다 큰 데이터 형식의 열은 Access에서 메모 필드로 가져옵니다. 가져오기 및 연결 작업이 완료되면 디자인 보기에서 테이블을 열고 필드에 할당된 데이터 형식을 확인할 수 있습니다. 가져온 테이블에서 필드의 데이터 형식을 변경할 수 있지만, 연결된 테이블에 있는 필드의 데이터 형식은 SQL Server 데이터베이스 자체 또는 해당 데이터베이스에 연결된 Access 프로젝트에서만 변경할 수 있습니다.

다음 표에서는 주요 SQL Server 데이터 형식을 보여 줍니다. 두 번째와 세 번째 열에서는 Access에서 각 형식을 해석하는 방법을 보여 줍니다.

SQL Server 데이터 형식 Access 데이터 형식 Access 필드 크기
bigint 텍스트 255
binary(필드 크기) 이진수 SQL Server 필드 크기와 같음
bit /아니요
char(필드 크기), 필드 크기가 255보다 작거나 같은 경우 텍스트 SQL Server 필드 크기와 같음
char(필드 크기), 필드 크기가 255보다 큰 경우 메모
datetime 날짜/시간
decimal(전체 자릿수, 소수 자릿수) 숫자 10진수(Access의 전체 자릿수/Precision소수 자릿수/Scale 속성이 SQL Server의 전체 자릿수 및 소수 자릿수와 일치됨)
float 숫자 실수(Double)
image OLE 개체
int 숫자 정수(Long)
money 통화
nchar(필드 크기), 필드 크기가 255보다 작거나 같은 경우 텍스트 SQL Server 필드 크기와 같음
nchar(필드 크기), 필드 크기가 255보다 큰 경우 메모
ntext 메모
숫자(전체 자릿수, 소수 자릿수) 숫자 10진수(Access의 전체 자릿수/Precision소수 자릿수/Scale 속성이 SQL Server의 전체 자릿수 및 소수 자릿수와 일치됨)
nvarchar(필드 크기), 필드 크기가 255보다 작거나 같은 경우 텍스트 SQL Server 필드 크기와 같음
nvarchar(필드 크기), 필드 크기가 255보다 큰 경우 메모
nvarchar(MAX) 메모
real 숫자 실수(Single)
smalldatetime 날짜/시간
smallint 숫자 정수
smallmoney 통화
sql_variant 텍스트 255
text 메모
timestamp 이진수 8
tinyint 숫자 바이트
uniqueidentifier 숫자 복제 ID
varbinary 이진수 SQL Server 필드 크기와 같음
varbinary(MAX) OLE 개체
varchar(필드 크기), 필드 크기가 255보다 작거나 같은 경우 텍스트 SQL Server 필드 크기와 같음
varchar(필드 크기), 필드 크기가 255보다 큰 경우 메모
varchar(MAX) 메모
xml 메모

맨 위로 이동 맨 위로 이동

 
 
적용 대상:
Access 2010