액세스 인벤토리 (AccessToSQL) 내보내기Exporting an Access Inventory (AccessToSQL)

Access 데이터베이스를 여러 개 있고로 마이그레이션할 수 있는 대상을 확실 하지 않은 경우 SQL ServerSQL Server, 프로젝트에서 모든 Access 데이터베이스의 인벤토리를 내보낼 수 있습니다.If you have multiple Access databases and you are not sure which ones to migrate into SQL ServerSQL Server, you can export an inventory of all Access databases in a project. 그런 다음 검토 및 쿼리할 수 있습니다 인벤토리 메타 데이터를 마이그레이션하려면 해당 데이터베이스 내의 개체 및 데이터베이스를 결정 합니다.You can then review and query the inventory metadata to determine which databases and objects within those databases to migrate. 이 인벤토리 하면 신속 하 게 다음과 같은 질문에 답변 찾기:This inventory lets you quickly find answers to questions, such as the following:

  • 큰 데이터베이스의 경우은 무엇입니까?What are the largest databases?

  • 대부분의 데이터베이스 소유자는 누구?Who owns most of the databases?

  • 데이터베이스를 같은 테이블에 포함?Which databases contain the same tables?

  • 데이터베이스를 지난 6 개월 동안에서 수정 되지 않은?Which databases have not been modified in the last six months?

  • 데이터베이스에 개인 정보가 있습니까?Which databases contain private information?

이러한 질문에 대답 하는 데 사용 되는 쿼리 예제는이 항목의 끝에서 제공 됩니다.Query examples that are used to answer these questions are provided at the end of this topic.

내보낸된 메타 데이터Exported Metadata

SSMA는 Access 데이터베이스, 테이블, 열, 인덱스, 외래 키, 쿼리, 보고서, 폼, 매크로 및 모듈에 대 한 메타 데이터를 내보냅니다.SSMA exports metadata about Access databases, tables, columns, indexes, foreign keys, queries, reports, forms, macros, and modules. 이러한 각 범주 항목에 대 한 메타 데이터를 별도 테이블에 내보내집니다.Metadata about each of these categories of items is exported to a separate table. 이러한 테이블의 스키마에 대 한 참조 액세스 인벤토리 스키마합니다.For schemas of these tables, see Access Inventory Schemas.

인벤토리 데이터 내보내기Exporting Inventory Data

액세스 인벤토리를 내보내려면 먼저 열 또는 SSMA 프로젝트를 만들 하며 분석 하려면 Access 데이터베이스를 추가 합니다.To export an Access inventory, you must first open or create an SSMA project, and then add the Access database that you want to analyze. 지정 된 해당 데이터베이스에 대 한 메타 데이터를 내보낼 데이터베이스 SSMA 프로젝트에 추가한 후 SQL ServerSQL Server 데이터베이스 및 스키마입니다.After you add databases to an SSMA project, you export metadata about those databases to a specified SQL ServerSQL Server database and schema. 필요한 경우 SSMA 메타 데이터를 저장 하는 테이블을 만듭니다.If necessary, SSMA creates tables to store the metadata. SSMA는 Access 데이터베이스에 대 한 메타 데이터를 추가 합니다는 SQL ServerSQL Server 데이터베이스입니다.SSMA then adds the metadata about the Access databases to the SQL ServerSQL Server database.

참고

Access 데이터베이스를 여러 파일로 분할할 수 있습니다: 테이블 및 쿼리, 폼, 보고서, 매크로, 모듈 및 바로 가기 키를 포함 하는 프런트 엔드 데이터베이스를 포함 하는 백 엔드 데이터베이스입니다.An Access database can be split into multiple files: a back-end database that contains tables and front-end databases that contain queries, forms, reports, macros, modules, and shortcuts. 데이터베이스를 분할 하려는 경우 SQL ServerSQL Server, 프런트 엔드 데이터베이스 SSMA를 추가 합니다.If you want to migrate a split database to SQL ServerSQL Server, add the front-end database to SSMA.

다음 지침에는 프로젝트 만들기, 프로젝트에 데이터베이스를 추가에 연결 하는 방법을 설명 SQL ServerSQL Server, 다음 인벤토리 데이터를 내보냅니다.The following instructions describe how to create a project, add databases to the project, connect to SQL ServerSQL Server, and then export inventory data.

프로젝트를 만들려면To create a project

  1. Access 용 SSMA를 엽니다.Open SSMA for Access.

  2. 파일 메뉴에서 새 프로젝트를 선택합니다.On the File menu, select New Project.

    새 프로젝트 대화 상자가 나타납니다.The New Project dialog box appears.

  3. 이름 입력란에 프로젝트 이름을In the Name box, enter a name for your project.

  4. 위치 입력란에 입력 하거나 프로젝트에 대 한 폴더를 선택 합니다.In the Location box, enter or select a folder for the project.

  5. 마이그레이션 대상 콤보 상자에서 다음을 클릭 하 고 마이그레이션하려 대상 버전 선택 확인합니다.In the Migrate To combo box, select the target version to which you want to migrate, and then click OK.

프로젝트를 만드는 방법에 대 한 자세한 내용은 참조 만들기 및 프로젝트 관리합니다.For more information about creating projects, see Creating and Managing Projects.

찾아 데이터베이스를 추가 합니다.To find and add databases

  1. 파일 메뉴를 클릭 하 여 찾을 데이터베이스합니다.On the File menu, click Find Databases.

  2. 데이터베이스 검색 마법사에는 드라이브, 파일 경로 또는 검색할 UNC 경로 입력 합니다.In the Find Databases Wizard, enter the drive, file path, or the UNC path that you want to search. 또는 클릭 하 여 찾아보기 드라이브 또는 네트워크 폴더를 선택 합니다.Alternatively, click Browse to select the drive or network folder.

  3. 클릭 추가 목록 상자에 위치를 추가 합니다.Click Add to add the location to the list box.

    추가 검색 위치를 추가 하려면 이전 두 단계를 반복 합니다.Repeat the previous two steps to add additional search locations.

  4. 필요에 따라 반환 되는 데이터베이스의 목록을 구체화 하려면 검색 조건을 추가 합니다.Optionally, add search criteria to refine the list of databases that are returned.

    중요

    전체 또는 일부 파일 이름의 입력란 와일드 카드 문자를 지원 하지 않습니다.The All or part of the file name text box does not support wildcard characters.

  5. 클릭 스캔합니다.Click Scan.

    검색 페이지가 표시 됩니다.The Scan page appears. 여기에 발견 된 데이터베이스 및 검색 진행률 표시.This shows the databases that have been found and the search progress. 검색을 중지 하려면 클릭 중지합니다.To stop the search, click Stop.

  6. 파일 선택 페이지에서 프로젝트에 추가 하려는 각 데이터베이스를 선택 합니다.On the Select Files page, select the each database that you want to add to the project.

    사용할 수는 모두 선택모두 지우기 선택 하거나 모든 데이터베이스를 선택 취소 하는 목록의 위쪽에 있는 단추입니다.You can use the Select All and Clear All buttons at the top of the list to select or clear all databases. 여러 행을 선택 하려면 CTRL 키를 누른 채로 또는 SHIFT 키를 선택 하는 행 범위 아래로 수도 있습니다.You can also hold the CTRL key down to select multiple rows, or hold the SHIFT key down to select a range of rows.

  7. 다음을 클릭합니다.Click Next.

  8. 확인 페이지에서 클릭 마침합니다.On the Verify page, click Finish.

데이터베이스 프로젝트에 추가 하는 방법에 대 한 자세한 내용은 참조 Access 데이터베이스 파일을 제거 및 추가합니다.For more information about adding databases to projects, see Adding and Removing Access Database Files.

SQL Server에 연결 하려면To connect to SQL Server

  1. 파일 메뉴 선택 SQL Server에 연결합니다.On the File menu, select Connect to SQL Server.

  2. 연결 대화 상자에서 이름을 입력 하거나 선택 된 인스턴스의 SQL ServerSQL Server합니다.In the connection dialog box, enter or select the name of the instance of SQL ServerSQL Server.

    • 로컬 컴퓨터의 기본 인스턴스에 연결 하는 경우 입력할 수 있는 localhost 또는 점 (.).If you are connecting to the default instance on the local computer, you can enter localhost or a dot (.).

    • 다른 컴퓨터의 기본 인스턴스에 연결 하는 경우에 컴퓨터의 이름을 입력 합니다.If you are connecting to the default instance on another computer, enter the name of the computer.

    • 명명 된 인스턴스에 연결 하는 경우 컴퓨터 이름, 백슬래시 및 인스턴스 이름을 입력 합니다.If you are connecting to a named instance, enter the computer name, a backslash, and the instance name. 예를 들어: MyServer\MyInstance 합니다.For example: MyServer\MyInstance.

  3. 데이터베이스 상자 내보낸된 메타 데이터에 대 한 대상 데이터베이스의 이름을 입력 합니다.In the Database box, enter the name of the target database for exported metadata.

  4. 경우 인스턴스의 SQL ServerSQL Server 에 사용 되는 포트 번호를 입력, 기본이 아닌 포트에서 연결을 허용 하도록 구성 된 SQL ServerSQL Server 의 연결 모드는 서버 포트 상자입니다.If your instance of SQL ServerSQL Server is configured to accept connections on a non-default port, enter the port number that is used for SQL ServerSQL Server connections in the Server port box. 기본 인스턴스에 대 한 SQL ServerSQL Server, 기본 포트 번호는 1433입니다.For the default instance of SQL ServerSQL Server, the default port number is 1433. 명명 된 인스턴스에 대 한 SSMA에서 포트 번호 가져오기를 시도 SQL ServerSQL Server Browser 서비스입니다.For named instances, SSMA tries to obtain the port number from the SQL ServerSQL Server Browser Service.

  5. 인증 드롭 다운 메뉴에서 선택 된 연결에 사용할 인증 유형을 합니다.In the Authentication drop-down menu, select the authentication type to use for the connection. 현재 Windows 계정을 사용 하려면 선택 Windows 인증합니다.To use the current Windows account, select Windows Authentication. 사용 하는 SQL ServerSQL Server 로그인을 SQL Server 인증, 사용자 이름 및 암호를 제공 합니다.To use a SQL ServerSQL Server login, select SQL Server Authentication, and then provide a user name and password.

에 연결 하는 방법에 대 한 자세한 내용은 SQL ServerSQL Server, 참조 SQL Server (에 연결 AccessToSQL ) .For more information about connecting to SQL ServerSQL Server, see Connecting to SQL Server (AccessToSQL).

인벤토리 정보를 내보내려면To export inventory information

  1. 액세스 메타 데이터 탐색기에서 확장 액세스 메타 베이스합니다.In Access Metadata Explorer, expand Access-metabase.

  2. 옆에 확인란을 선택 데이터베이스합니다.Select the check box next to Databases.

    개별 데이터베이스 또는 데이터베이스 개체를 생략 하려면 확장 된 데이터베이스 폴더 및 데이터베이스 또는 데이터베이스 개체 옆의 확인란 선택을 취소 합니다.To omit individual databases or database objects, expand the Databases folder, and then clear the check box next to the database or database object.

  3. 마우스 오른쪽 단추로 클릭 데이터베이스 선택 스키마 내보내기합니다.Right-click Databases and select Export Schema.

  4. 내보내기에 대 한 스키마 선택 대화 상자에서 내보낸된 메타 데이터에 대 한 대상 스키마를 선택 하 고 클릭 확인합니다.In the Select Schema for Export dialog box, select the target schema for the exported metadata, and then click OK.

메타 데이터를 내보낼 때마다 SSMA 인벤토리 데이터를 추가 합니다.Each time you export metadata, SSMA appends the data to the inventory. 인벤토리의 기존 데이터를 업데이트 하거나 삭제 합니다.Existing data in the inventory is not updated or deleted.

내보낸된 메타 데이터 쿼리Querying the Exported Metadata

Access 데이터베이스에 대 한 메타 데이터를 내보낸 후에 메타 데이터를 쿼리할 수 있습니다.After you export metadata about Access databases, you can query the metadata. 다음 지침에서 쿼리 편집기 창을 사용 하 여 설명 SQL Server Management StudioSQL Server Management Studio 쿼리를 실행 합니다.The following instructions describe to use the Query Editor window in SQL Server Management StudioSQL Server Management Studio to run queries.

메타 데이터를 쿼리To query metadata

  1. 시작 메뉴에서 모든 프로그램, 가리킨 Microsoft SQL ServerSQL Server 2005 또는 Microsoft SQL ServerSQL Server 2008 또는 Microsoft SQL ServerSQL Server 2012, 클릭 하 고 SQL Server Management Studio합니다.From the Start menu, point to All Programs, point to Microsoft SQL ServerSQL Server 2005 or to Microsoft SQL ServerSQL Server 2008 or to Microsoft SQL ServerSQL Server 2012, and then click SQL Server Management Studio.

  2. 서버에 연결 대화 상자에서 설정을 확인 하 고 클릭 연결합니다.In the Connect to Server dialog box, verify the settings, and then click Connect.

  3. Management Studio 도구 모음에서 새 쿼리 쿼리 편집기를 엽니다.On the Management Studio toolbar, click New Query to open Query Editor.

  4. 쿼리 편집기 창에서 쿼리를 입력 합니다.In the Query Editor window, enter a query. 몇 가지 예는 다음 섹션에 표시 됩니다.Some examples are shown in the following section.

  5. 쿼리를 실행 하려면 F5 키를 누릅니다.Press the F5 key to run the query.

쿼리 예제Query Examples

다음 쿼리를 실행 하기 전에 사용 하는 실행 해야 database_name 쿼리를 쿼리 내보낸된 메타 데이터를 포함 하는 데이터베이스에 대해 실행 되 고 있는지 확인 합니다.Before you run any of the following queries, you should run a USE database_name query to make sure the queries are run against the database that contains the exported metadata. 예를 들어 MyAccessMetadata 라는 데이터베이스에 메타 데이터를 내보낸 경우 추가한 다음의 시작 부분에는 Transact-SQLTransact-SQL 코드:For example, if you exported metadata to a database named MyAccessMetadata, you would add the following at the beginning of the Transact-SQLTransact-SQL code:

USE MyAccessMetadata;  
GO  

다음 예에서는 모두 사용 하 여는 dbo 스키마입니다.The following examples all use the dbo schema. 다른 스키마에 메타 데이터를 내보낼 경우 이러한 쿼리를 실행 하는 경우 스키마를 변경 해야 합니다.If you exported the metadata to another schema, make sure to change the schema when you run these queries.

테이블 및 열에는 이러한 데이터베이스에는 있습니까?What tables and columns are in these databases?

다음 쿼리는 열, 테이블 및 데이터베이스 메타 데이터를 포함 하는 테이블을 조인 하 고의 모든 데이터베이스, 테이블 및 열 이름으로 정렬 하는 열 이름을 반환 합니다.The following query joins the tables that contain column, table, and database metadata, and then returns the names of all databases, tables, and columns, sorted by column name:

SELECT DatabaseName, TableName, ColumnName   
FROM dbo.SSMA_Access_InventoryColumns C  
JOIN dbo.SSMA_Access_InventoryTables T  
ON C.TableId = T.TableId  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON T.DatabaseId = D.DatabaseId  
ORDER BY ColumnName;  

큰 데이터베이스의 경우은 무엇입니까?What are the largest databases?

다음 쿼리에서 파일 크기 별로 정렬 된 각 Access 데이터베이스의 데이터베이스 이름, 파일 크기 및 테이블의 수를 반환 합니다.The following query returns the database name, file size, and number of tables in each Access database, sorted by file size:

SELECT DatabaseName, FileSize, TablesCount  
FROM dbo.SSMA_Access_InventoryDatabases  
ORDER BY FileSize DESC;  

대부분의 데이터베이스 소유자가 누군지 않습니까?Who is the owner of most of the databases?

다음 쿼리는 데이터베이스 이름과 소유자에 의해 정렬 된 각 Access 데이터베이스의 소유자를 반환 합니다.The following query returns the database name and owner of each Access database, sorted by owner.

SELECT DatabaseName, FileOwner  
FROM dbo.SSMA_Access_InventoryDatabases  
ORDER BY FileOwner;  

데이터베이스를 같은 테이블에 포함?Which databases contain the same tables?

다음 쿼리에서 하위 쿼리를 사용 하 여 테이블, 목록에 두 번 이상 나타나는 모든 테이블 이름을 찾을 수와 다음이 목록은 테이블을 사용 하 여 데이터베이스 이름을 가져오지 못했습니다.The following query uses a subquery to find all table names that appear more than once in the list of tables, and then uses this list of tables to get the database name. 결과는 데이터베이스 이름 및 테이블 이름으로 반환 되 고 테이블 이름으로 정렬 됩니다.The results are returned as the database name and then the table name, and are sorted by table name.

SELECT DatabaseName, TableName   
FROM dbo.SSMA_Access_InventoryTables T  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON D.DatabaseId = T.DatabaseId  
WHERE TableName IN (  
SELECT TableName   
FROM dbo.SSMA_Access_InventoryTables  
GROUP BY TableName   
HAVING count(*)>1  
)  
ORDER BY TableName;  

데이터베이스를 지난 6 개월 동안에서 수정 되지 않은?Which databases were not modified in the last six months?

다음 쿼리는 현재 날짜를 가져옵니다, 그리고 6 개월에 대 한 월 값을 가져옵니다 및 다음 6 개월 보다 큰의 수정 된 날짜를 사용 하 여 데이터베이스의 목록을 반환 합니다.The following query gets the current date, gets the month value for six months ago, and then returns a list of databases with a modified date of greater than six months ago.

SELECT DatabaseName, DateModified  
FROM dbo.SSMA_Access_InventoryDatabases  
WHERE DATEDIFF(month, DateModified, GETDATE()) > 6  
ORDER BY DateModified;  

데이터베이스에 개인 정보가 있습니까?Which databases contain private information?

Access 데이터베이스에는 중요 한 정보나 개인 정보가 포함 될 수 있습니다.Your Access databases might contain sensitive or personal information. 이러한 데이터베이스를 이동 하려는 경우 SQL ServerSQL Server 해당 보안 기능을 활용할 수 있습니다.You might want to move these databases to SQL ServerSQL Server to take advantage of its security features. 중요 한 데이터가 포함 된 열 특정 이름을 가진 또는 특정 문자를 포함할를 알고 있는 경우 해당 정보를 포함 하는 모든 열을 찾으려면 쿼리를 사용할 수 있습니다.If you know that columns containing sensitive data have a specific name, or contain specific characters, you can use a query to find all columns that contain that information. 예를 들어 "급여" 문자열이 포함 된 모든 열을 찾을 수 있습니다.For example, you can find all columns that include the string "salary". 쿼리는 다음 데이터베이스 이름, 테이블 이름 및 열 이름을 반환합니다.The query then returns the database name, table name, and column name.

SELECT DatabaseName, TableName, ColumnName   
FROM dbo.SSMA_Access_InventoryColumns C  
JOIN dbo.SSMA_Access_InventoryTables T  
ON C.TableId = T.TableId  
JOIN dbo.SSMA_Access_InventoryDatabases D  
ON T.DatabaseId = D. DatabaseId  
WHERE ColumnName LIKE '%salary%';  

열 이름을 모르는 경우에 모든 열을 반환 하는 쿼리를 작성할 수 있습니다.If you do not know the column name, you can write a query to return all columns. 이 수행 하려면 이전 쿼리에서 WHERE 절을 제거 합니다.To do this, remove the WHERE clause from the previous query.

관련 항목:See Also

Access 데이터베이스 마이그레이션을 준비Preparing Access Databases for Migration