SQL Server поддерживает все три общие техники для сохранения документов XML, рассмотренные в предыдущем разделе.
♦ «Сырые» документы. SQL Server использует типы данных varchar(max) и varbinary (мах) для хранения документов XML в качестве «сырых» документов. Этот подход не будет в дальнейшем обсуждаться в этой книге по причине его сложности.
♦ Декомпозиция. SQL Server может выполнять декомпозицию документа XML на раздельные столбцы таблиц, используя системную процедуру sp_xmi_preparedocument. Эта процедура выполняет синтаксический анализ предоставленного документа и представляет его узлы в виде дерева. (Полученное дерево может затем сохраняться в столбцах реляционных таблиц при использовании стандартного оператора insert и функции OpenXML.)
♦ Собственный формат хранения. Тип данных xml позволяет сохранять документы XML в собственном формате в базе данных, поддерживаемой Database Engine. Системы базы данных, такие как Database Engine, которые сохраняют документы XML в полностью преобразованной синтаксическим анализатором форме, называются системами базы данных с собственным форматом XML.
В следующих двух разделах подробно рассматриваются последние две техники. Поскольку тип данных xml является наиболее важной формой хранения, он рассматривается первым.