Persyaratan dan batasan untuk koleksi skema XML di server

Berlaku untuk: SQL Server (semua versi yang didukung) Azure SQL Database

Validasi bahasa definisi skema XML (XSD) memiliki beberapa batasan mengenai kolom SQL yang menggunakan jenis data xml . Tabel berikut ini menyediakan detail tentang batasan dan panduan tersebut untuk memodifikasi skema XSD Anda sehingga dapat berfungsi dengan SQL Server. Artikel di bagian ini memberikan informasi tambahan tentang batasan dan panduan khusus untuk bekerja dengannya.

Item Batasan
minOccurs dan maxOccurs Nilai untuk atribut minOccurs dan maxOccurs harus sesuai dengan bilangan bulat 4-byte. Skema yang tidak sesuai ditolak oleh server.
<xsd:choice> SQL Server menolak skema yang memiliki <partikel xsd:choice> tanpa turunan, kecuali partikel didefinisikan dengan nilai atribut minOccurs nol.
<xsd:include> Saat ini, SQL Server tidak mendukung elemen ini. Skema XML yang menyertakan elemen ini ditolak oleh server.

Sebagai solusinya, skema XML yang menyertakan <direktif xsd:include> dapat diprosus sebelumnya untuk menyalin dan menggabungkan konten skema yang disertakan ke dalam satu skema untuk diunggah ke server. Untuk informasi selengkapnya, lihat Praprosces skema untuk Menggabungkan Skema yang Disertakan.
<xsd:key>, <xsd:keyref>, dan <xsd:unique> Saat ini, SQL Server tidak mendukung batasan berbasis XSD ini untuk menegakkan keunikan atau membuat kunci dan referensi utama. Skema XML yang berisi elemen-elemen ini tidak dapat didaftarkan.
<xsd:redefine> SQL Server tidak mendukung elemen ini. Untuk informasi tentang cara lain untuk memperbarui skema, lihat Elemen <xsd:redefine>.
<nilai xsd:simpleType> SQL Server hanya mendukung presisi milidetik untuk jenis sederhana yang memiliki komponen kedua selain xs:time dan xs:dateTime, dan presisi 100 nanodetik untuk xs:time dan xs:dateTime. SQL Server menempatkan batasan pada semua enumerasi jenis sederhana XSD yang dikenali.

SQL Server tidak mendukung penggunaan nilai "NaN" dalam <deklarasi xsd:simpleType>.

Untuk informasi selengkapnya, lihatNilai untuk <xsd:simpleType> Declarations.
xsi:schemaLocation dan xsi:noNamespaceSchemaLocation SQL Server mengabaikan atribut ini jika ada dalam data instans XML yang disisipkan ke dalam kolom atau variabel jenis data xml.
xs:QName SQL Server tidak mendukung jenis yang berasal dari xs:QName yang menggunakan elemen pembatasan Skema XML.

SQL Server tidak mendukung jenis gabungan dengan xs:QName sebagai elemen anggota.

Untuk informasi selengkapnya, lihat Jenis xs:QName.
Menambahkan anggota ke grup substitusi yang sudah ada Anda tidak dapat menambahkan anggota ke grup substitusi yang sudah ada dalam kumpulan skema XML. Grup substitusi dalam skema XML dibatasi karena elemen head dan semua elemen anggotanya harus ditentukan dalam {CREATE | ALTER} pernyataan XML SCHEMA COLLECTION.
Bentuk kanonis dan pembatasan pola Representasi kanonis dari nilai tidak dapat melanggar pembatasan pola untuk jenisnya. Untuk informasi selengkapnya, lihat Formulir Kanonis dan Pembatasan Pola.
Faset enumerasi SQL Server tidak mendukung skema XML dengan jenis yang memiliki faset pola atau enumerasi yang melanggar faset tersebut.
Panjang faset Faset panjang, minLength, dan maxLength disimpan sebagai jenis panjang . Jenis ini adalah jenis 32-bit. Oleh karena itu, rentang nilai yang dapat diterima untuk nilai-nilai ini adalah 2^31.
Atribut ID Setiap komponen skema XML dapat memiliki atribut ID di dalamnya. SQL Server memberlakukan keunikan untuk <xsd:atribut> deklarasi jenis ID, tetapi tidak menyimpan nilai-nilai ini. Ruang lingkup untuk penegakan keunikan adalah {CREATE | ALTER} pernyataan XML SCHEMA COLLECTION.
Jenis ID SQL Server tidak mendukung elemen jenis xs:ID, xs:IDREF, atau xs:IDREFS. Skema mungkin tidak mendeklarasikan elemen jenis ini, atau elemen yang berasal dari pembatasan atau ekstensi dari jenis ini.
Namespace lokal Namespace lokal harus ditentukan secara eksplisit untuk <elemen xsd:any> . SQL Server menolak skema yang menggunakan string kosong ("") sebagai nilai untuk atribut namespace. Sebaliknya, SQL Server memerlukan penggunaan eksplisit "##local" untuk menunjukkan elemen atau atribut yang tidak memenuhi syarat sebagai instans karakter wildcard.
Jenis campuran dan konten sederhana SQL Server tidak mendukung pembatasan jenis campuran ke konten sederhana. Untuk informasi selengkapnya, lihat Jenis Campuran dan Konten Sederhana.
Jenis NOTATION SQL Server tidak mendukung jenis NOTATION.
Kondisi kehabisan memori Saat bekerja dengan koleksi skema XML besar, kondisi kehabisan memori mungkin terjadi. Untuk solusi untuk masalah ini, lihat Koleksi Skema XML Besar dan Kondisi Di Luar Memori.
Nilai berulang SQL Server menolak skema di mana atribut blok atau akhir memiliki nilai berulang seperti "pembatasan pembatasan" dan "ekstensi ekstensi".
Pengidentifikasi komponen skema SQL Server membatasi pengidentifikasi komponen skema hingga panjang maksimum 1000 karakter Unicode. Selain itu, pasangan karakter pengganti dalam pengidentifikasi tidak didukung.
Informasi zona waktu Dalam SQL Server 2008 dan versi yang lebih baru, informasi zona waktu didukung penuh untuk nilai xs:date, xs:time, dan xs:dateTime untuk validasi Skema XML. Dengan mode kompatibilitas mundur SQL Server 2005 (9.x), informasi zona waktu selalu dinormalisasi ke Waktu Universal Terkoordinasi (Waktu Rata-Rata Greenwich). Untuk elemen jenis dateTime , server mengonversi waktu yang diberikan ke GMT dengan menggunakan nilai offset ("-05:00") dan mengembalikan waktu GMT yang sesuai.
Jenis serikat pekerja SQL Server tidak mendukung pembatasan dari jenis serikat.
Desimal presisi variabel SQL Server tidak mendukung desimal presisi variabel. Jenis xs:desimal mewakili angka desimal presisi arbitrer. Prosesor XML yang sesuai minimal harus mendukung angka desimal dengan minimal totalDigits=18. SQL Server mendukung totalDigits=38, tetapi membatasi digit pecahan hingga 10. Semua nilai instans xs:desimal diwakili secara internal oleh server dengan menggunakan numerik jenis SQL (38, 10).

Langkah berikutnya

Lihat juga