호환 되지 않는 Access 기능 (AccessToSQL)Incompatible Access Features (AccessToSQL)

모든 액세스 데이터베이스 기능을 사용 하 여 호환 SQL ServerSQL Server합니다.Not all Access database features are compatible with SQL ServerSQL Server. 예를 들어 SQL ServerSQL Server 액세스 예약 된 키워드 집합은 및입니다.For example, SQL ServerSQL Server and Access have different sets of reserved keywords. 문제에 성공적인 마이그레이션을 방해할 수 있습니다 이러한 같은 SQL ServerSQL Server합니다.Issues such as these can prevent a successful migration to SQL ServerSQL Server. 가능한 마이그레이션 문제 및 수행할 수 있는 정보에 대해 자세히 알아보려면 다음 표를 사용 합니다.Use the following table to learn about possible migration issues and what you can do about them.

데이터베이스 설정 또는 마이그레이션에 영향을 줄 수 있는 기능Database Settings or Features That Might Affect Migration

데이터베이스 설정 또는 기능에 액세스Access Database Setting or Feature 마이그레이션 문제Migration Issue
테이블 액세스에 고유 인덱스를 사용할 필요가 없습니다.Access tables do not have unique indexes. 고유 인덱스가 없는 테이블을 마이그레이션된 경우 SQL ServerSQL Server, 마이그레이션 후 테이블을 수정할 수 없습니다.If a table that does not have a unique index is migrated to SQL ServerSQL Server, you cannot modify the table after migration. 이 응용 프로그램 호환성 문제가 발생할 수 있습니다.This can lead to application compatibility problems.

Access 데이터베이스 개체를 변환 하는 경우 출력 창에는 고유 인덱스에 있지 않은 Access 테이블이 나열 됩니다.When you convert Access database objects, the Output window will list any Access tables that do not have unique indexes.

기본 키에 추가에 대 한 액세스를 구성할 수 있습니다는 SQL ServerSQL Server 변환 하는 동안 테이블입니다.You can configure Access to add a primary key on the SQL ServerSQL Server table during conversion. 자세한 내용은 프로젝트 설정 (변환)합니다.For more information, see Project Settings (Conversion).
테이블 액세스 복제 열 경우Access tables have replication columns. 복제 시스템 열을 포함 하는 Access 테이블을 마이그레이션된 경우 SQL ServerSQL Server, 마이그레이션 후 Jet 복제 기능이 중단 됩니다.If an Access table that includes replication system columns is migrated to SQL ServerSQL Server, Jet replication functionality will be broken after migration.

마이그레이션 후 사용 하 여 것이 좋습니다. SQL ServerSQL Server 복제 데이터베이스의 동기화 된 복사본을 유지 관리 합니다.After migration, consider using SQL ServerSQL Server replication to maintain synchronized copies of your databases.
여러 null 값을 포함 하는 고유 인덱스가 있는 테이블을 액세스 합니다.Access tables that have unique indexes contain multiple null values. 여러 null 값을 가진 고유 인덱스가 있는 테이블 액세스를 전송할 수 없습니다 SQL ServerSQL Server때문에 SQL ServerSQL Server, 고유 인덱스에 여러 null 허용 하지 않습니다.Access tables that have unique indexes with multiple null values cannot be transferred to SQL ServerSQL Server, because in SQL ServerSQL Server, unique indexes disallow multiple nulls. 이러한 테이블에 대 한 마이그레이션이 실패 합니다.Migration will fail for these tables.

SSMA는 평가 보고서에서이 문제는 플래그입니다.SSMA will flag this issue in assessment reports. 평가 보고서를 참조 하세요 변환을 위해 Access 데이터베이스 개체 평가합니다.To create an assessment report, see Assessing Access Database Objects for Conversion.

이 문제가 발생할 경우에 기본 키에 중복 된 null 값이 없는지 확인 해야 합니다.If this problem exists, you must make sure that the primary key does not have duplicate null values. 또는 기본 키 또는 여러 개의 null 값을 포함 하는 고유 인덱스를 제거 해야 합니다.Or, you must remove the primary key or unique indexes that contain multiple null values.
테이블 액세스의 날짜 값을 포함 합니다 SQL ServerSQL Server 범위입니다.Access tables contain date values that are out of the SQL ServerSQL Server range. 합니다 SQL ServerSQL Server datetime 1 1753 년 1 월 12 월 31 범위의 날짜를 수락 하는 형식 9999만 합니다.The SQL ServerSQL Server datetime type accepts dates in the range of 1 Jan 1753 to 31 Dec 9999 only. 액세스 허용 31 Dec 1 년 1 월 100 범위의 날짜가 9999입니다.Access accepts dates in the range of 1 Jan 100 to 31 Dec 9999.

SSMA는 평가 보고서에서이 문제는 플래그입니다.SSMA will flag this issue in assessment reports. 평가 보고서를 참조 하세요 변환을 위해 Access 데이터베이스 개체 평가합니다.To create an assessment report, see Assessing Access Database Objects for Conversion.

SSMA에서 날짜를 확인 하는 방법을 구성할 수 있습니다 개는 SQL ServerSQL Server 범위입니다.You can configure how SSMA resolves dates that are out of the SQL ServerSQL Server range. 자세한 내용은 프로젝트 설정 (마이그레이션)합니다.For more information, see Project Settings (Migration).
액세스에 대 한 인덱스 길이 900 바이트를 초과 합니다.Index lengths in Access exceed 900 bytes. SQL ServerSQL Server 인덱스는 인덱스 키 열의 총 크기는 900 바이트 한도 갖습니다. indexes have a 900-byte limit for the total size of index key columns. 큰 인덱스를 사용 하는 테이블에 액세스 하는 경우 SSMA 경고가 표시 됩니다.If your Access tables use larger indexes, SSMA will display a warning.

데이터 마이그레이션을 사용 하 여 계속 하면 마이그레이션이 실패할 수 있습니다.If you continue with data migration, the migration might fail.
액세스 개체 이름은 SQL ServerSQL Server 키워드 또는 특수 문자를 포함 합니다.Access object names are SQL ServerSQL Server keywords, or contain special characters. 액세스 및 SQL ServerSQL Server 다른 예약 된 키워드 및 특수 문자 집합입니다.Access and SQL ServerSQL Server have different sets of reserved keywords and special characters. SQL ServerSQL Server 사용 하 여 이름이 지정 된 개체를 수락할 SQL ServerSQL Server 키워드 또는 "select" 같은 대괄호로 묶은 또는 따옴표 붙은 식별자를 사용 하거나 [선택].p 경우 특수 문자를 포함 합니다. will accept objects that are named by using SQL ServerSQL Server keywords or that contain special characters if you use bracketed or quoted identifiers, such as "select" or [select].p. 자세한 내용은 나오는 "구분 기호로 분리 됨 식별자 (데이터베이스 엔진)" SQL ServerSQL Server Books Onl 온라인 설명서.For more information, see "Delimited Identifiers (Database Engine)" in SQL ServerSQL Server Books Online.

참고: 구분 식별자에 따옴표를 사용 하려면 SET quoted_identifier가 ON 이어야 합니다.NOTE: To use quotation marks to delimit identifiers, SET QUOTED_IDENTIFIER must be ON.

예를 들어 CREATE TABLE [schema](c1 [FOR]) 는 유효한 문이 스키마 하 고 에 대 한 은 예약 된 키워드.For example, CREATE TABLE [schema](c1 [FOR]) is a valid statement, even though schema and FOR are reserved keywords. 또한 CREATE TABLE [xxx*yyy](c1 x&y) 는 테이블 및 열 이름에 특수 문자를 포함 하는 경우에 유효한 문이 * 하 고 & 합니다.Also, CREATE TABLE [xxx*yyy](c1 x&y) is a valid statement, even though the table and column name contain the special characters * and &.

또한 이러한 개체를 참조 하는 모든 쿼리 대괄호 또는 따옴표를 사용 하 여 이름을 사용 해야 합니다.All queries that reference those objects must also use the names with brackets or quotation marks. 예를 들어, 쿼리 SELECT * FROM schema 실패 합니다.For example, the query SELECT * FROM schema will fail. 올바른 쿼리는: SELECT * FROM [schema]합니다.The correct query is: SELECT * FROM [schema].

Access 데이터베이스 개체를 변환할 때는 키워드 또는 특수 문자를 사용 하는 모든 액세스 테이블 출력 창에 나열 됩니다.When you convert Access database objects, the Output pane will list any Access tables that use keywords or special characters. Access에서 테이블을 수정 하 고 제거 하 고 수는 데이터베이스를 다시 추가 또는 쿼리를 사용 하 여 대괄호 또는 따옴표로 구분 식별자에는 해당 개체를 참조 하는 쿼리를 수정할 수 있습니다.You can modify the tables in Access, and then remove and add the database again; or you can modify queries that reference those objects so that the queries use brackets or quotation marks to delimit identifiers. 쿼리를 수정 하면 액세스 응용 프로그램 오류를 반환할 수도 다른 문제가 있습니다.If you do not modify your queries, your Access applications might return errors or have other problems.
필드 크기는 기본 키/외래 키 관계에서 다릅니다.Field sizes differ in primary key/foreign key relationships. SQL ServerSQL Server 다른 데이터 형식 또는 foreign key 제약 조건 크기는 열을 연결 하는 Jet 기능을 지원 하지 않습니다. does not support the Jet functionality of linking columns that have different data types or sizes with foreign key constraints.

출력 창의 모든 기본 키/외래 키 제약 조건을에 변환 되지 것입니다 표시 Access 데이터베이스 개체를 변환 하면 SQL ServerSQL Server합니다.When you convert Access database objects, the Output window will list any primary key/foreign key constraints that will not be converted to SQL ServerSQL Server. 일치 하 고 다음 제거 하 고 있도록 Access 데이터베이스를 다시 추가 데이터 형식 및 열 액세스에서 크기를 변경할 수 있습니다.You can alter data types and sizes on Access columns so that they match, and then remove and re-add the Access database. 이러한 제약 조건에서 생성 되지 것입니다 하지만 데이터를 마이그레이션할 수 있습니다 또는 SQL ServerSQL Server합니다.Or, you can migrate data although these constraints will not be created in SQL ServerSQL Server.
액세스 관계의 참조 테이블 기본 키도 아니고 고유 인덱스를 가집니다.Referenced tables in Access relationships have neither a primary key nor a unique index. 액세스 위치는 참조 테이블에 없는 기본 키 또는 고유 인덱스는 테이블 간의 관계를 허용 합니다.Access accepts relationship between tables where the referenced table does not have a primary key or a unique index. 그러나에서 지원 되지 않습니다 SQL ServerSQL Server합니다.However, this is not supported by SQL ServerSQL Server.

Access 데이터베이스 개체를 변환 하면 출력 창 관계 하지만 기본 키 또는 고유 인덱스가 있는 테이블이 나열 됩니다.When you convert Access database objects, the Output window will list any tables that have relationships but no primary key or unique index. 기본 키 또는 고유 인덱스를 추가 하 고 다음 제거 하 고 다시 추가 Access 데이터베이스 테이블을 변경할 수 있습니다.You can alter the tables to add primary keys or unique indexes, and then remove and re-add the Access database. 또는 테이블 간의 관계 끊어집니다. 하지만 데이터를 마이그레이션할 수 있습니다.Or, you can migrate data although the relationship between the tables will be broken.
테이블 액세스 하이퍼링크 열 경우Access tables have hyperlink columns. SQL ServerSQL Server 지원 하지 않습니다 하이퍼링크 열입니다. does not support hyperlink columns. 대신 열 액세스 메모 열 처럼 취급 됩니다.Instead, the columns are treated like Access memo columns. 기본적으로 이러한 열은 변환할 nvarchar (max) 열에서 SQL ServerSQL Server합니다.By default, these columns will be converted to nvarchar(max) columns in SQL ServerSQL Server. 매핑을 사용자 지정할 수 있습니다.You can customize the mapping. 자세한 내용은 매핑 원본 및 대상 데이터 형식합니다.For more information, see Mapping Source and Target Data Types.
변환할 수 없는 액세스 함수를 포함 하는 기본 또는 유효성 검사 규칙 식 SQL ServerSQL Server 또는 SQL Azure입니다.Default or validation rule expressions contain Access functions that cannot be converted to SQL ServerSQL Server or SQL Azure. 액세스 시스템 함수 또는 사용자 정의 함수에 매핑되지 않는 기본 액세스 식 또는 유효성 검사 규칙이 포함 될 수 있습니다 SQL ServerSQL Server 또는 SQL Azure입니다.Access default expressions or validation rules might include Access system functions or user-defined functions that do not map to SQL ServerSQL Server or SQL Azure. 에 매핑되지 않는 함수를 사용 하 여 SQL ServerSQL Server 또는 SQL Azure 기본 식 또는 유효성 검사 규칙을 로드 하지 못하도록 합니다 SQL ServerSQL Server 또는 SQL Azure입니다.Using functions that do not map to SQL ServerSQL Server or SQL Azure will prevent you from loading the default expressions or validation rules into SQL ServerSQL Server or SQL Azure.

관련 항목See Also

Access 데이터베이스 마이그레이션 준비Preparing Access Databases for Migration
SQL Server에 대 한 액세스 데이터베이스 마이그레이션Migrating Access Databases to SQL Server