Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-adatbázis a Microsoft Fabric
Az SQL-adatbázisprojektek támogatják az XML-sémagyűjtemény-objektumok automatikus létrehozását XSD -fájlokból (XML-sémadefiníciókból). Ha a projektben egy XSD-fájlt ad meg a megfelelő metaadatokkal, a létrehozási folyamat létrehoz egy utasítást CREATE XML SCHEMA COLLECTION , amellyel érvényesítheti az XML-adatok érvényesítését az adatbázisban.
Az XML-sémagyűjtemények beírt XML-oszlopokat biztosítanak a SQL Server, így az adatbázismotor képes az XML-adatok meghatározott sémákon való érvényesítésére és a lekérdezési teljesítmény optimalizálására.
XSD-fájlok konfigurálása a projektben
Ha XML-sémagyűjteményt szeretne létrehozni egy XSD-fájlból, adjon hozzá egy Build elemet a projektfájlhoz (.sqlproj) két szükséges metaadat-elemmel:
-
RelationalSchema: Az az adatbázisséma,
dboamelyben az XML-sémagyűjtemény létrejön (például ) - XMLSchemaCollectionName: Az eredményül kapott XML-sémagyűjtemény-objektum neve az adatbázisban
Az alábbi példa bemutatja, hogyan konfigurálhat XSD-fájlokat egy SQL-projektben:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="2.1.0" />
<PropertyGroup>
<Name>MyDatabase</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql170DatabaseSchemaProvider</DSP>
<ModelCollation>1033, CI</ModelCollation>
</PropertyGroup>
<ItemGroup>
<Build Include="OrderSchema.xsd">
<RelationalSchema>dbo</RelationalSchema>
<XMLSchemaCollectionName>OrderSchemaCollection</XMLSchemaCollectionName>
</Build>
</ItemGroup>
</Project>
Példa XSD-fájlra
Az XSD-fájl határozza meg az XML-adatok által követendő struktúrát. Az alábbi példa meghatározza egy olyan Order elem sémáját, amely egy vagy több Item elemet tartalmaz.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Item" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
A projekt létrehozásakor ez az XSD-fájl létrehoz egy utasítást CREATE XML SCHEMA COLLECTION , amely létrehozza az OrderSchemaCollection objektumot a dbo sémában.
Beírt XML-oszlopok használata
Az XML-sémagyűjtemény definiálása után hivatkozzon rá a tábladefiníciókban a beírt XML-oszlopok létrehozásához. A beírt XML-oszlopok ellenőrzik az adatokat a sémán, és javítják a lekérdezés teljesítményét.
Az alábbi példa egy olyan táblát hoz létre, amely egy beírt XML-oszlopot tartalmaz, amely a létrehozott sémagyűjteményt használja:
CREATE TABLE dbo.Orders (
Id INT PRIMARY KEY,
OrderData XML(dbo.OrderSchemaCollection)
);
Amikor adatokat szúr be a OrderData oszlopba, SQL Server ellenőrzi az XML-t a OrderSchemaCollection sémán. A rendszer elutasítja az érvénytelen XML-t, amely nem felel meg a sémának.