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

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 liefert Einzelheiten zu diesen Einschränkungen und stellt außerdem Richtlinien zum Ändern des XSD-Schemas für die Verwendung mit SQL Serverbereit. Die Themen in diesem Abschnitt enthalten zusätzliche Informationen über bestimmte Einschränkungen sowie eine Anleitung zur Arbeit mit ihnen.

Element 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 zurückgewiesen.
<xsd:choice> SQL Server lehnt Schemas ab, die ein <xsd:choice-Partikel> ohne untergeordnete Elemente aufweisen, es sei denn, das Partikel wird mit dem minOccurs-Attributwert 0 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-Direktive> enthalten, vorverarbeitet werden, um den Inhalt aller eingeschlossenen Schemas in ein einzelnes Schema zum Hochladen auf den Server zu kopieren und zusammenzuführen. 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 dieses Element nicht. Informationen zu einer anderen Möglichkeit zum Aktualisieren von Schemas finden Sie unter Das <xsd:redefine-Element>.
<xsd:simpleType-Werte> SQL Server unterstützt nur Millisekundengenauigkeit für einfache Typen, die über andere Komponenten als xs:time und xs:dateTimeverfügen, und eine Genauigkeit von 100 Nanosekunden für xs:time und xs:dateTime. SQL Server legt Einschränkungen für alle erkannten XSD-Enumerationen des einfachen Typs fest.

SQL Server unterstützt die Verwendung des "NaN"-Werts in< xsd:simpleType-Deklarationen> nicht.

Weitere Informationen finden Sie unterWerte für <xsd:simpleType-Deklarationen>.
xsi:schemaLocation und xsi:noNamespaceSchemaLocation SQL Server ignoriert diese Attribute, wenn sie im XML-instance Daten vorhanden sind, die in eine Spalte oder Variable des Datentyps xml 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, die xs:QName als Memberelement besitzen.

Weitere Informationen finden Sie unter Der xs:QName-Typ.
Hinzufügen von Elementen zu einer vorhandenen Ersetzungsgruppe Das Hinzufügen von Elementen zu einer vorhandenen Ersetzungsgruppe in einer XML-Schemaauflistung wird nicht unterstützt. Eine Ersetzungsgruppe in einem XML-Schema ist insofern eingeschränkt, als das Headelement und alle seine Memberelemente 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 Musterfacets besitzen, oder Enumerationen, die diese Facets verletzen.
Facetlänge Die Facetten length, minLength und maxLength werden als long Typ gespeichert. Dieser Datentyp ist ein 32-Bit-Typ. Daher ist der Bereich der zulässigen Werte für diese Werte 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 diese Werte jedoch nicht. Der Bereich für das Erzwingen der Eindeutigkeit wird durch die [CREATE | ALTER] XML SCHEMA COLLECTION-Anweisung festgelegt.
ID-Datentyp SQL Server unterstützt keine Elemente vom Typ xs:ID, xs:IDREFoder 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 explizit für das <xsd:any-Element> angegeben werden. SQL Server verwirft Schemas, 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-Datentyp nicht.
Bedingungen des Typs Nicht genügend Arbeitsspeicher Wenn Sie mit großen XML-Schemaauflistungen 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 weist Schemas zurück, 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.
Zeitzoneninformationen In SQL Server 2008 und höheren Versionen werden Zeitzoneninformationen für xs:date, xs:timeund xs:dateTime Werte für die XML-Schemaüberprüfung vollständig unterstützt. Mit SQL Server Abwärtskompatibilitätsmodus 2005 werden Zeitzoneninformationen immer auf koordinierte 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-Datentypen.
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.

In diesem Abschnitt

Thema BESCHREIBUNG
Kanonische Formen und Musterbeschränkungen Beschreibt kanonische Formen und Musterbeschränkungen.
Platzhalterkomponenten und Inhaltsüberprüfung Beschreibt die Einschränkungen bei der Verwendung von Platzhalterzeichen, lax-Überprüfung und anyType-Elementen mit XML-Schemaauflistungen.
Das <xsd:redefine-Element> Erläutert die Einschränkung der Verwendung des <xsd:redefine-Elements> und beschreibt eine Problemumgehung.
Der xs:QName-Typ Beschreibt die Einschränkung hinsichtlich des xs:QName-Typs.
Werte für <xsd:simpleType-Deklarationen> Beschreibt die Einschränkungen, die auf <xsd:simpleType-Deklarationen> angewendet werden.
Enumerationsfacets Beschreibt die Einschränkung hinsichtlich der Enumerationsfacets.
Mixed-Datentyp und simple-Inhalt Beschreibt die Einschränkung beim Beschränken eines gemischten Typs auf einfachen Inhalt.
Große XML-Schemasammlungen und Bedingungen des Typs „Nicht genügend Arbeitsspeicher“ Stellt Lösungen für Situationen bereit, in denen nicht genügend Arbeitsspeicher verfügbar ist, was gelegentlich bei großen Schemaauflistungen vorkommt.
Nicht deterministische Inhaltsmodelle Beschreibt die Einschränkungen hinsichtlich nicht deterministischer Inhaltsmodelle.

Weitere Informationen

XML-Daten (SQL Server)
Vergleichen von typisiertem XML mit nicht typisiertem XML
Erteilen von Berechtigungen für eine XML-Schemaauflistung
Unique Particle Attribution Constraint
XML-Schemaauflistungen (SQL Server)