Aracılığıyla paylaş


Sunucudaki XML şema koleksiyonları için gereksinimler ve sınırlamalar

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

XML şema tanım dili (XSD) doğrulamasında xml veri türünü kullanan SQL sütunlarıyla ilgili bazı sınırlamalar vardır. Aşağıdaki tabloda, SQL Server ile çalışabilmesi için XSD şemanızı değiştirmeye yönelik sınırlamalar ve yönergeler hakkında ayrıntılar sağlanmaktadır. Bu bölümdeki makaleler, belirli sınırlamalar ve bunlarla çalışmaya yönelik yönergeler hakkında ek bilgi sağlar.

Ürün Sınırlama
minOccurs ve maxOccurs minOccurs ve maxOccurs özniteliklerinin değerleri 4 baytlık tamsayılara sığmalıdır. Uyumlu olmayan şemalar sunucu tarafından reddedilir.
<xsd:choice> SQL Server, bir parçacık sıfır minOccurs öznitelik değeriyle tanımlanmadıkça ve alt öğe içermiyorsa < parçacığına sahip şemaları reddeder.
<xsd:include> Şu anda SQL Server bu öğeyi desteklemez. Bu öğeyi içeren XML şemaları sunucu tarafından reddedilir.

Çözüm olarak, xsd:include< yönergesini> içeren XML şemaları, dahil edilen tüm şemaların içeriğini kopyalayıp sunucuya yüklemek üzere tek bir şemada birleştirmek için önceden işlenebilir. Daha fazla bilgi için bkz. Dahil Edilen Şemaları Birleştirmek için Şemayı Önceden İşleme.
<xsd:key>, <xsd:keyref> ve <xsd:unique> SQL Server şu anda benzersizliği zorlamak veya anahtarlar ve anahtar başvuruları oluşturmak için bu XSD tabanlı kısıtlamaları desteklememektedir. Bu öğeleri içeren XML şemaları kaydedilemez.
<xsd:redefine> SQL Server bu öğeyi desteklemiyor. Şemaları güncelleştirmenin başka bir yolu hakkında daha fazla bilgi için bkz. The <xsd:redefine> Öğesi.
<xsd:simpleType> değerleri SQL Server yalnızca xs:time ve xs:dateTime dışında ikinci bileşenleri olan basit türler için milisaniyelik duyarlığı ve xs:time ve xs:dateTime için 100 nanosaniyelik duyarlığı destekler. SQL Server, tanınan tüm XSD basit tür sabit listelerine sınırlamalar getirir.

SQL Server, xsd:simpleType< bildirimlerinde> "NaN" değerinin kullanılmasını desteklemez.

Daha fazla bilgi için bkz. xsd:simpleType< Bildirimleri için >değerler.
xsi:schemaLocation ve xsi:noNamespaceSchemaLocation SQL Server, xml veri türündeki bir sütuna veya değişkene eklenen XML örneği verilerinde varsa bu öznitelikleri yoksayar.
xs:QName SQL Server, xml şeması kısıtlama öğesi kullanan xs:QName dosyasından türetilen türleri desteklemez.

SQL Server, üye öğesi olarak xs:QName ile birleşim türlerini desteklemez.

Daha fazla bilgi için bkz. xs:QName Türü.
Mevcut bir değiştirme grubuna üye ekleme XML şema koleksiyonunda var olan bir değiştirme grubuna üye ekleyemezsiniz. XML şemasındaki bir değiştirme grubu, head öğesi ve tüm üye öğelerinin aynı {CREATE | ALTER} XML SCHEMA COLLECTION ifadesi içinde tanımlanması gerektiğinden kısıtlanmıştır.
Kurallı formlar ve desen kısıtlamaları Bir değerin kurallı gösterimi, türü için desen kısıtlamasını ihlal edemez. Daha fazla bilgi için bkz. Kurallı Formlar ve Desen Kısıtlamaları.
Numaralandırma modelleri SQL Server, desen modellerine veya bu modelleri ihlal eden numaralandırmalara sahip türler içeren XML şemalarını desteklemez.
Faset uzunluğu Uzunluk, minLength ve maxLength faceleri bir long türü olarak depolanır. Bu tür 32 bitlik bir türdür. Bu nedenle, bu değerler için kabul edilebilir değerler aralığı 2^31'dir.
ID özniteliği Her XML şeması bileşeninin üzerinde bir KIMLIK özniteliği olabilir. SQL Server, < türündeki >xsd:attribute bildirimleri için benzersizliği sağlar, ancak bu değerleri depolamaz. Benzersizliği zorlamanın kapsamı {CREATE | ALTER} XML SCHEMA COLLECTION deyimi.
Kimlik türü SQL Server, xs:ID, xs:IDREF veya xs:IDREFS türündeki öğeleri desteklemez. Şema, bu tür öğeleri veya bu türden kısıtlama veya uzantı tarafından türetilen öğeleri bildirmeyebilir.
Yerel ad alanı Yerel ad alanının xsd:any< öğesi için> açıkça belirtilmesi gerekir. SQL Server, ad alanı özniteliği için bir değer olarak boş dize ("") kullanan şemaları reddeder. Bunun yerine SQL Server, joker karakterin bir örneği olarak nitelenmemiş bir öge veya özniteliği belirtmek için "##local" öğesinin açıkça kullanılmasını gerektirir.
Karışık tür ve basit içerik SQL Server, karma türü basit bir içerikle kısıtlamayı desteklemez. Daha fazla bilgi için bkz. Karma Tür ve Basit İçerik.
NOTATION türü SQL Server NOTATION türünü desteklemez.
Bellek yetersizliği koşulları Büyük XML şema koleksiyonlarıyla çalışırken bellek yetersiz durumu oluşabilir. Bu sorunun çözümleri için bkz. Büyük XML Şema Koleksiyonları ve Yetersiz Bellek Koşulları.
Yinelenen değerler SQL Server, blok veya son özniteliğin "kısıtlama kısıtlaması" ve "uzantı uzantısı" gibi yinelenen değerlere sahip olduğu şemaları reddeder.
Şema bileşeni tanımlayıcıları SQL Server, şema bileşenlerinin tanımlayıcılarını en fazla 1000 Unicode karakter uzunluğunda sınırlar. Ayrıca, tanımlayıcılar içindeki vekil karakter çiftleri desteklenmez.
Zaman dilimi bilgileri SQL Server 2008 (10.0.x) ve sonraki sürümlerinde, XML Şeması doğrulaması için saat dilimi bilgileri xs:date, xs:time ve xs:dateTime değerleri için tam olarak desteklenir. SQL Server 2005 (9.x) geriye dönük uyumluluk moduyla, saat dilimi bilgileri her zaman Eşgüdümlü Evrensel Saat (Greenwich Saati) olarak normalleştirilir. dateTime türündeki öğeler için sunucu, uzaklık değerini ("-05:00") kullanarak ve karşılık gelen GMT saatini döndürerek sağlanan saati GMT'ye dönüştürür.
Birleşim türleri SQL Server birleşim türlerinden gelen kısıtlamaları desteklemez.
Değişken duyarlık ondalıkları SQL Server değişken duyarlık ondalıklarını desteklemez. xs:decimal türü rastgele duyarlık ondalık sayılarını temsil eder. En düşük düzeyde uyumlu XML işlemcileri, en az totalDigits=18olan ondalık sayıları desteklemelidir. SQL Server, totalDigits=38, destekler ancak kesirli basamakları 10 ile sınırlandırır. Tüm xs:ondalık örnekli değerler, SQL türü sayısal (38, 10) kullanılarak sunucu tarafından dahili olarak temsil edilir.

Sonraki Adımlar

Ayrıca bakınız