SQL Server 개체 및 버전에 대한 DAC 지원DAC Support For SQL Server Objects and Versions

DAC(데이터 계층 응용 프로그램)는 가장 일반적으로 사용되는 데이터베이스 엔진Database Engine 개체를 지원합니다.A data-tier application (DAC) supports the most commonly used 데이터베이스 엔진Database Engine objects.

항목 내용In This Topic

지원되는 SQL Server 개체 Supported SQL Server Objects

작성 또는 편집 중인 데이터 계층 응용 프로그램에서는 지원되는 개체만 지정할 수 있습니다.Only supported objects can be specified in a data-tier application as it is being authored or edited. DAC를 지원하지 않는 개체가 포함된 기존 데이터베이스에서 DAC를 추출하거나 등록하거나 가져올 수 없습니다.You cannot extract, register, or import a DAC from an existing database that contains objects that are not supported in a DAC. SQL Server 2017SQL Server 2017 에서는 DAC에서 다음 개체를 지원합니다. supports the following objects in a DAC.

DATABASE ROLEDATABASE ROLE FUNCTION: 인라인 테이블 반환FUNCTION: Inline Table-valued
FUNCTION: 다중 문 테이블 반환FUNCTION: Multistatement Table-valued FUNCTION: 스칼라FUNCTION: Scalar
INDEX: 클러스터형INDEX: Clustered INDEX: 비클러스터형INDEX: Non-clustered
INDEX: 공간INDEX: Spacial INDEX: 고유INDEX: Unique
LOGINLOGIN 사용 권한Permissions
역할 멤버 자격Role Memberships SCHEMASCHEMA
통계Statistics STORED PROCEDURE: Transact-SQLSTORED PROCEDURE: Transact-SQL
동의어Synonyms TABLE: CHECK 제약 조건TABLE: Check Constraint
TABLE: 데이터 정렬TABLE: Collation TABLE: 계산 열을 포함하는 열TABLE: Column, including computed columns
TABLE: DEFAULT 제약 조건TABLE: Constraint, Default TABLE: FOREIGN KEY 제약 조건TABLE: Constraint, Foreign Key
TABLE: INDEX 제약 조건TABLE: Constraint, Index TABLE: PRIMARY KEY 제약 조건TABLE: Constraint, Primary Key
TABLE: UNIQUE 제약 조건TABLE: Constraint, Unique TRIGGER: DMLTRIGGER: DML
TYPE: HIERARCHYID, GEOMETRY, GEOGRAPHYTYPE: HIERARCHYID, GEOMETRY, GEOGRAPHY TYPE: 사용자 정의 데이터 형식TYPE: User-defined Data Type
TYPE: 사용자 정의 테이블 형식TYPE: User-defined Table Type USERUSER
VIEWVIEW

각 SQL Server 버전에서 지원되는 데이터 계층 응용 프로그램 Data-tier Application Support by the Versions of SQL Server

SQL ServerSQL Server 버전마다 DAC 작업에 대해 지원되는 수준이 다릅니다.The versions of SQL ServerSQL Server have different levels of support for DAC operations. SQL ServerSQL Server 버전에서 지원되는 모든 DAC 작업은 해당 제품의 모든 버전에서 지원됩니다.All of the DAC operations supported by a version of SQL ServerSQL Server are supported by all editions of that version.

데이터베이스 엔진Database Engine 인스턴스에서 지원하는 DAC 작업은 다음과 같습니다.Instances of the 데이터베이스 엔진Database Engine support the following DAC operations:

  • 내보내기 및 추출은 지원되는 모든 SQL ServerSQL Server버전에서 지원됩니다.Export and extract are supported on all supported versions of SQL ServerSQL Server.

  • Azure SQL 데이터베이스Azure SQL Database 와 모든 버전의 SQL Server 2014SQL Server 2014, SQL Server 2012SQL Server 2012SQL Server 2008 R2SQL Server 2008 R2에서는 모든 작업이 지원됩니다.All operations are supported on Azure SQL 데이터베이스Azure SQL Database and all versions of SQL Server 2014SQL Server 2014, SQL Server 2012SQL Server 2012, and SQL Server 2008 R2SQL Server 2008 R2.

  • SQL Server 2008SQL Server 2008 SP2(서비스 팩 2) 이상과 SQL Server 2005SQL Server 2005 SP4 이상에서는 모든 작업이 지원됩니다.All operations are supported on SQL Server 2008SQL Server 2008 Service Pack 2 (SP2) or later, and SQL Server 2005SQL Server 2005 SP4 or later.

    DAC Framework는 DAC 패키지 및 내보내기 파일을 작성하고 처리하는 클라이언트 쪽 도구를 구성합니다.The DAC Framework comprises the client-side tools for building and processing DAC packages and export files. DAC Framework는 다음과 같은 제품에 포함되어 있습니다.The following products include the DAC Framework

  • SQL Server 2014SQL Server 2014SQL Server 2012SQL Server 2012 에는 모든 DAC 작업을 지원하는 DAC Framework 3.0이 포함되어 있습니다. and SQL Server 2012SQL Server 2012 includes DAC Framework 3.0, which supports all DAC operations.

  • SQL Server 2008 R2SQL Server 2008 R2 SP1 및 Visual Studio 2010 SP1에는 내보내기와 가져오기를 제외한 모든 DAC 작업을 지원하는 DAC Framework 1.1이 포함되어 있습니다. SP1 and Visual Studio 2010 SP1 included DAC Framework 1.1, which supports all DAC operations except export and import.

  • SQL Server 2008 R2SQL Server 2008 R2 및 Visual Studio 2010에는 내보내기, 가져오기 및 전체 업그레이드를 제외한 모든 DAC 작업을 지원하는 DAC Framework 1.0이 포함되어 있습니다. and Visual Studio 2010 included DAC Framework 1.0, which supports all DAC operations except export, import, and in—place upgrade.

  • 이전 버전 SQL Server 또는 Visual Studio의 클라이언트 도구는 DAC 작업을 지원하지 않습니다.The client tools from earlier versions of SQL Server or Visual Studio do not support DAC operations.

    DAC Framework 버전 중 하나로 작성한 DAC 패키지 또는 내보내기 파일은 이전 버전의 DAC Framework에서 처리할 수 없습니다.A DAC package or export file built with one version of the DAC Framework cannot be processed by an earlier version of the DAC Framework. 예를 들어 SQL Server 2014SQL Server 2014 클라이언트 도구를 사용하여 추출한 DAC 패키지는 SQL Server 2008 R2SQL Server 2008 R2 클라이언트 도구를 사용하여 배포할 수 없습니다.For example, a DAC package extracted using the SQL Server 2014SQL Server 2014 client tools cannot be deployed using the SQL Server 2008 R2SQL Server 2008 R2 client tools.

    하위 버전의 DAC Framework에서 작성한 DAC 패키지 또는 내보내기 파일은 상위 버전의 DAC Framework에서 처리할 수 없습니다.A DAC package or export file built with one version of the DAC Framework can be processed by any later version of the DAC Framework. 예를 들어 SQL Server 2008 R2SQL Server 2008 R2 클라이언트 도구를 사용하여 추출한 DAC 패키지는 SQL Server 2008 R2SQL Server 2008 R2 SP1 이상의 클라이언트 도구를 사용하여 배포할 수 없습니다.For example, a DAC package extracted using the SQL Server 2008 R2SQL Server 2008 R2 client tools can be deployed using either the SQL Server 2008 R2SQL Server 2008 R2 SP1 or higher client tools.

데이터 배포 제한 사항 Data Deployment Limitations

SQL Server 2012 SP1에서 DAC Framework 데이터 배포 엔진의 정확도 제한 사항에 유의하세요.Note these fidelity limitations in the DAC Framework data deployment engine in SQL Server 2012 SP1. 제한 사항은 .dacpac 파일 배포 또는 게시, .bacpac 파일 가져오기 등의 DAC Framework 작업에 적용됩니다.The limitations apply to the following DAC Framework actions: deploy or publish a .dacpac file, and import a .bacpac file.

  1. sql_variant 열 내에서 특정 조건 및 기본 형식의 메타데이터 손실Loss of metadata for certain conditions and base types within sql_variant columns. 영향을 받는 경우 다음 메시지와 함께 경고가 나타납니다. DAC Framework에서 배포될 때 sql_variant 열 내에 사용된 특정 데이터 형식의 특정 속성은 유지되지 않습니다.In the affected cases, you will see a warning with the following message: Certain properties on certain data types used within a sql_variant column are not preserved when deployed by the DAC Framework.

    • MONEY, SMALLMONEY, NUMERIC, DECIMAL 기본 형식: 전체 자릿수는 유지되지 않습니다.MONEY, SMALLMONEY, NUMERIC, DECIMAL base types: Precision is not preserved.

      • 전체 자릿수가 38인 DECIMAL/NUMERIC 기본 형식: “TotalBytes” sql_variant 메타데이터는 항상 21로 설정됩니다.DECIMAL/NUMERIC base types with precision 38: the “TotalBytes” sql_variant metadata is always set to 21.
    • 모든 텍스트 기본 형식: 데이터베이스 기본 데이터 정렬은 모든 텍스트에 적용됩니다.All text base types: The database default collation is applied for all text.

    • BINARY 기본 형식: 최대 길이 속성은 유지되지 않습니다.BINARY base types: Max length property is not preserved.

    • TIME, DATETIMEOFFSET 기본 형식: 전체 자릿수는 항상 7로 설정됩니다.TIME, DATETIMEOFFSET base types: Precision is always set to 7.

  2. Sql_variant 열 내의 데이터 손실Loss of data within sql_variant columns. 영향을 받는 경우 다음 메시지와 함께 경고가 나타납니다. 소수 자릿수가 3보다 큰 sql_variant DATETIME2 열의 값이 DAC Framework에서 배포되면 데이터가 손실됩니다. 배포하는 동안 DATETIME2 값은 소수 자릿수가 3과 같도록 제한됩니다.In the affected case, you will see a warning with the following message: There will be data loss when a value in a sql_variant DATETIME2 column with scale greater than 3 is deployed by the DAC Framework. The DATETIME2 value is limited to a scale equal to 3 during deployment.

    • 소수 자릿수가 3보다 큰 DATETIME2 기본 형식: 소수 자릿수는 3으로 제한됩니다.DATETIME2 base type with scale greater than 3: scale is limited to equal 3.
  3. Sql_variant 열 내에서 다음 조건에 대한 배포 작업은 실패합니다.Deployment operation fails for the following conditions within sql_variant columns. 영향을 받는 경우 다음 메시지와 함께 대화 상자가 나타납니다. DAC Framework의 데이터 제한으로 인해 작업을 수행하지 못했습니다.In the affected cases, you will see a dialog with the following message: Operation failed due to data limitations in the DAC Framework.

    • DATETIME2, SMALLDATETIME 및 DATE 기본 형식: 값이 DATETIME 외 범위인 경우(예: 연도가 1753 미만인 경우)DATETIME2, SMALLDATETIME and DATE base types: If the value is outside of DATETIME range – for example, the year is less than 1753.

    • DECIMAL, NUMERIC 기본 형식: 값의 전체 자릿수가 28보다 큰 경우DECIMAL, NUMERIC base type: when precision of the value is greater than 28.

배포 작업에 대한 추가 고려 사항 Additional Considerations for Deployment Actions

DAC Framework 데이터 배포 작업에 대한 다음 고려 사항에 유의하세요.Note the following considerations for DAC Framework data deployment actions:

  • 추출/내보내기 - DAC Framework를 사용하여 데이터베이스에서 패키지를 만드는 작업(예: .dacpac 파일 추출, .bacpac 파일 내보내기 등)에서는 이러한 제한이 적용되지 않습니다.Extract/Export - On actions that use the DAC Framework to create a package from a database – for example, extract a .dacpac file, export a .bacpac file - these limitations do not apply. 패키지의 데이터는 원본 데이터베이스에서 데이터의 전체 정확도 표현입니다.The data in the package is a full-fidelity representation of the data in the source database. 패키지에 이러한 조건 중 하나라도 있는 경우 추출/내보내기 로그에는 위에서 설명한 메시지를 통한 문제 요약이 포함됩니다.If any of these conditions are present in the package, the extract/export log will contain a summary of the issues via the messages noted above. 이것은 그들이 만든 패키지의 잠재적인 데이터 배포 문제에 대해 사용자에게 경고하기 위한 것입니다.This is to warn the user of potential data deployment issues with the package they created. 사용자는 로그에서 다음과 같은 요약 메시지를 확인할 수도 있습니다. 이러한 제한은 데이터 형식 및 DAC Framework에서 만든 DAC 패키지에 저장된 값의 정확도에 영향을 미치지 않고, DAC 패키지를 데이터베이스에 배포한 결과 발생한 데이터 유형 및 값에만 적용됩니다. 영향 받는 데이터 및 이 제한을 해결하는 방법은 다음 항목을 참조하세요.The user will also see the following summary message in the log: These limitations do not affect the fidelity of the data types and values stored in the DAC package created by the DAC Framework; they only apply to the data types and values resulting from deploying a DAC package to a database. For more information about the data that is affected and how to work around this limitation, seethis topic.

  • 배포/게시/가져오기 - DAC Framework를 사용하여 패키지를 데이터베이스에 배포하는 작업(예: .dacpac 파일 배포 또는 게시, .bacpac 파일 가져오기 등)에서는 이러한 제한이 적용됩니다.Deploy/Publish/Import - On actions that use the DAC Framework to deploy a package to a database, like to deploy or publish a .dacpac file, and import a .bacpac file, these limitations do apply. 대상 데이터베이스를 만드는 데이터에 패키지에 있는 데이터의 전체 정확도 표현이 포함되지 않을 수 있습니다.The data that results in the target database may not contain a full-fidelity representation of the data in the package. 배포/가져오기 로그에는 문제가 발생한 모든 인스턴스에 대해 위에서 언급한 메시지가 포함됩니다.The Deploy/Import log will contain a message, noted above, for every instance the issue is encountered. 오류로 인해 작업은 차단되지만(위의 범주 3 참조) 다른 경고와 함께 계속됩니다.The operation will be blocked by errors – see category 3 above - but will proceed with the other warnings.

    이 시나리오에서 영향을 받는 데이터와 배포/게시/가져오기 작업에 대한 이 제한 사항을 해결하는 방법은 다음 항목을 참조하세요.For more information about the data that is affected in this scenario and how to work around this limitation for deploy/publish/import actions, see this topic.

  • 해결 방법 - 추출 및 내보내기 작업에서는 전체 정확도 BCP 데이터 파일을 .dacpac 또는 .bacpac 파일에 기록합니다.Workarounds – Extract and export operations will write full-fidelity BCP data files into the .dacpac or .bacpac files. 제한 사항을 피하려면 SQL Server BCP.exe 명령 줄 유틸리티를 사용하여 DAC 패키지에서 대상 데이터베이스로 전체 정확도 데이터를 배포합니다.To avoid limitations, use the SQL Server BCP.exe command line utility to deploy full-fidelity data to a target database from a DAC package.

참고 항목See Also

데이터 계층 응용 프로그램Data-tier Applications