Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Datenebenenanwendung (Data Tier Application, DAC) unterstützt die am häufigsten verwendeten Datenbank-Engine-Objekte.
In diesem Thema
Unterstützte SQL Server-Objekte
Beim Erstellen oder Bearbeiten einer Datenebenenanwendung können nur unterstützte Objekte angegeben werden. 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. SQL Server 2014 unterstützt die folgenden Objekte in einem DAC.
| DATENBANKROLLE | FUNCTION: Inline-Tabellenwertfunktion |
| FUNCTION: Tabellenwertfunktion mit mehreren Anweisungen | FUNCTION: Skalar |
| INDEX: Gruppiert | INDEX: Nicht gruppiert |
| INDEX: Räumlich | INDEX: Eindeutig |
| EINLOGGEN | Berechtigungen |
| Rollenmitgliedschaften | SCHEMA |
| Statistik | GESPEICHERTE PROZEDUR: Transact-SQL |
| Synonyme | TABLE: CHECK-Einschränkung |
| TABLE: Sortierung | TABLE: Spalte, einschließlich berechneter Spalten |
| TABLE: Einschränkung, Standard | TABLE: Einschränkung, Fremdschlüssel |
| TABLE: Einschränkung, Index | TABLE: Einschränkung, Primärschlüssel |
| TABLE: Einschränkung, Eindeutig | TRIGGER: DML |
| TYP: HIERARCHYID, GEOMETRY, GEOGRAPHY | TYPE: Benutzerdefinierter Datentyp |
| TYPE: Benutzerdefinierter Tabellentyp | BENUTZER |
| ANSEHEN |
Unterstützung von Datenebenenanwendungen durch die Versionen von SQL Server
Die Versionen von SQL Server weisen unterschiedliche Unterstützungsebenen für DAC-Vorgänge auf. Alle von einer SQL Server-Version unterstützten DAC-Vorgänge werden von allen Editionen dieser Version unterstützt.
Instanzen der Datenbank-Engine unterstützen die folgenden DAC-Vorgänge:
Export und Extrakt werden in allen unterstützten Versionen von SQL Server unterstützt.
Alle Vorgänge werden für Azure SQL-Datenbank und alle Versionen von SQL Server 2014, SQL Server 2012 und SQL Server 2008 R2 unterstützt.
Alle Vorgänge werden in SQL Server 2008 Service Pack 2 (SP2) oder höher und SQL Server 2005 SP4 oder höher unterstützt.
Das DAC-Framework umfasst die clientseitigen Tools zum Erstellen und Verarbeiten von DAC-Paketen und Exportdateien. Das DAC-Framework ist in den folgenden Produkten enthalten:
SQL Server 2014 und SQL Server 2012 umfassen DAC Framework 3.0, das alle DAC-Vorgänge unterstützt.
SQL Server 2008 R2 SP1 und Visual Studio 2010 SP1 enthalten DAC Framework 1.1, das alle DAC-Vorgänge außer Export und Import unterstützt.
SQL Server 2008 R2 und Visual Studio 2010 enthalten DAC Framework 1.0, das alle DAC-Vorgänge außer Export, Import und direktem Upgrade unterstützt.
Die Clienttools früherer Versionen von SQL Server oder Visual Studio unterstützen keine DAC-Vorgänge.
Mit einer Version des DAC-Frameworks erstellte DAC-Pakete und Exportdateien können nicht von früheren Versionen des DAC-Frameworks verarbeitet werden. Beispielsweise kann ein DAC-Paket, das mithilfe der SQL Server 2014-Clienttools extrahiert wurde, nicht mithilfe der SQL Server 2008 R2-Clienttools bereitgestellt werden.
Mit einer Version des DAC-Frameworks erstellte DAC-Pakete und Exportdateien können von allen höheren Versionen des DAC-Frameworks verarbeitet werden. Beispielsweise kann ein DAC-Paket, das mithilfe der SQL Server 2008 R2-Clienttools extrahiert wird, entweder mithilfe der SQL Server 2008 R2 SP1- oder höher-Clienttools bereitgestellt werden.
Beschränkungen für die Datenbereitstellung
Beachten Sie diese Genauigkeitseinschränkungen in der DAC Framework-Datenbereitstellungs-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.
Verlust von Metadaten unter bestimmten Bedingungen und für bestimmte Basistypen innerhalb von sql_variant-Spalten. In den jeweiligen Fällen wird eine Warnung mit folgendem Inhalt angezeigt: Bestimmte Eigenschaften für spezifische Datentypen, die innerhalb einer sql_variant-Spalte verwendet werden, werden bei der Bereitstellung durch das DAC-Framework nicht beibehalten.
Basistypen MONEY, SMALLMONEY, NUMERIC, DECIMAL: Die Genauigkeit wird nicht beibehalten.
- Basistypen DECIMAL/NUMERIC mit der Genauigkeit 38: Die sql_variant-Metadaten für „TotalBytes“ sind immer auf 21 festgelegt.
Alle Textbasistypen. Die Standardsortierung der Datenbank wird auf sämtlichen Text angewendet.
BINARY-Datentypen: Die MaxLength-Eigenschaft wird nicht beibehalten.
Basistypen TIME, DATETIMEOFFSET: Die Genauigkeit ist immer auf 7 festgelegt.
Verlust von Daten innerhalb von sql_variant-Spalten. In den jeweiligen Fällen wird eine Warnung mit folgendem Inhalt 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.
- Basistyp DATETIME2 mit mehr als drei Dezimalstellen: Die Anzahl der Dezimalstellen ist auf 3 beschränkt.
Der Bereitstellungsvorgang schlägt unter den folgenden Bedingungen innerhalb von sql_variant-Spalten fehl. In den betreffenden Fällen wird ein Dialogfeld mit folgender Meldung angezeigt: Fehler beim Vorgang aufgrund von Datenbeschränkungen in DAC-Framework.
Basistypen DATETIME2, SMALLDATETIME und DATE: Wenn der Wert außerhalb des DATETIME-Bereichs liegt; die Jahresangabe ist z. B. kleiner als 1753.
Basistypen DECIMAL, NUMERIC: Wenn die Genauigkeit des Werts größer als 28 ist.
Zusätzliche Überlegungen zu Bereitstellungsaktionen
Beachten Sie Folgendes bei DAC-Framework-Datenbereitstellungsaktionen:
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. Die im Paket enthaltenen Daten zeichnen sich durch vollständige Datentreue mit den Daten in der Quelldatenbank aus. Falls eine dieser Bedingungen im Paket vorliegt, enthält das Extrahierungs-/Exportprotokoll eine Zusammenfassung der Probleme anhand der oben beschriebenen Meldungen. Das soll den Benutzer vor möglichen Problemen mit der Datenbereitstellung warnen, die beim erstellten Paket auftreten können. Der Benutzer sieht auch die folgende Zusammenfassungsmeldung im Protokoll: Diese Einschränkungen wirken sich nicht auf die Genauigkeit der Datentypen und Werte aus, die im vom DAC Framework erstellten DAC-Paket gespeichert sind. Sie gelten nur für die Datentypen und Werte, die sich aus der Bereitstellung eines DAC-Pakets in einer Datenbank ergeben. Weitere Informationen zu den betroffenen Daten und zur Umgehung dieser Einschränkung finden Sie indiesem Thema.
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. Die Daten in der Zieldatenbank entsprechen möglicherweise keiner vollständig datentreuen Ausgabe der im Paket enthaltenen Daten. Das Bereitstellungs-/Importprotokoll enthält für jede Instanz, auf der das Problem auftritt, die oben angegebene Meldung. Der Vorgang wird zwar durch Fehler blockiert (siehe Kategorie 3 oben), anschließend jedoch mit den übrigen Warnungen fortgesetzt.
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.
Problemumgehungen : Durch Extrahierungs- und Exportvorgänge werden BCP-Datendateien mit vollständiger Datentreue in die DACPAC- oder BACPAC-Datei geschrieben. 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.