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 Database v Microsoft Fabric
Vývojový cyklus projektu databáze SQL umožňuje integraci vývoje databází do pracovních postupů kontinuální integrace a průběžného nasazování (CI/CD), které jsou známé jako osvědčený postup vývoje. I když je možné nasazení projektu databáze SQL provést ručně, doporučujeme použít kanál nasazení k automatizaci procesu nasazení tak, aby probíhající nasazení běžela na základě vašeho trvalého místního vývoje bez dalšího úsilí.
Tento článek popisuje vytvoření nového projektu SQL, přidání objektů do projektu a nastavení kanálu průběžného nasazování pro sestavení a nasazení projektu pomocí GitHub Actions. Tento kurz je nadmnožinou obsahu článku Začínáme s projekty databáze SQL. Zatímco kurz implementuje kanál nasazení v GitHub Actions, stejné koncepty platí pro Azure DevOps, GitLab a další automatizační prostředí.
V tomto kurzu:
- Vytvoření nového projektu SQL
- Přidání objektů do projektu
- Sestavte projekt lokálně
- Kontrola projektu ve správě zdrojového kódu
- Přidání kroku sestavení projektu do kanálu průběžného nasazování
- Přidání kroku nasazení
.dacpac
do procesu průběžného nasazování
Pokud jste už dokončili kroky začínáme s projekty databáze SQL, můžete přeskočit na krok 4. Na tomto konci tohoto kurzu se projekt SQL automaticky sestaví a nasadí změny do cílové databáze.
- .NET 8 SDK
- VS Code
- rozšíření SQL Database Projects nebo rozšíření SQL Database Projects pro VS Code
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Ujistěte se, že máte k dokončení nastavení pipeline na GitHubu následující položky:
Účet GitHubu, kde můžete vytvořit úložiště. Vytvořit jeden zdarma.
GitHub Actions je povolené ve vašem úložišti.
Poznámka
K dokončení nasazení projektu databáze SQL potřebujete přístup k instanci Azure SQL nebo SQL Serveru. Můžete vyvíjet místně zdarma s SQL Server developer edition ve Windows nebo v kontejnerech .
Projekt zahájíme tak, že před ručním přidáním objektů do něj vytvoříme nový projekt databáze SQL. Existují další způsoby, jak vytvořit projekt, který umožňuje okamžité naplnění projektu objekty z existující databáze, například pomocí nástrojů pro porovnání schémat .
Vyberte soubor, nový, a pak projekt.
V dialogovém okně Nový projekt použijte výraz SQL Server ve vyhledávacím poli. Nejlepší výsledek by měl být projekt databáze SQL Serveru.
Pokud chcete pokračovat k dalšímu kroku, vyberte Další. Zadejte název projektu, který se nemusí shodovat s názvem databáze. Podle potřeby ověřte a upravte umístění projektu.
Vyberte možnost Vytvořit pro vytvoření projektu. Prázdný projekt se otevře a zobrazí v průzkumníku řešení pro úpravy.
Vyberte soubor, nový, a pak projekt.
V dialogovém okně Nový projekt použijte výraz SQL Server ve vyhledávacím poli. Hlavní výsledek by měl být projekt databáze SQL Serveru, ve stylu SDK (preview).
Pokud chcete pokračovat k dalšímu kroku, vyberte Další. Zadejte název projektu, který se nemusí shodovat s názvem databáze. Podle potřeby ověřte a upravte umístění projektu.
Vyberte možnost Vytvořit pro vytvoření projektu. Prázdný projekt se otevře a zobrazí v průzkumníku řešení pro úpravy.
V zobrazení Databázové projekty ve VS Code nebo Azure Data Studio vyberte tlačítko Nový projekt.
První výzva určuje, která šablona projektu se má použít, a primárně na základě toho, jestli je cílovou platformou SQL Server nebo Azure SQL. Pokud se zobrazí výzva k výběru konkrétní verze SQL, zvolte verzi, která odpovídá cílové databázi, ale pokud je verze cílové databáze neznámá, zvolte nejnovější verzi, protože hodnotu lze později upravit.
Do zobrazeného textového vstupu zadejte název projektu, který nemusí odpovídat názvu databáze.
V dialogovém okně Vybrat složku, které se zobrazí, vyberte adresář pro složku projektu, .sqlproj
soubor a další obsah, ve kterém se má nacházet.
Po zobrazení výzvy, zda chcete vytvořit projekt ve stylu sady SDK, vyberte Ano.
Po dokončení se prázdný projekt otevře a zobrazí v zobrazení Databázových projektů pro úpravy.
Pomocí šablon .NET pro projekty Microsoft.Build.Sql můžete vytvořit nový projekt databáze SQL z příkazového řádku. Možnost -n
určuje název projektu a možnost -tp
určuje cílovou platformu projektu.
Pomocí možnosti -h
zobrazíte všechny dostupné možnosti.
# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject
V Průzkumníku řešeníklikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat, potom Tabulka. Zobrazí se dialogové okno Přidat novou položku, kde můžete zadat název tabulky. Vyberte Přidat a vytvořte tabulku v projektu SQL.
Tabulka se otevře v návrháři tabulek sady Visual Studio s definicí tabulky šablony, kde můžete přidat sloupce, indexy a další vlastnosti tabulky. Až dokončíte počáteční úpravy, soubor uložte.
Další databázové objekty je možné přidat prostřednictvím dialogového okna Přidat novou položku, jako jsou zobrazení, uložené procedury a funkce. Přejděte do dialogového okna tak, že kliknete pravým tlačítkem na uzel projektu v průzkumníku řešení a vyberete Přidata potom požadovaný typ objektu. Soubory v projektu lze uspořádat do složek prostřednictvím možnosti Nová složka v části Přidat.
V Průzkumníku řešeníklikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat, poté Nová položka. Zobrazí se dialogové okno Přidat novou položku, vyberte Zobrazit všechny šablony a pak tabulka. Zadejte název tabulky jako název souboru a vyberte Přidat a vytvořte tabulku v projektu SQL.
Tabulka se otevře v editoru dotazů sady Visual Studio s definicí tabulky šablony, kde můžete přidat sloupce, indexy a další vlastnosti tabulky. Až dokončíte počáteční úpravy, soubor uložte.
Další databázové objekty je možné přidat prostřednictvím dialogového okna Přidat novou položku, jako jsou zobrazení, uložené procedury a funkce. Otevřete dialogové okno kliknutím pravým tlačítkem myši na uzel projektu v Průzkumníku řešení a vyberete možnost Přidat, pak vyberte požadovaný typ objektu poté, co zvolíte Zobrazit všechny šablony. Soubory v projektu lze uspořádat do složek prostřednictvím možnosti Nová složka v části Přidat.
V zobrazení Databázové projekty nástroje VS Code nebo Azure Data Studio klikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat tabulku. V zobrazeném dialogovém okně zadejte název tabulky.
Tabulka se otevře v textovém editoru s definicí tabulky šablony, kde můžete přidat sloupce, indexy a další vlastnosti tabulky. Až dokončíte počáteční úpravy, soubor uložte.
Další databázové objekty je možné přidat prostřednictvím místní nabídky v uzlu projektu, jako jsou zobrazení, uložené procedury a funkce. Otevřete dialogové okno kliknutím pravým tlačítkem myši na uzel projektu v zobrazení Databázových projektů ve VS Code nebo Azure Data Studio a poté vyberte požadovaný typ objektu. Soubory v projektu lze uspořádat do složek prostřednictvím možnosti Nová složka v části Přidat.
Soubory lze do projektu přidat tak, že je vytvoříte v adresáři projektu nebo vnořených složkách. Přípona souboru by měla být .sql
a organizace podle typu objektu nebo schématu a typu objektu se doporučuje.
Základní šablonu tabulky lze použít jako výchozí bod pro vytvoření nového objektu tabulky v projektu:
CREATE TABLE [dbo].[Table1]
(
[Id] INT NOT NULL PRIMARY KEY
);
Proces sestavení ověří vztahy mezi objekty a syntaxí s cílovou platformou zadanou v souboru projektu. Výstup artefaktu z procesu sestavení je soubor .dacpac
, který lze použít k nasazení projektu do cílové databáze a obsahuje zkompilovaný model schématu databáze.
V Průzkumníku řešeníklikněte pravým tlačítkem na uzel projektu a vyberte Sestavit.
Automaticky se otevře okno výstupu pro zobrazení procesu sestavení. Pokud dojde k chybám nebo upozorněním, zobrazí se ve výstupním okně. Při úspěšném sestavení se vytvoří artefakt sestavení (soubor.dacpac
) a jeho umístění je zahrnuto ve výstupu sestavení (výchozí hodnota je bin\Debug\projectname.dacpac
).
V Průzkumníku řešeníklikněte pravým tlačítkem na uzel projektu a vyberte Sestavit.
Automaticky se otevře okno výstupu pro zobrazení procesu sestavení. Pokud dojde k chybám nebo upozorněním, zobrazí se ve výstupním okně. Při úspěšném sestavení se vytvoří artefakt sestavení (soubor.dacpac
) a jeho umístění je zahrnuto ve výstupu sestavení (výchozí hodnota je bin\Debug\projectname.dacpac
).
Ve zobrazení databázového projektu nástroje VS Code nebo Azure Data Studio klikněte pravým tlačítkem na uzel projektu a vyberte Sestavit.
Automaticky se otevře okno výstupu pro zobrazení procesu sestavení. Pokud dojde k chybám nebo upozorněním, zobrazí se ve výstupním okně. Při úspěšném sestavení se vytvoří artefakt sestavení (soubor.dacpac
) a jeho umístění je zahrnuto ve výstupu sestavení (výchozí hodnota je bin/Debug/projectname.dacpac
).
Projekty databáze SQL je možné sestavit z příkazového řádku pomocí příkazu dotnet build
.
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
Výstup sestavení obsahuje všechny chyby nebo upozornění a konkrétní soubory a čísla řádků, ve kterých k nim dochází. Při úspěšném sestavení se vytvoří artefakt sestavení (soubor.dacpac
) a jeho umístění je zahrnuto ve výstupu sestavení (výchozí hodnota je bin/Debug/projectname.dacpac
).
Projekt inicializujeme jako úložiště Git a potvrdíme soubory projektu do správy zdrojového kódu. Tento krok je nezbytný k tomu, aby byl projekt sdílen s ostatními a aby se mohl používat v kanálu průběžného nasazování.
V nabídce Git v sadě Visual Studio vyberte Vytvořit úložiště Git.
V dialogovém okně Vytvořit úložiště Git v části Nasdílení do nového vzdáleného úložiště zvolte GitHub.
V části Vytvoření nového úložiště GitHub v dialogovém okně Vytvoření úložiště Git zadejte název úložiště, které chcete vytvořit. (Pokud jste se ještě nepřihlásili ke svému účtu GitHub, můžete to udělat i z této obrazovky.)
V části Inicializace místního úložiště Gitbyste měli použít možnost šablony .gitignore k určení všech úmyslně nesledovaných souborů, které chcete, aby Git ignoroval. Další informace o souboru .gitignore najdete v tématu Ignorování souborů. Další informace o licencování najdete v tématu Licencování úložiště.
Po přihlášení a zadání informací o úložišti vyberte tlačítko Vytvořit a odeslat, abyste vytvořili úložiště a přidali aplikaci.
V Průzkumníku řešeníklikněte pravým tlačítkem na uzel projektu a vyberte Publikovat....
Otevře se dialogové okno pro publikování, kde nastavíte připojení cílové databáze. Pokud nemáte existující instanci SQL pro nasazení, nainstaluje se v sadě Visual Studio LocalDB ((localdb)\MSSQLLocalDB
) a dá se použít k testování a vývoji.
Zadejte název databáze a vyberte Publikovat nasadit projekt do cílové databáze nebo Generovat skript vygenerovat skript, který se má před spuštěním zkontrolovat.
Můžete inicializovat a místní úložiště a publikovat ho přímo na GitHubu z VS Code nebo Azure Data Studia. Tato akce vytvoří na účtu GitHubu nové úložiště a v jednom kroku odešle změny místního kódu do vzdáleného úložiště.
Použijte tlačítko Publikovat na GitHub v zobrazení Správa zdrojového kódu v editoru VS Code nebo Azure Data Studio. Pak se zobrazí výzva k zadání názvu a popisu úložiště a také k jeho zadání jako veřejného nebo soukromého.
Případně můžete inicializovat místní úložiště a odeslat ho do GitHubu podle kroků uvedených při vytváření prázdného úložiště na GitHubu.
Inicializuje nové úložiště Git v adresáři projektu a potvrdí soubory projektu do správy zdrojového kódu.
git init
git add .
git commit -m "Initial commit"
Vytvořte nové úložiště na GitHubu a odešlete místní úložiště do vzdáleného úložiště.
git remote add origin <repository-url>
git push -u origin main
Projekty SQL jsou podporovány knihovnou .NET a výsledkem je sestavení projektů pomocí příkazu dotnet build
. Tento příkaz je základem dokonce i nejzásadnějších kanálů kontinuální integrace a průběžného nasazování (CI/CD). Krok sestavení je možné přidat do kanálu průběžného nasazování, který vytvoříme v GitHub Actions.
V kořenovém adresáři úložiště vytvořte nový adresář s názvem
.github/workflows
. Tento adresář bude obsahovat soubor pracovního postupu, který definuje kanál průběžného nasazování.V adresáři
.github/workflows
vytvořte nový soubor s názvemsqlproj-sample.yml
.Do souboru
sqlproj-sample.yml
přidejte následující obsah a upravte název projektu tak, aby odpovídal názvu a cestě projektu:name: sqlproj-sample on: push: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup .NET uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: Build run: dotnet build MyDatabaseProject.sqlproj
Potvrďte soubor pracovního postupu do úložiště a odešlete změny do vzdáleného úložiště.
Na GitHub.com přejděte na hlavní stránku úložiště. Pod názvem úložiště vyberte Akce. Na levém bočním panelu vyberte pracovní postup, který jste právě vytvořili. Poslední spuštění pracovního postupu by se mělo zobrazit v seznamu spuštění pracovních postupů od chvíle, kdy jste odeslali soubor pracovního postupu do úložiště.
Další informace o základech vytvoření prvního pracovního postupu GitHub Actions najdete v průvodci rychlým začátkem GitHub Actions .
Kompilovaný model schématu databáze v souboru .dacpac
lze nasadit do cílové databáze pomocí nástroje příkazového řádku SqlPackage
nebo jiných nástrojů pro nasazení. Proces nasazení určuje nezbytné kroky k aktualizaci cílové databáze tak, aby odpovídala schématu definovanému v .dacpac
, vytváření nebo změny objektů podle potřeby na základě objektů, které již v databázi existují. Pokud chcete například nasadit soubor .dacpac
do cílové databáze na základě připojovacího řetězce:
sqlpackage /Action:Publish /SourceFile:bin/Debug/MyDatabaseProject.dacpac /TargetConnectionString:{yourconnectionstring}
Proces nasazení je idempotentní, což znamená, že se dá spustit několikrát, aniž by to způsobovalo problémy. Pipeline, který vytváříme, sestaví a nasadí náš projekt SQL pokaždé, když je změna zapsána do větve main
našeho úložiště. Místo spuštění příkazu SqlPackage
přímo v kanálu nasazení můžeme použít úlohu nasazení, která příkaz abstrahuje a poskytuje další funkce, jako je protokolování, zpracování chyb a konfigurace úloh. Úlohu nasazení GitHub sql-action lze přidat do kanálu průběžného nasazování v GitHub Actions.
Poznámka
Spuštění nasazení z automatizačního prostředí vyžaduje konfiguraci databáze a prostředí tak, aby nasazení mělo přístup k databázi a mohlo se autentizovat. Ve službě Azure SQL Database nebo SQL Serveru na virtuálním počítači to může vyžadovat nastavení pravidla brány firewall, které umožní prostředí automatizace připojit se k databázi a poskytnout připojovací řetězec s potřebnými přihlašovacími údaji. Pokyny najdete v dokumentaci GitHub sql-action.
Otevřete soubor
sqlproj-sample.yml
v adresáři.github/workflows
.Po kroku sestavení přidejte do souboru
sqlproj-sample.yml
následující krok:- name: Deploy uses: azure/sql-action@v2 with: connection-string: ${{ secrets.SQL_CONNECTION_STRING }} action: 'publish' path: 'bin/Debug/MyDatabaseProject.dacpac'
Před potvrzením změn přidejte do úložiště tajný klíč, který obsahuje připojovací řetězec cílové databáze. V úložišti na GitHub.com přejděte do nastavenía potom do tajemství. Vyberte Tajný kód nového úložiště a přidejte tajný kód s názvem
SQL_CONNECTION_STRING
s hodnotou připojovacího řetězce do cílové databáze.Potvrďte změny od
sqlproj-sample.yml
do úložiště a pushněte je do vzdáleného úložiště.Přejděte zpět do historie pracovního postupu v GitHub.com a vyberte poslední spuštění pracovního postupu. Krok nasazení by se měl zobrazit v seznamu kroků pro spuštění pracovního postupu a pracovní postup vrátí kód úspěchu.
Ověřte nasazení tak, že se připojíte k cílové databázi a zkontrolujete, že objekty v projektu jsou v databázi.
Nasazení GitHubu je možné dále zabezpečit vytvořením vztahu prostředí v pracovním postupu a vyžadováním schválení před spuštěním nasazení. Další informace o ochraně prostředí a ochraně tajných kódů jsou k dispozici v dokumentaci GitHub Actions.