DAC-Unterstützung für SQL Server-Objekte und -VersionenDAC Support For SQL Server Objects and Versions

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Eine Datenebenenanwendung (DAC) unterstützt die am häufigsten verwendeten Datenbank-EngineDatabase Engine -Objekte.A data-tier application (DAC) supports the most commonly used Datenbank-EngineDatabase Engine objects.

In diesem ThemaIn This Topic

Wichtig

Dieser Artikel gilt für SQL Server 2012, aber nicht für SQL Server 2014 und höher.This article is valid for SQL Server 2012, but not for SQL Server 2014 or later. DAC-Artikel zu SQL 2012 und früheren Versionen finden Sie unter den folgenden Links:For DAC articles about SQL 2012 and earlier, see the following links:

Unterstützte SQL Server-ObjekteSupported SQL Server Objects

Beim Erstellen oder Bearbeiten einer Datenebenenanwendung können nur unterstützte Objekte angegeben werden.Only supported objects can be specified in a data-tier application as it is being authored or edited. Sie können keine DACs aus einer bestehenden Datenbank mit Objekten extrahieren, bei dieser registrieren oder in diese importieren, die in einer DAC nicht unterstützt werden.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 unterstützt in einer DAC die im Folgenden aufgeführten Objekte.supports the following objects in a DAC.

DATABASE ROLEDATABASE ROLE FUNCTION: Inline-TabellenwertfunktionFUNCTION: Inline Table-valued
FUNCTION: Tabellenwertfunktion mit mehreren AnweisungenFUNCTION: Multistatement Table-valued FUNCTION: SkalarwertFUNCTION: Scalar
INDEX: GruppiertINDEX: Clustered INDEX: nicht gruppiertINDEX: Non-clustered
INDEX: RäumlichINDEX: Spacial INDEX: EindeutigINDEX: Unique
AnmeldungLOGIN BerechtigungenPermissions
RollenmitgliedschaftenRole Memberships SCHEMASCHEMA
StatistikStatistics STORED PROCEDURE: Transact-SQLSTORED PROCEDURE: Transact-SQL
SynonymeSynonyms TABLE: CHECK-EinschränkungTABLE: Check Constraint
TABLE: SortierungTABLE: Collation TABLE: Spalte, einschließlich berechneter SpaltenTABLE: Column, including computed columns
TABLE: Einschränkung, StandardTABLE: Constraint, Default TABLE: Einschränkung, FremdschlüsselTABLE: Constraint, Foreign Key
TABLE: Einschränkung, IndexTABLE: Constraint, Index TABLE: Einschränkung, PrimärschlüsselTABLE: Constraint, Primary Key
TABLE: Einschränkung, EindeutigTABLE: Constraint, Unique TRIGGER: DMLTRIGGER: DML
TYPE: HIERARCHYID, GEOMETRY, GEOGRAPHYTYPE: HIERARCHYID, GEOMETRY, GEOGRAPHY TYPE: benutzerdefinierter DatentypTYPE: User-defined Data Type
TYPE: benutzerdefinierter TabellentypTYPE: User-defined Table Type BenutzerUSER
VIEWVIEW

Unterstützung von Datenebenenanwendungen durch die Versionen von SQL ServerData-tier Application Support by the Versions of SQL Server

Die Versionen von SQL ServerSQL Server bieten verschiedene Ebenen der Unterstützung für DAC-Vorgänge.The versions of SQL ServerSQL Server have different levels of support for DAC operations. Alle DAC-Vorgänge, die von einer Version von SQL ServerSQL Server unterstützt werden, werden von allen Editionen dieser Version unterstützt.All of the DAC operations supported by a version of SQL ServerSQL Server are supported by all editions of that version.

Instanzen von Datenbank-EngineDatabase Engine unterstützen die folgenden DAC-Vorgänge:Instances of the Datenbank-EngineDatabase Engine support the following DAC operations:

  • Export und Extrahierung werden von allen unterstützten SQL ServerSQL Server-Versionen unterstützt.Export and extract are supported on all supported versions of SQL ServerSQL Server.

  • Alle Vorgänge werden von Azure SQL-DatenbankAzure SQL Database und allen Versionen von SQL Server 2014 (12.x)SQL Server 2014 (12.x), SQL Server 2012 (11.x)SQL Server 2012 (11.x)und SQL Server 2008 R2SQL Server 2008 R2unterstützt.All operations are supported on Azure SQL-DatenbankAzure SQL Database and all versions of SQL Server 2014 (12.x)SQL Server 2014 (12.x), SQL Server 2012 (11.x)SQL Server 2012 (11.x), and SQL Server 2008 R2SQL Server 2008 R2.

  • Alle Vorgänge werden von SQL Server 2008SQL Server 2008 Service Pack 2 (SP2) oder höher und SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP4 oder höher unterstützt.All operations are supported on SQL Server 2008SQL Server 2008 Service Pack 2 (SP2) or later, and SQL Server 2005 (9.x)SQL Server 2005 (9.x) SP4 or later.

Das DAC-Framework umfasst die clientseitigen Tools zum Erstellen und Verarbeiten von DAC-Paketen und Exportdateien.The DAC Framework comprises the client-side tools for building and processing DAC packages and export files. Das DAC-Framework ist in den folgenden Produkten enthalten:The following products include the DAC Framework

  • SQL Server 2014 (12.x)SQL Server 2014 (12.x) und SQL Server 2012 (11.x)SQL Server 2012 (11.x) umfassen DAC Framework 3.0, das alle DAC-Vorgänge unterstützt.and SQL Server 2012 (11.x)SQL Server 2012 (11.x) includes DAC Framework 3.0, which supports all DAC operations.

  • SQL Server 2008 R2SQL Server 2008 R2 SP1 und Visual Studio 2010 SP1 umfassten DAC-Framework 1.1, das alle DAC-Vorgänge mit Ausnahme des Exports und Imports unterstützt.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 und Visual Studio 2010 umfassen DAC Framework 1.0, das alle DAC-Vorgänge außer Export, Import und direkte Upgrades unterstützt.and Visual Studio 2010 included DAC Framework 1.0, which supports all DAC operations except export, import, and in-place upgrade.

  • Die Clienttools früherer Versionen von SQL Server oder Visual Studio unterstützen keine DAC-Vorgänge.The client tools from earlier versions of SQL Server or Visual Studio do not support DAC operations.

Mit einer Version des DAC-Frameworks erstellte DAC-Pakete und Exportdateien können nicht von früheren Versionen des DAC-Frameworks verarbeitet werden.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. Beispielsweise kann ein DAC-Paket, das mit den SQL Server 2014 (12.x)SQL Server 2014 (12.x) -Clienttools extrahiert wurde, nicht mithilfe der SQL Server 2008 R2SQL Server 2008 R2 -Clienttools bereitgestellt werden.For example, a DAC package extracted using the SQL Server 2014 (12.x)SQL Server 2014 (12.x) client tools cannot be deployed using the SQL Server 2008 R2SQL Server 2008 R2 client tools.

Mit einer Version des DAC-Frameworks erstellte DAC-Pakete und Exportdateien können von allen höheren Versionen des DAC-Frameworks verarbeitet werden.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. Beispielsweise kann ein DAC-Paket, das mit den SQL Server 2008 R2SQL Server 2008 R2 -Clienttools extrahiert wurde, mit den Clienttools von SQL Server 2008 R2SQL Server 2008 R2 SP1 oder höher bereitgestellt werden.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.

Beschränkungen für die DatenbereitstellungData Deployment Limitations

Beachten Sie diese Genauigkeitseinschränkungen in der DAC Framework-Datenbereitstellungs-Engine in SQL Server 2012 SP1.Note these fidelity limitations in the DAC Framework data deployment engine in SQL Server 2012 SP1. Die Beschränkungen gelten für die folgenden DAC-Framework-Aktionen: Bereitstellen oder Veröffentlichen einer DACPAC-Datei und Importieren einer BACPAC-Datei.The limitations apply to the following DAC Framework actions: deploy or publish a .dacpac file, and import a .bacpac file.

  1. Verlust von Metadaten unter bestimmten Bedingungen und für bestimmte Basistypen innerhalb von sql_variant-Spalten.Loss of metadata for certain conditions and base types within sql_variant columns. In betroffenen Fällen wird eine Warnung mit der folgenden Meldung angezeigt: Bestimmte Eigenschaften für spezifische Datentypen, die innerhalb einer sql_variant-Spalte verwendet werden, werden bei der Bereitstellung durch DAC-Framework nicht beibehalten.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.

    • Basistypen MONEY, SMALLMONEY, NUMERIC und DECIMAL: Genauigkeit wird nicht beibehalten.MONEY, SMALLMONEY, NUMERIC, DECIMAL base types: Precision is not preserved.

      • Basistypen DECIMAL/NUMERIC mit der Genauigkeit 38: Die sql_variant-Metadaten für „TotalBytes“ sind immer auf 21 festgelegt.DECIMAL/NUMERIC base types with precision 38: the "TotalBytes" sql_variant metadata is always set to 21.
    • Alle Textbasistypen: Die Standardsortierung der Datenbank wird auf sämtlichen Text angewendet.All text base types: The database default collation is applied for all text.

    • BINARY-Basistypen: Die MaxLength-Eigenschaft wird nicht beibehalten.BINARY base types: Max length property is not preserved.

    • Basistypen TIME und DATETIMEOFFSET: Genauigkeit wird immer auf „7“ festgelegt.TIME, DATETIMEOFFSET base types: Precision is always set to 7.

  2. Verlust von Daten innerhalb von sql_variant-Spalten.Loss of data within sql_variant columns. Wenn betroffen, wird eine Warnung mit der folgenden Meldung angezeigt: Wenn DAC-Framework in einer sql_variant-Spalte einen DATETIME2-Wert mit mehr als drei Dezimalstellen bereitstellt, tritt ein Datenverlust auf. Der DATETIME2-Wert ist während der Bereitstellung auf drei Dezimalstellen begrenzt.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.

    • Basistyp DATETIME2 mit mehr als drei Dezimalstellen: Die Anzahl der Dezimalstellen ist auf 3 beschränkt.DATETIME2 base type with scale greater than 3: scale is limited to equal 3.
  3. Der Bereitstellungsvorgang schlägt unter den folgenden Bedingungen innerhalb von sql_variant-Spalten fehl.Deployment operation fails for the following conditions within sql_variant columns. In betroffenen Fällen wird ein Dialogfeld mit der folgenden Meldung angezeigt: Operation failed due to data limitations in the DAC Framework. (Der Vorgang ist aufgrund von Datenbeschränkungen im DAC-Framework fehlgeschlagen.)In the affected cases, you will see a dialog with the following message: Operation failed due to data limitations in the DAC Framework.

    • Basistypen DATETIME2, SMALLDATETIME und DATE: Wenn der Wert außerhalb des DATETIME-Bereichs liegt, z. B., wenn die Jahresangabe unter 1753 liegt.DATETIME2, SMALLDATETIME and DATE base types: If the value is outside of DATETIME range - for example, the year is less than 1753.

    • Basistypen DECIMAL, NUMERIC: Wenn die Genauigkeit des Werts größer als 28 ist.DECIMAL, NUMERIC base type: when precision of the value is greater than 28.

Zusätzliche Überlegungen zu BereitstellungsaktionenAdditional Considerations for Deployment Actions

Beachten Sie Folgendes bei DAC-Framework-Datenbereitstellungsaktionen:Note the following considerations for DAC Framework data deployment actions:

  • Extrahieren/Exportieren : Für Aktionen, bei denen mithilfe des DAC-Frameworks ein Paket auf Grundlage einer Datenbank erstellt wird – z. B. Extrahieren einer DACPAC-Datei und Exportieren einer BACPAC-Datei –, gelten diese Beschränkungen nicht.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. Die im Paket enthaltenen Daten zeichnen sich durch vollständige Datentreue mit den Daten in der Quelldatenbank aus.The data in the package is a full-fidelity representation of the data in the source database. Falls eine dieser Bedingungen im Paket vorliegt, enthält das Extrahierungs-/Exportprotokoll eine Zusammenfassung der Probleme anhand der oben beschriebenen Meldungen.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. Das soll den Benutzer vor möglichen Problemen mit der Datenbereitstellung warnen, die beim erstellten Paket auftreten können.This is to warn the user of potential data deployment issues with the package they created. Dem Benutzer wird außerdem die folgende Zusammenfassungsmeldung im Protokoll angezeigt: Die Genauigkeit der Datentypen und Werte, die in dem von DAC-Framework erstellten DAC-Paket gespeichert sind, wird durch diese Einschränkungen nicht beeinträchtigt; die Einschränkungen gelten nur für die Datentypen und Werte, die sich aus der Bereitstellung eines DAC-Pakets auf einer Datenbank ergeben. Weitere Informationen zu den betroffenen Daten und eine Problemumgehung dieser Beschränkung finden Sie in diesem Thema.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.

  • Bereitstellen/Veröffentlichen/Importieren: Für Aktionen, bei denen mithilfe des DAC-Frameworks ein Paket in einer Datenbank bereitgestellt wird – z.B. Bereitstellen oder Veröffentlichen einer DACPAC-Datei und Importieren einer BACPAC-Datei – sind diese Beschränkungen gültig.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. Die Daten in der Zieldatenbank entsprechen möglicherweise keiner vollständig datentreuen Ausgabe der im Paket enthaltenen Daten.The data that results in the target database may not contain a full-fidelity representation of the data in the package. Das Bereitstellungs-/Importprotokoll enthält für jede Instanz, auf der das Problem auftritt, die oben angegebene Meldung.The Deploy/Import log will contain a message, noted above, for every instance the issue is encountered. Der Vorgang wird zwar durch Fehler blockiert (siehe Kategorie 3 oben), anschließend jedoch mit den übrigen Warnungen fortgesetzt.The operation will be blocked by errors - see category 3 above - but will proceed with the other warnings.

    Weitere Informationen zu den von diesem Szenario betroffenen Daten und eine Problemumgehung dieser Beschränkung für Bereitstellungs-/Veröffentlichungs-/Importaktionen finden Sie in diesem Thema.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.

  • Problemumgehungen : Durch Extrahierungs- und Exportvorgänge werden BCP-Datendateien mit vollständiger Datentreue in die DACPAC- oder BACPAC-Datei geschrieben.Workarounds - Extract and export operations will write full-fidelity BCP data files into the .dacpac or .bacpac files. Zur Umgehung von Beschränkungen verwenden Sie das SQL Server-Befehlszeilenhilfsprogramm BCP.exe, um eine vollständig datentreue Version der Daten aus einem DAC-Paket in einer Zieldatenbank bereitzustellen.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.

Weitere InformationenSee Also

DatenebenenanwendungenData-tier Applications