호환 되지 않는 액세스 기능 (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. 가능한 마이그레이션 문제 및 //office.microsoft.com/ 수행할 수 있는 작업에 대 한 자세한 내용은 다음 표를 사용 합니다.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 테이블에 고유 인덱스를 사용할 필요가 없습니다.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 테이블에는 복제 열.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.
고유 인덱스는 모두 access 테이블 여러 null 값을 포함 합니다.Access tables that have unique indexes contain multiple null values. 여러 null 값이 있는 고유 인덱스는 모두 access 테이블에 전송할 수 없으므로 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.
Access 테이블의 날짜 값을 포함 된 SQL ServerSQL Server 범위입니다.Access tables contain date values that are out of the SQL ServerSQL Server range. SQL ServerSQL Server datetime 31 년 12 월 1753 1의 범위에서 날짜를 수락 하는 형식 9999만 합니다.The SQL ServerSQL Server datetime type accepts dates in the range of 1 Jan 1753 to 31 Dec 9999 only. 액세스 범위는 1 년 1 월 100 Dec 31에서으로 날짜를 입력할 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).
Access에서 인덱스 길이 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. 더 큰 인덱스를 사용 하는 Access 테이블 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 온라인 설명서.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열 데이터 형식이 나 다른 외래 키 제약 조건에 따라 크기 조정 된 연결의 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 테이블에는 하이퍼링크 열.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