Gerenciando coleções de esquema XML no servidor

Conforme descrito no tópico Tipo de dados xml, o SQL Server fornece armazenamento nativo de dados XML por meio do tipo de dados xml. Opcionalmente, é possível associar esquemas XML a uma variável ou a uma coluna de tipo xml por meio de uma coleção de esquema XML. A coleção de esquema XML armazena os esquemas XML importados e, em seguida, é usada para fazer o seguinte:

  • Validar instâncias XML

  • Definir o tipo dos dados XML conforme eles são armazenados no banco de dados

Observe que a coleção de esquema XML é uma entidade de metadados como uma tabela no banco de dados. É possível criar, modificar e descartá-la. Esquemas especificados em uma instrução CREATE XML SCHEMA COLLECTION (Transact-SQL) são importadas automaticamente no objeto da coleção de esquema XML recém-criado. É possível importar esquemas adicionais ou componentes do esquema em um objeto de coleção existente no banco de dados usando a instrução ALTER XML SCHEMA COLLECTION (Transact-SQL).

Conforme descrito no tópico XML com tipo versus XML sem tipo, o XML armazenado em uma coluna ou variável à qual um esquema está associado é referido como XML com tipo porque o esquema fornece as informações necessárias do tipo de dados para os dados da instância. O SQL Server usa essas informações de tipo para otimizar o armazenamento de dados.

O mecanismo do processamento de consultas também usa o esquema para verificação de tipo e otimizar modificação de dados e consultas.

Além disso, o SQL Server usa a coleção de esquema XML associada, no caso de xml com tipo para validar a instância XML. Se a instância XML estiver de acordo com o esquema, o banco de dados permitirá que a instância seja armazenada no sistema com suas informações de tipo. Caso contrário, a instância será rejeitada.

O SQL Server fornece várias instruções DDL para gerenciar os esquemas no banco de dados. No entanto, primeiro a coleção de esquema XML precisa ser importada para que seja possível usá-la. Para obter mais informações, consulte DDL para gerenciamento de coleções de esquema XML no banco de dados.

Para importar uma coleção de esquema XML em um banco de dados, é necessário ter permissões. Para obter mais informações, consulte Permissões em uma coleção de esquema XML.

É possível usar a função intrínseca XML_SCHEMA_NAMESPACE para recuperar a coleção de esquema que está armazenada no banco de dados. Para obter mais informações, consulte Exibindo uma coleção de esquema XML armazenada.

Também é possível usar a coleção de esquema XML para digitar variáveis, parâmetros e colunas XML.