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.
Důležitý
Azure Data Studio se vyřazuje 28. února 2026. Doporučujeme, abyste používali Visual Studio Code. Další informace o migraci do editoru Visual Studio Code najdete v tématu Co se děje se sadou Azure Data Studio?
Tento článek představuje projekty SQL ve stylu sady SDK microsoft.Build.Sql v rozšíření SQL Database Projects v nástroji Azure Data Studio nebo Visual Studio Code. SQL projekty ve stylu SDK jsou obzvláště výhodné pro aplikace, které jsou dodávány prostřednictvím CI/deployment kanálů nebo sestavovány v cross-platformových prostředích. Počáteční oznámení je k dispozici v TechCommunity.
Poznámka:
Microsoft.Build.Sql je aktuálně ve verzi Preview.
Vytvoření databázového projektu ve stylu sady SDK
Databázový projekt ve stylu sady SDK můžete vytvořit z prázdného projektu nebo z existující databáze.
Prázdný projekt
V zobrazení Databázové projekty vyberte tlačítko Nový projekt a zadejte název projektu do textového vstupu, který se zobrazí. V dialogovém okně Vybrat složku , které se zobrazí, zvolte adresář pro složku, .sqlproj
soubor a další obsah projektu, který se má nacházet.
Ve výchozím nastavení je zaškrtnuté políčko pro projekt ve stylu sady SDK (Preview). Po dokončení dialogového okna se prázdný projekt otevře a zobrazí v zobrazení Databázové projekty pro úpravy.
Ze stávající databáze
V zobrazení Projektu vyberte tlačítko Vytvořit projekt z databáze a připojte se k SQL Serveru. Po navázání připojení vyberte ze seznamu dostupných databází databázi a nastavte název projektu. Vyberte cílovou strukturu extrakce.
Ve výchozím nastavení je zaškrtnuté políčko pro projekt ve stylu sady SDK (Preview). Po dokončení dialogového okna se otevře nový projekt a obsahuje skripty SQL pro obsah vybrané databáze.
Sestavení a publikování
Z rozhraní Azure Data Studio a editoru Visual Studio Code se sestavení a publikování projektu SQL ve stylu sady SDK dokončí stejným způsobem jako předchozí formát projektu SQL. Další informace o tomto procesu najdete v tématu Sestavení a publikování projektu.
Pokud chcete vytvořit projekt SQL ve stylu sady SDK z příkazového řádku ve Windows, macOS nebo Linuxu, použijte následující příkaz:
dotnet build
Soubor .dacpac
, který je výsledkem sestavení SQL projektu ve stylu SDK, je kompatibilní s nástroji přidruženými k architektuře aplikace datové vrstvy (.dacpac
, .bacpac
), včetně SqlPackage a GitHub sql-action.
Možnosti projektu
V projektech SQL existuje několik možností, které lze zadat v .sqlproj
souboru, které mají vliv na model databáze buď při sestavení projektu nebo nasazení. Následující části popisují některé z těchto funkcí, které jsou k dispozici pro projekty Microsoft.Build.Sql.
Cílová platforma
Vlastnost cílové platformy je obsažena ve DSP
značce v .sqlproj
souboru pod položkou <PropertyGroup>
. Cílová platforma se používá během sestavování projektu k ověření podpory funkcí zahrnutých v projektu a je přidána do .dacpac
souboru jako vlastnost. Ve výchozím nastavení se cílová platforma kontroluje u cílové databáze, aby se zajistila kompatibilita. Pokud cílová databáze nepodporuje cílovou platformu, nasazení selže, pokud není zadána možnost přepsání publikování.
<Project DefaultTargets="Build">
<Sdk Name="Microsoft.Build.Sql" Version="0.1.12-preview" />
<PropertyGroup>
<Name>AdventureWorks</Name>
<DSP>Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider</DSP>
</PropertyGroup>
Platná nastavení pro cílovou platformu jsou:
Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.Sql130DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.Sql140DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.Sql150DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.Sql160DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.SqlDwDatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.SqlServerlessDatabaseSchemaProvider
Microsoft.Data.Tools.Schema.Sql.SqlDwUnifiedDatabaseSchemaProvider
Odkazy na databáze
Ověření modelu databáze v době sestavení lze rozšířit o obsah projektu SQL prostřednictvím odkazů na databáze. Odkazy na databáze zadané v .sqlproj
souboru mohou odkazovat na jiný projekt SQL nebo .dacpac
soubor představující jinou databázi nebo více součástí stejné databáze.
Pro odkazy na databáze, které představují jinou databázi, jsou k dispozici následující atributy:
-
DatabaseSqlCmdVariable: Hodnota je název proměnné, která se používá k odkazování na databázi.
- Nastavení odkazu:
<DatabaseSqlCmdVariable>SomeOtherDatabase</DatabaseSqlCmdVariable>
- Příklad použití:
SELECT * FROM [$(SomeOtherDatabase)].dbo.Table1
- Nastavení odkazu:
-
ServerSqlCmdVariable: Hodnota je název proměnné, která se používá k odkazování na server, kde se databáze nachází. používá se s DatabaseSqlCmdVariable, pokud je databáze na jiném serveru.
- Nastavení odkazu:
<ServerSqlCmdVariable>SomeOtherServer</ServerSqlCmdVariable>
- Příklad použití:
SELECT * FROM [$(SomeOtherServer)].[$(SomeOtherDatabase)].dbo.Table1
- Nastavení odkazu:
-
DatabaseVariableLiteralValue: hodnota je doslovný název databáze, jak se používá v projektu SQL, podobně jako
DatabaseSqlCmdVariable
, ale odkaz na jinou databázi je doslovná hodnota.- Nastavení odkazu:
<DatabaseVariableLiteralValue>SomeOtherDatabase</DatabaseVariableLiteralValue>
- Příklad použití:
SELECT * FROM [SomeOtherDatabase].dbo.Table1
- Nastavení odkazu:
V souboru projektu SQL je odkaz na databázi určen jako ArtifactReference
položka s atributem Include
nastaveným na cestu k .dacpac
souboru.
<ItemGroup>
<ArtifactReference Include="SampleA.dacpac">
<DatabaseSqlCmdVariable>DatabaseA</DatabaseSqlCmdVariable>
</ArtifactReference>
</ItemGroup>
</Project>
Odkazy na balíčky
Odkazy na balíčky se používají k odkazování na balíčky NuGet, které obsahují .dacpac
soubor, a slouží k rozšíření modelu databáze v době sestavení podobně jako odkaz na databázi.
Následující příklad ze souboru projektu SQL odkazuje na Microsoft.SqlServer.Dacpacs
balíček pro master
databázi.
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs" Version="160.0.0" />
</ItemGroup>
</Project>
Kromě atributů dostupných pro odkazy na databáze je možné zadat následující DacpacName
atribut, který vybere .dacpac
z balíčku, který obsahuje více .dacpac
souborů.
<ItemGroup>
<PackageReference Include="Microsoft.SqlServer.Dacpacs" Version="160.0.0">
<DacpacName>msdb</DacpacName>
</PackageReference>
</ItemGroup>
</Project>
Proměnné SqlCmd
Proměnné SqlCmd lze definovat v .sqlproj
souboru a slouží k nahrazení tokenů v objektech a skriptech SQL během .dacpac
nasazování. Následující příklad ze souboru projektu SQL definuje proměnnou s názvem EnvironmentName
, která je k dispozici pro použití v objektech a skriptech projektu.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
Při nasazení zkompilovaného projektu SQL (.dacpac
) se hodnota proměnné nahradí hodnotou zadanou v příkazu nasazení. Například následující příkaz nasadí AdventureWorks.dacpac
a nastaví hodnotu EnvironmentName
proměnné na production
.
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
Skripty před nasazením/po nasazení
Skripty před nasazením jsou skripty SQL, které jsou součástí projektu, které se mají spustit během nasazení. Skripty před a po nasazení jsou součástí .dacpac
, ale nejsou zkompilovány ani ověřeny pomocí modelu databázového objektu. Před nasazením se spustí skript před nasazením databázového modelu a po použití databázového modelu se spustí skript po nasazení. Následující příklad ze souboru projektu SQL přidá soubor populate-app-settings.sql
jako skript po nasazení.
<ItemGroup>
<PostDeploy Include="populate-app-settings.sql" />
</ItemGroup>
</Project>