Freigeben über


Anforderungen und Einschränkungen für XML-Schemasammlungen auf dem Server

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

Die Überprüfung mit der XML-Schemadefinitionssprache (XSD) weist einige Einschränkungen für SQL-Spalten auf, die den xml -Datentyp verwenden. Die folgende Tabelle enthält Einzelheiten zu diesen Einschränkungen sowie Richtlinien zum Ändern des XSD-Schemas für die Nutzung mit SQL Server. Die Artikel in diesem Abschnitt liefern zusätzliche Informationen über bestimmte Einschränkungen sowie Hilfestellung zur Arbeit mit ihnen.

Artikel Einschränkung
minOccurs und maxOccurs Die Werte für minOccurs - und maxOccurs -Attribute müssen in ganze 4-Byte-Zahlen passen. Schemas, die diese Bedingung nicht erfüllen, werden vom Server abgelehnt.
<xsd:choice> SQL Server lehnt Schemas ab, die einen <xsd:choice>-Partikel ohne untergeordnete Elemente besitzen, es sei denn, der Partikel ist mit dem minOccurs-Attributwert Null definiert.
<xsd:include> Zurzeit unterstützt SQL Server dieses Element nicht. XML-Schemas, die dieses Element enthalten, werden vom Server zurückgewiesen.

Als Lösung können XML-Schemas, die die <xsd:include>-Anweisung enthalten, so vorverarbeitet werden, dass die Inhalte aller enthaltenen Schemas kopiert und für den Upload auf den Server in einem einzigen Schema zusammengeführt werden. Weitere Informationen finden Sie unter Vorverarbeiten eines Schemas zum Zusammenführen eingeschlossener Schemas.
<xsd:key>, <xsd:keyref> und <xsd:unique> Zurzeit unterstützt SQL Server diese XSD-basierten Einschränkungen zum Erzwingen der Eindeutigkeit oder zum Einrichten von Schlüsseln oder Schlüsselverweisen nicht. XML-Schemas, die diese Elemente enthalten, können nicht registriert werden.
<xsd:redefine> SQL Server unterstützt dieses Element nicht. Informationen über eine andere Möglichkeit, Schemas zu aktualisieren, finden Sie unter Das Element <xsd:redefine>.
Werte für <xsd:simpleType> SQL Server unterstützt Millisekundengenauigkeit nur für einfache Typen, die Sekundenkomponenten besitzen – mit Ausnahme von xs:time und xs:dateTime –, sowie eine Genauigkeit von 100 Nanosekunden für xs:time und xs:dateTime. SQL Server legt Einschränkungen für alle Enumerationen erkannter einfacher XSD-Typen fest.

Die Nutzung des Werts „NaN“ in <xsd:simpleType>-Deklarationen wird von SQL Server nicht unterstützt.

Weitere Informationen finden Sie unter Werte für <xsd:simpleType>-Deklarationen.
xsi:schemaLocation und xsi:noNamespaceSchemaLocation SQL Server ignoriert diese Attribute, wenn sie in den XML-Instanzdaten vorhanden sind, die in eine Spalte oder Variable des xml-Datentyps eingefügt werden.
xs:QName SQL Server unterstützt keine von xs:QName abgeleiteten Typen, die ein Beschränkungselement des XML-Schemas verwenden.

SQL Server unterstützt keine Union-Typen mit xs:QName als Member-Element.

Weitere Informationen finden Sie unter Der xs:QName-Typ.
Hinzufügen von Elementen zu einer vorhandenen Ersetzungsgruppe Das Hinzufügen von Membern zu einer vorhandenen Ersetzungsgruppe in einer XML-Schemasammlung wird nicht unterstützt. Eine Ersetzungsgruppe in einem XML-Schema ist insofern eingeschränkt, als das Headelement und alle seine Member-Elemente in der gleichen {CREATE | ALTER} XML SCHEMA COLLECTION-Anweisung definiert werden müssen.
Kanonische Formen und Musterbeschränkungen Die kanonische Darstellung eines Werts darf die Musterbeschränkung für seinen Typ nicht verletzen. Weitere Informationen finden Sie unter Kanonische Formen und Musterbeschränkungen.
Enumerationsfacets SQL Server unterstützt keine XML-Schemas mit Typen, die Musterfacetten aufweisen, oder Enumerationen, die diese Facetten verletzen.
Facetlänge Die Facets length, minLengthund maxLength werden als long -Datentyp gespeichert. Dieser Datentyp ist ein 32-Bit-Typ. Der Bereich der zulässigen Werte ist daher 2^31.
ID-Attribut Jede XML-Schemakomponente kann über ein ID-Attribut verfügen. SQL Server erzwingt die Eindeutigkeit für <xsd:attribute>-Deklarationen des ID-Typs, speichert die Werte aber nicht. Der Bereich für das Erzwingen der Eindeutigkeit wird durch die Anweisung {CREATE | ALTER} XML SCHEMA COLLECTION festgelegt.
ID-Datentyp SQL Server unterstützt keine Elemente vom Typ xs:ID, xs:IDREF oder xs:IDREFS. Ein Schema darf keine Elemente dieses Typs oder durch Beschränkung oder Erweiterung von diesem Typ abgeleitete Elemente deklarieren.
Lokaler Namespace Der lokale Namespace muss für das Element <xsd:any> explizit angegeben werden. SQL Server lehnt Schemas ab, die eine leere Zeichenfolge ("") als Wert für das Namespace-Attribut verwenden. SQL Server verlangt die ausdrückliche Verwendung von "##local" für die Angabe, dass ein nicht qualifiziertes Element oder Attribut als Instanz des Platzhalterzeichens verwendet wird.
Mixed-Datentyp und simple-Inhalt SQL Server unterstützt das Beschränken eines mixed-Datentyps auf simple-Inhalt nicht. Weitere Informationen finden Sie unter Mixed-Datentyp und simple-Inhalt.
NOTATION-Datentyp SQL Server unterstützt den NOTATION-Typ nicht.
Bedingungen des Typs Nicht genügend Arbeitsspeicher Wenn Sie mit großen XML-Schemasammlungen arbeiten, kann es vorkommen, dass nicht genügend Arbeitsspeicher verfügbar ist. Lösungen für dieses Problem finden Sie unter Große XML-Schemasammlungen und Bedingungen des Typs „Nicht genügend Arbeitsspeicher“.
Wiederholte Werte SQL Server lehnt Schemas ab, in denen das block- oder final-Attribut wiederholte Werte aufweist, z. B. „restriction restriction“ oder „extension extension“.
Schemakomponentenbezeichner SQL Server beschränkt Bezeichner von Schemakomponenten auf eine maximale Länge von 1000 Unicode-Zeichen. Außerdem werden keine Ersatzzeichenpaare mit Bezeichnern unterstützt.
Zeitzoneninformation In SQL Server 2008 (10.0.x) und höheren Versionen werden Zeitzoneninformationen für xs:date-, xs:time- und xs:dateTime-Werte zur XML-Schemaüberprüfung voll unterstützt. Im Abwärtskompatibilitätsmodus für SQL Server 2005 (9.x) werden Zeitzoneninformationen immer zu koordinierter Weltzeit (Greenwich Mean Time) normalisiert. Für Elemente des dateTime -Datentyps konvertiert der Server die bereitgestellte Zeit mithilfe des Offsetwerts (-05:00) in GMT und gibt die entsprechende GMT-Zeit zurück.
Union-Datentypen SQL Server unterstützt keine Einschränkungen aus Union-Typen.
Variable Genauigkeitsdezimalwerte SQL Server unterstützt keine variablen Genauigkeitsdezimalwerte. Der xs:decimal -Datentyp stellt Dezimalzahlen mit variabler Genauigkeit dar. Für minimal konforme XML-Prozessoren müssen Dezimalzahlen mit mindestens totalDigits=18unterstützt werden. SQL Server unterstützt totalDigits=38,, die Dezimalstellen sind jedoch auf 10 beschränkt. Alle durch xs:decimal instanziierten Werte werden intern durch den Server mithilfe des SQL-Datentyps „numeric (38, 10)“ dargestellt.

Nächste Schritte

Siehe auch