Requisitos e limitações para o uso de Coleções de Esquemas XML no servidor
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
A validação da linguagem de definição de esquema XML (XSD) apresenta algumas limitações em relação a colunas SQL que usam o tipo de dados xml . A tabela a seguir fornece detalhes sobre essas limitações e diretrizes para modificar seu esquema XSD para que ele possa funcionar com o SQL Server. Os artigos desta seção fornecem informações adicionais sobre limitações específicas e orientações para trabalhar com elas.
Item | Limitação |
---|---|
minOccurs e maxOccurs | Os valores dos atributos minOccurs e maxOccurs devem ser ajustados em inteiros de 4 bytes. Esquemas que não estão em conformidade são rejeitados pelo servidor. |
<xsd:choice> | O SQL Server rejeita esquemas que tenham uma partícula <xsd:choice> sem filhos, a menos que essa partícula seja definida com um valor de atributo minOccurs igual a zero. |
<xsd:include> | Atualmente, o SQL Server não é compatível com esse elemento. Os esquemas XML que incluem esse elemento são rejeitados pelo servidor. Como uma solução, os esquemas XML que incluem a diretiva <xsd:include> podem ser pré-processados para copiar e mesclar o conteúdo de qualquer esquema incluído em um único esquema para o upload no servidor. Para obter mais informações, veja Pré-processar um esquema para mesclar esquemas incluídos. |
<xsd:key>, <xsd:keyref> e <xsd:unique> | Atualmente, o SQL Server não oferece suporte a essas restrições baseadas em XSD para reforçar a exclusividade ou estabelecer chaves e referências de chaves. Os esquemas XML que contêm esses elementos não podem ser registrados. |
<xsd:redefine> | O SQL Server não é compatível com esse elemento. Para obter informações sobre outra maneira de atualizar esquemas, consulte O elemento <xsd:redefine>. |
Valores <xsd:simpleType> | O SQL Server oferece suporte apenas à precisão de milissegundos para tipos simples que têm componentes secundários diferentes de xs:time e xs:dateTime, e à precisão de 100 nanossegundos para xs:time e xs:dateTime. O SQL Server impõe limitações a todas as enumerações de tipo simples XSD reconhecidas. O SQL Server não oferece suporte ao uso do valor "NaN" em declarações <xsd:simpleType>. Para obter mais informações, confira Valores para declarações <xsd:simpleType>. |
xsi:schemaLocation e xsi:noNamespaceSchemaLocation | O SQL Server ignorará esses atributos se eles estiverem presentes nos dados da instância XML inseridos em uma coluna ou variável do tipo de dados xml. |
xs:QName | O SQL Server não oferece suporte a tipos derivados de xs:QName que usam um elemento de restrição de esquema XML. O SQL Server não oferece suporte a tipos de união com xs:QName como um elemento-membro. Para obter mais informações, consulte The xs:QName Type. |
Adicionando membros a um grupo de substituição existente | Não é possível adicionar membros a um grupo de substituição existente em uma coleção de esquema XML. Um grupo de substituição em um esquema XML é restrito, pois o elemento principal e todos os seus elementos-membros devem ser definidos na mesma instrução {CREATE | ALTER} XML SCHEMA COLLECTION. |
Formas canônicas e restrições de padrões | A representação canônica de um valor não pode violar a restrição de padrão para seu tipo. Para obter mais informações, consulte Canonical Forms and Pattern Restrictions. |
Aspectos de enumeração | O SQL Server não oferece suporte a esquemas XML com tipos que tenham facetas de padrão ou enumerações que violem essas facetas. |
Comprimento do aspecto | Os aspectos length, minLengthe maxLength são armazenados como um tipo long . Esse é um tipo de 32 bits. Portanto, o intervalo de valores aceitos para esses valores é 2^31. |
Atributo ID | Cada componente de esquema XML pode ter um atributo de ID. O SQL Server impõe a exclusividade para declarações <xsd:attribute> do tipo ID, mas não armazena esses valores. O escopo da aplicação da exclusividade é a instrução {CREATE | ALTER} XML SCHEMA COLLECTION. |
Tipo ID | O SQL Server não oferece suporte a elementos do tipo xs:ID, xs:IDREF ou xs:IDREFS. Um esquema pode não declarar elementos desse tipo ou elementos derivados pela restrição ou extensão desse tipo. |
Namespace local | O namespace local precisa ser especificado explicitamente para o elemento <xsd:any>. O SQL Server rejeita esquemas que usam uma cadeia de caracteres vazia ("") como um valor para o atributo de namespace. Em vez disso, o SQL Server exige o uso explícito de "##local" para indicar um elemento ou atributo não qualificado como a instância do caractere curinga. |
Tipo misto e conteúdo simples | O SQL Server não dá suporte à restrição de um tipo misto a um conteúdo simples. Para obter mais informações, consulte Mixed Type and Simple Content. |
Tipo NOTATION | O SQL Server não é compatível com o tipo NOTATION. |
Condições de memória insuficiente | Ao trabalhar com coleções de esquema XML grandes, pode ocorrer uma condição de falta de memória. Para obter soluções para esse problema, veja Coleções de esquemas XML grandes e condições de memória insuficiente. |
Valores repetidos | O SQL Server rejeita esquemas nos quais o atributo de bloco ou final tenham valores repetidos, como "restriction restriction" e "extension extension". |
Identificadores de componente de esquema | O SQL Server limita os identificadores dos componentes do esquema a um comprimento máximo de 1.000 caracteres Unicode. Além disso, não há suporte para pares de caracteres substitutos dentro de identificadores. |
Informações sobre fuso horário | No SQL Server 2008 (10.0.x) e versões posteriores, informações de fuso horário são totalmente compatíveis com os valores xs:date, xs:time e xs:dateTime para validação de esquema XML. Com o modo de compatibilidade com versões anteriores do SQL Server 2005 (9.x), as informações de fuso horário são sempre normalizadas para o Tempo Universal Coordenado (Horário de Greenwich). Para elementos de tipo dateTime , o servidor converte a hora fornecida para GMT usando o valor de deslocamento (“-05:00”) e retornando a hora GMT correspondente. |
Tipos de união | O SQL Server não oferece suporte a restrições de tipos de união. |
Decimais de precisão variáveis | O SQL Server não oferece suporte a decimais de precisão variável. O tipo xs:decimal representa números decimais de precisão arbitrária. Processadores XML com conformidade mínima devem oferecer suporte a números decimais com um mínimo de totalDigits=18 . O SQL Server oferece suporte a totalDigits=38, , mas limita os dígitos fracionários a 10. Todos os valores xs:decimal de instância são representados internamente pelo servidor usando o tipo numérico SQL (38, 10). |
Próximas etapas
Formas canônicas e restrições de padrões
Explica formas canônicas e restrições de padrões.Componentes curinga e validação de conteúdo
Descreve as limitações da utilização de caracteres curingas, a validação incerta e quaisquer Elementos anyType com coleções de esquema XML.O elemento <xsd:redefine>
Explica a limitação do uso do elemento <xsd:redefine> e descreve uma solução alternativa.O tipo xs:QName
Descreve a limitação referente ao tipoxs:QName
.Valores para declarações <xsd:simpleType> Descreve as restrições que são aplicadas às declarações
<xsd:simpleType>
.Facetas de enumeração
Descreve a limitação relativa a aspectos de enumeração.Tipo misto e conteúdo simples Descreve a limitação de restringir um tipo misto a um conteúdo simples.
Grandes coleções de esquemas XML e condições de memória insuficiente
Fornece soluções para a condição de memória insuficiente que às vezes acontece com grandes coleções de esquema.Modelos de conteúdo não determinísticos Descreve as limitações relativas a modelos de conteúdo não determinísticos.