Gestione di raccolte di schemi XML sul server

Come descritto nell'argomento Tipo di dati xml, SQL Server offre funzionalità per l'archiviazione nativa dei dati XML tramite il tipo di dati xml. È facoltativamente possibile associare schemi XSD a una variabile o colonna di tipo xml tramite un insieme di schemi XML. Un insieme di schemi XML archivia gli schemi XML importati e può essere quindi utilizzato per eseguire le operazioni seguenti:

  • Convalidare istanze XML.

  • Tipizzare i dati XML a mano a mano che vengono archiviati nel database.

Si noti che un insieme di schemi XML è un'entità di metadati analoga a una tabella in un database. Gli insiemi di schemi XML possono essere creati, modificati ed eliminati. Gli schemi specificati in un'istruzione CREATE XML SCHEMA COLLECTION (Transact-SQL) vengono automaticamente importati nell'oggetto insieme di schemi XML appena creato. È possibile importare ulteriori schemi o componenti di schema in un oggetto insieme di schemi esistente nel database, utilizzando l'istruzione ALTER XML SCHEMA COLLECTION (Transact-SQL).

Come descritto nell'argomento relativo al codice XML tipizzato e non tipizzato, i dati XML archiviati in una colonna o variabile cui è associato uno schema sono detti dati XML tipizzati, perché lo schema fornisce le informazioni sul tipo di dati necessarie per i dati dell'istanza. SQL Server utilizza tali informazioni sul tipo per ottimizzare l'archiviazione dei dati.

Lo schema viene inoltre utilizzato dal motore di elaborazione delle query per la verifica dei tipi, per l'ottimizzazione delle query e per la modifica dei dati.

Per i valori xml tipizzati, SQL Server utilizza l'insieme di schemi XML associato per convalidare l'istanza XML. Se l'istanza XML è conforme allo schema, il database consente di archiviarla nel sistema insieme alle relative informazioni sul tipo, in caso contrario la rifiuta.

In SQL Server sono disponibili varie istruzioni DDL per la gestione degli schemi nel database. Prima di utilizzarle è tuttavia necessario importare l'insieme di schemi XML. Per ulteriori informazioni, vedere Istruzioni DDL per la gestione di raccolte di schemi XML nel database.

Per importare un insieme di schemi XML in un database è necessario disporre delle autorizzazioni appropriate. Per ulteriori informazioni, vedere Autorizzazioni per una raccolta di schemi XML.

Per recuperare l'insieme di schemi archiviato nel database è possibile utilizzare la funzione intrinseca XML_SCHEMA_NAMESPACE. Per ulteriori informazioni, vedere Visualizzazione di una raccolta di schemi XML archiviata.

L'insieme di schemi XML può essere utilizzato anche per tipizzare variabili, parametri e colonne XML.