Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Projekty databáze SQL podporují automatické generování objektů kolekce schémat XML ze souborů XSD (definice schématu XML). Když do projektu zahrnete soubor XSD s příslušnými metadaty, proces sestavení vytvoří CREATE XML SCHEMA COLLECTION příkaz, který můžete použít k vynucení ověření dat XML v databázi.
Kolekce schémat XML poskytují v SQL Server sloupce typu XML, které umožňují databázovému stroji ověřovat data XML na definovaných schématech a optimalizovat výkon dotazů.
Konfigurace souborů XSD v projektu
Pokud chcete vygenerovat kolekci schémat XML ze souboru XSD, přidejte Build do souboru projektu položku (.sqlproj) se dvěma požadovanými prvky metadat:
-
RelationalSchema: Schéma databáze, ve kterém je vytvořena kolekce schématu XML (například
dbo) - XMLSchemaCollectionName: Název výsledného objektu kolekce schématu XML v databázi
Následující příklad ukazuje, jak nakonfigurovat soubor XSD v projektu SQL:
<?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říklad souboru XSD
Soubor XSD definuje strukturu, kterou musí následovat data XML. Následující příklad definuje schéma pro Order prvek obsahující jeden nebo více Item prvků:
<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>
Když se projekt sestaví, tento soubor XSD vygeneruje CREATE XML SCHEMA COLLECTION příkaz, který vytvoří OrderSchemaCollection objekt ve schématu dbo .
Použití zadaných sloupců XML
Po definování kolekce schématu XML na ni odkazujte v definicích tabulky a vytvořte sloupce XML typu. Typové XML sloupce ověřují data podle schématu a zvyšují výkon dotazů.
Následující příklad vytvoří tabulku se sloupcem XML typu, který používá vygenerovanou kolekci schématu:
CREATE TABLE dbo.Orders (
Id INT PRIMARY KEY,
OrderData XML(dbo.OrderSchemaCollection)
);
Když vložíte data do sloupce OrderData, SQL Server ověří XML ve schématu OrderSchemaCollection. Neplatný kód XML, který neodpovídá schématu, je odmítnut.