Gestion des collections de schémas XML sur le serveur

Comme l'explique la rubrique Type de données xml, SQL Server assure un stockage natif des données XML par le biais du type de données xml. Vous pouvez éventuellement associer des schémas XSD à une variable ou à une colonne de type xml à l'aide d'une collection de schémas XML. La collection de schémas XML stocke les schémas XML importés et peut ensuite servir à :

  • valider des instances XML ;

  • typer les données XML lors de leur stockage dans la base de données.

Remarquez que la collection de schémas XML est une entité de métadonnées de même qu'une table de la base de données. Vous pouvez les créer, les modifier et les supprimer. Les schémas spécifiés dans une instruction CREATE XML SCHEMA COLLECTION (Transact-SQL) sont automatiquement importés dans l'objet de collection de schémas XML nouvellement créé. Vous pouvez importer d'autres schémas ou composants de schéma dans un objet de collection existant dans la base de données à l'aide de l'instruction ALTER XML SCHEMA COLLECTION (Transact-SQL).

Comme l'explique la rubrique XML typé et non typé, le code XML stocké dans une colonne ou une variable à laquelle un schéma est associé est dit XML typé, car le schéma fournit toutes les informations nécessaires sur le type des données de l'instance. SQL Server utilise ces informations de type pour optimiser le stockage des données.

Le moteur de traitement des requêtes utilise aussi le schéma pour vérifier le type et optimiser les requêtes et la modification des données.

De plus, SQL Server utilise la collection de schémas XML associée, en cas de code xml typé, pour valider l'instance XML. Si l'instance XML est conforme au schéma, la base de données autorise le stockage de l'instance dans le système avec ses informations de type. Dans le cas contraire, elle rejette l'instance.

SQL Server fournit diverses instructions DDL pour gérer les schémas dans la base de données. Toutefois, vous devez commencer par importer la collection de schémas XML avant de pouvoir l'utiliser. Pour plus d'informations, consultez DDL de gestion de collections de schémas XML dans la base de données.

Pour importer une collection de schémas XML dans une base de données, vous devez disposer des autorisations appropriées. Pour plus d'informations, consultez Autorisations sur une collection de schémas XML.

Vous pouvez utiliser la fonction intrinsèque XML_SCHEMA_NAMESPACE pour récupérer la collection de schémas stockée dans la base de données. Pour plus d'informations, consultez Affichage d'une collection de schémas XML stockée.

Vous pouvez aussi utiliser la collection de schémas XML pour typer les variables, les paramètres et les colonnes XML.