Persyaratan dan batasan untuk koleksi skema XML di server

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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 tertentu untuk bekerja dengannya.

Item Pembatasan
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 solusi, skema XML yang menyertakan <direktif xsd:include> dapat diprosces 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 memberlakukan 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, lihat Nilai untuk <xsd:simpleType> Declarations.
xsi:schemaLocation dan xsi:noNamespaceSchemaLocation SQL Server mengabaikan atribut ini jika ada dalam data instans XML yang dimasukkan 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 pengganti yang sudah ada Anda tidak dapat menambahkan anggota ke grup substitusi yang sudah ada dalam kumpulan skema XML. Grup pengganti dalam skema XML dibatasi karena elemen kepala dan semua elemen anggotanya harus didefinisikan dalam {CREATE | yang sama ALTER} pernyataan KOLEKSI SKEMA XML.
Bentuk kanonis dan pembatasan pola Representasi kanonis dari nilai tidak dapat melanggar pembatasan pola untuk jenisnya. Untuk informasi selengkapnya, lihat Pembatasan Formulir dan Pola Kanonis.
Faset enumerasi SQL Server tidak mendukung skema XML dengan jenis yang memiliki aspek 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:deklarasi atribut> jenis ID , tetapi tidak menyimpan nilai-nilai ini. Cakupan untuk penegakan keunikan adalah {CREATE | ALTER} pernyataan KOLEKSI SKEMA XML.
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 layanan 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 kartubebas.
Jenis campuran dan konten sederhana SQL Server tidak mendukung pembatasan jenis campuran ke konten sederhana. Untuk informasi selengkapnya, lihat Tipe Campuran dan Konten Sederhana.
Jenis NOTASI SQL Server tidak mendukung jenis NOTATION.
Kondisi kehabisan memori Saat bekerja dengan koleksi skema XML besar, kondisi di luar 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 Di SQL Server 2008 (10.0.x) dan versi yang lebih baru, informasi zona waktu sepenuhnya didukung 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 (Greenwich Mean Time). Untuk elemen jenis dateTime , server mengonversi waktu yang disediakan 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