共用方式為


伺服器上 XML 架構集合的需求和限制

XML 架構定義語言 (XSD) 驗證對於使用資料類型的 xml SQL 資料列有一些限制。 下表提供修改 XSD 架構之限制和指導方針的詳細數據,讓其可與 SQL Server 搭配使用。 本節中的主題提供有關特定限制和使用它們的指引的額外資訊。

項目 限度
minOccursmaxOccurs minOccursmaxOccurs 屬性的值必須符合 4 位元組整數。 不符合的架構會遭到伺服器拒絕。
<xsd:choice> 除非使用 minOccurs 屬性值為零定義元素,否則 SQL Server 將拒絕沒有子元素的 <xsd:choice> 元素的架構。
<xsd:include> 目前,SQL Server 不支援這個專案。 包含這個專案的 XML 架構會遭到伺服器拒絕。

作為解決方案,可以預先處理包含 <xsd:include> 指令的 XML 架構,以便將任何包含的架構內容複製並合併到單一架構中,上傳至伺服器。 如需詳細資訊,請參閱 前置處理架構以合併包含的架構
<xsd:key><xsd:keyref><xsd:unique> 目前,SQL Server 不支援這些以 XSD 為基礎的條件約束來強制執行唯一性或建立索引鍵和索引鍵參考。 無法註冊包含這些元素的 XML 架構。
<xsd:redefine> SQL Server 不支援這個專案。 如需另一種更新架構方式的資訊,請參閱 <xsd:redefine> 元素
<xsd:simpleType> SQL Server 僅支援具有除了 xs:timexs:dateTime 之外第二個元件之簡單類型的毫秒精度,以及 xs:timexs:dateTime 的 100 奈秒精度。 SQL Server 會對所有可辨識的 XSD 簡單型別列舉施加限制。

SQL Server 不支援在 xsd:simpleType> 宣告中使用< “NaN” 值。

如需詳細資訊,請參閱xsd:simpleType> 宣告的值<
xsi:schemaLocationxsi:noNamespaceSchemaLocation SQL Server 會忽略這些屬性,如果它們存在於插入到 xml 資料類型的資料行或變數中的 XML 實例數據。
xs:QName SQL Server 不支援使用 XML 架構限制元素的 xs:QName 衍生類型。

SQL Server 不支援 xs:QName 做為成員元素的等位型別。

如需詳細資訊,請參閱 xs:QName 類型
將成員新增至現有的替代群組 您無法將成員新增至 XML 架構集合中現有的替代群組。 在 XML 架構中,替代群組的限制是其主元素和所有成員元素必須在相同的 {CREATE | ALTER} XML SCHEMA COLLECTION 語句中定義。
標準形式和模式限制 值的正式表示不能違反其型別的模式限制。 如需詳細資訊,請參閱 標準表單和模式限制
列舉構面 SQL Server 不支援具有模式特徵或列舉並違反這些特徵的類型之 XML 架構。
切面長度 lengthminLengthmaxLength Facet 會儲存為long類型。 此類型為32位類型。 因此,這些值可接受的值範圍是 2^31。
識別碼屬性 每個 XML 架構元件都可以有識別碼屬性。 SQL Server 會針對<xsd:attribute> 宣告的 ID 類型強制執行唯一性,但不會儲存這些值。 強制執行唯一性的範圍是 {CREATE | ALTER} XML SCHEMA COLLECTION 語法。
標識元類型 SQL Server 不支援 xs:IDxs:IDREFxs:IDREFS 類型的專案。 架構可能不會宣告此類型的專案,或衍生自此類型之限制或延伸的專案。
本機命名空間 必須明確指定 <xsd:any> 元素的本地命名空間。 SQL Server 會拒絕使用空字串 (“”) 做為命名空間屬性值的架構。 相反地,SQL Server 需要明確使用 "##local",以表示未限定的元素或屬性是通配符字元的實例。
混合類型與簡單內容 SQL Server 不支援將混合類型限制為簡單內容。 如需詳細資訊,請參閱 混合類型與簡單內容
NOTATION 類型 SQL Server 不支援 NOTATION 類型。
記憶體不足狀況 在處理大型 XML 架構集合時,可能會發生記憶體不足的情況。 如需此問題的解決方案,請參閱 大型 XML 架構集合和記憶體不足狀況
重複的值 SQL Server 會拒絕 block 或 final 屬性有重複值的結構描述,例如 "restriction restriction" 與 "extension extension"。
架構元件識別碼 SQL Server 會將架構元件的標識碼限製為長度上限為 1000 個 Unicode 字元。 此外,不支援標識碼內的代理字元組。
時區資訊 在 SQL Server 2008 和更新版本中,XML 架構驗證的 xs:datexs:timexs:dateTime 值完全支援時區資訊。 SQL Server 2005 回溯相容性模式時,時區資訊一律會標準化為國際標準時間(格林威治平均時間)。 針對 dateTime 類型的元素,伺服器會使用位移值(“-05:00”)將提供的時間轉換為 GMT 並回傳相應的 GMT 時間。
等位型別 SQL Server 不支援聯合類型的限制。
靈活精度十進位數 SQL Server 不支援精度可變的小數。 xs:decimal 類型代表具有任意精度的小數。 符合最低標準的 XML 處理器必須支援最少的 totalDigits=18十進位數。 SQL Server 支援 totalDigits=38, ,但會將小數位數限制為 10。 所有 xs:decimal 實例值都是使用 SQL 類型數值 (38, 10) 在伺服器內部表示。

本節中

主題 說明
標準表單和模式限制 說明標準形式和模式限制。
通配符元件和內容驗證 在 XML 架構集合中描述使用通配符、寬鬆驗證和 anyType 元素的限制。
這個 <xsd:redefine> 元素 說明使用 <xsd:redefine> 元素的限制,並說明因應措施。
xs:QName 類型 描述 xs:QName 類型的限制。
<xsd:simpleType> 宣告的值 描述套用至 <xsd:simpleType> 宣告的限制。
列舉面向 描述列舉面向的限制。
混合類型與簡單內容 描述將混合類型限制為簡單內容的限制。
大型 XML 架構集合和記憶體不足狀況 提供有時與大型架構集合一起發生的記憶體不足狀況解決方案。
不具決定性的內容模型 描述有關不具決定性內容模型的限制。

另請參閱

XML 資料 (SQL Server)
比較具類型的 XML 與不具類型的 XML
授與 XML 架構集合的許可權
唯一粒子屬性條件約束
XML 結構描述集合 (SQL Server)