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őkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Az SQL-adatbázisprojektek fejlesztési ciklusa lehetővé teszi, hogy az adatbázis-fejlesztés integrálható legyen egy folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) munkafolyamatba, amely a fejlesztési ajánlott eljárásként ismert. Bár az SQL Database-projekt üzembe helyezése manuálisan is elvégezhető, javasoljuk, hogy üzembe helyezési folyamat használatával automatizálja az üzembe helyezési folyamatot, hogy a folyamatban lévő üzembe helyezések a folyamatos helyi fejlesztés alapján fussanak további erőfeszítések nélkül.
Ez a cikk egy új SQL-projekt létrehozását, a projekt objektumainak hozzáadását, valamint a projekt GitHub-műveletekkel történő kiépítéséhez és üzembe helyezéséhez szükséges folyamatos üzembehelyezési folyamat beállítását ismerteti. Az oktatóanyag az SQL adatbázis projektek Első lépések című cikkének tartalmának kibővített változata. Bár az oktatóanyag a GitHub-műveletekben implementálja az üzembe helyezési folyamatot, ugyanezek az alapelvek vonatkoznak az Azure DevOpsra, a GitLabre és más automatizálási környezetekre is.
Ebben az oktatóanyagban ön:
- Új SQL-projekt létrehozása
- Objektumok hozzáadása a projekthez
- A projekt helyi létrehozása
- A projekt ellenőrzése a forrásvezérlőben
- Projekt buildelési lépésének hozzáadása egy folyamatos üzembehelyezési folyamathoz
-
.dacpacüzembe helyezési lépés hozzáadása egy folyamatos üzembehelyezési folyamathoz
Ha már elvégezte az SQL Database-projektek használatának lépéseit, ugorjon 4. lépésre. Az oktatóanyag végén az SQL-projekt automatikusan létrehozza és üzembe helyezi a módosításokat egy céladatbázison.
Prerequisites
- .NET 8 SDK
- Visual Studio 2022 Community, Professional vagy Enterprise
- Visual Studio SQL Server Data Tools (SSDT) telepítése
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Győződjön meg arról, hogy rendelkezik a következő elemekkel a folyamat beállításának befejezéséhez a GitHubon:
Egy GitHub-fiók, ahol adattárat hozhat létre. Hozzon létre egyet ingyen.
A GitHub-műveletek engedélyezett az adattárban.
Note
Az SQL Database-projekt üzembe helyezésének befejezéséhez hozzá kell férnie egy Azure SQL- vagy SQL Server-példányhoz. Helyileg ingyenesen fejleszthet SQL Server fejlesztői kiadással Windowson vagy tárolókban.
1. lépés: Új projekt létrehozása
A projektet úgy kezdjük el, hogy létrehozunk egy új SQL Database-projektet, mielőtt manuálisan hozzáadnánk az objektumokat. Más módokon is létrehozhat olyan projektet, amely lehetővé teszi a projekt azonnali feltöltését egy meglévő adatbázis objektumaival, például a séma-összehasonlító eszközök.
Válassza Fájl, Új, majd Projektlehetőséget.
Az Új projekt párbeszédpanelen használja az SQL Server kifejezést a keresőmezőben. A legjobb eredménynek a SQL Server Database Projectkell lennie.
A következő lépéshez válassza a Tovább lehetőséget. Adjon meg egy projektnevet, amelynek nem kell egyeznie az adatbázis nevével. Szükség szerint ellenőrizze és módosítsa a projekt helyét.
Válassza a Create opciót a projekt létrehozásához. Az üres projekt megnyílik és a Megoldáskezelő-ben szerkeszthető módon látható.
Válassza Fájl, Új, majd Projektlehetőséget.
Az Új projekt párbeszédpanelen használja az SQL Server kifejezést a keresőmezőben. A legjobb eredmény SQL Server Database Project, SDK-stílusú (előzetes verzió).
A következő lépéshez válassza a Tovább lehetőséget. Adjon meg egy projektnevet, amelynek nem kell egyeznie az adatbázis nevével. Szükség szerint ellenőrizze és módosítsa a projekt helyét.
Válassza a Create opciót a projekt létrehozásához. Az üres projekt megnyílik és a Megoldáskezelő-ben szerkeszthető módon látható.
Az Database Projects VS Code vagy Azure Data Studio nézetében válassza az Új projekt gombot.
Az első kérdés meghatározza a használni kívánt projektsablont, elsősorban attól függően, hogy a célplatform az SQL Server vagy az Azure SQL. Ha a rendszer az SQL egy adott verziójának kiválasztására kéri, válassza ki a céladatbázisnak megfelelő verziót, de ha a céladatbázis verziója ismeretlen, válassza ki a legújabb verziót, mert az érték később módosítható.
Adjon meg egy projektnevet a megjelenő szövegbevitelben, amelynek nem kell egyeznie az adatbázis nevével.
A megjelenő "Mappa kiválasztása" párbeszédpanelen válassza ki a projekt mappájának, .sqlproj fájljának és egyéb tartalmainak könyvtárát.
Amikor a rendszer megkérdezi, hogy szeretne-e SDK-stílusú projektet létrehozni, válassza Igenlehetőséget.
Miután elkészült, az üres projekt megnyílik és látható lesz az Adatbázis-projektek nézetben szerkesztésre.
Ha telepítve vannak a Microsoft.Build.Sql-projektek .NET-sablonjai, létrehozhat egy új SQL-adatbázisprojektet a parancssorból. A -n beállítás megadja a projekt nevét, a -tp beállítás pedig a projekt célplatformját.
A -h beállítással megtekintheti az összes elérhető lehetőséget.
# create a new SQL database project
dotnet new sqlproj -n MyDatabaseProject
2. lépés: Objektumok hozzáadása a projekthez
A Megoldáskezelő, kattintson a jobb gombbal a projektcsomópontra, és válassza a Hozzáadás, majd a Tábla lehetőséget. Megjelenik az Új elem hozzáadása párbeszédpanel, ahol megadhatja a tábla nevét. Válassza az -t, adja hozzá a-et a tábla létrehozásához az SQL-projektben.
A tábla a Visual Studio táblatervezőjében nyílik meg a sablontábla definíciójával, ahol oszlopokat, indexeket és egyéb táblázattulajdonságokat adhat hozzá. Mentse a fájlt, amikor végzett a kezdeti módosításokkal.
További adatbázis-objektumokat is hozzáadhat az Új elem hozzáadása párbeszédpanelen, például nézetek, tárolt eljárások és függvények. A párbeszédpanel eléréséhez kattintson a jobb gombbal a projektcsomópontra Megoldáskezelőben, majd válassza a hozzáadása lehetőséget, majd a kívánt objektumtípust. A projekt fájljai mappákba rendezhetők az Új mappa beállítással, hozzáadása lehetőségnél.
A Megoldáskezelőbenkattintson a jobb gombbal a projektcsomópontra, és válassza hozzáadása, majd Új elemlehetőséget. Megjelenik az Új elem hozzáadása párbeszédpanel, válassza a Minden sablon megjelenítése lehetőséget, majd Tábla. Adja meg a tábla nevét fájlnévként, és válassza a hozzáadása lehetőséget a tábla SQL-projektben való létrehozásához.
A tábla a Visual Studio lekérdezésszerkesztőjében nyílik meg a sablontábla definíciójával, ahol oszlopokat, indexeket és egyéb táblatulajdonságokat adhat hozzá. Mentse a fájlt, amikor végzett a kezdeti módosításokkal.
További adatbázis-objektumokat is hozzáadhat az Új elem hozzáadása párbeszédpanelen, például nézetek, tárolt eljárások és függvények. A párbeszédpanel eléréséhez kattintson a jobb gombbal a projektcsomópontra a Megoldáskezelőben, majd válassza a hozzáadása lehetőséget, majd a kívánt objektumtípust, miután Az összes sablon megjelenítése. A projekt fájljai mappákba rendezhetők az Új mappa beállítással, hozzáadása lehetőségnél.
Az Database Projects VS Code vagy Azure Data Studio nézetében kattintson a jobb gombbal a projektcsomópontra, és válassza a Tábla hozzáadásalehetőséget. A megjelenő párbeszédpanelen adja meg a tábla nevét.
A tábla megnyílik a szövegszerkesztőben a sablontábla definíciójával, ahol oszlopokat, indexeket és egyéb táblázattulajdonságokat vehet fel. Mentse a fájlt, amikor végzett a kezdeti módosításokkal.
A projektcsomópont helyi menüjében további adatbázis-objektumok is hozzáadhatók, például nézetek, tárolt eljárások és függvények. A párbeszédpanel eléréséhez kattintson a jobb gombbal a projektcsomópontra Adatbázisprojektek VS Code vagy Azure Data Studio nézetében, majd a kívánt objektumtípusra. A projekt fájljai mappákba rendezhetők az Új mappa beállítással, hozzáadása lehetőségnél.
A fájlok hozzáadhatók a projekthez a projektkönyvtárban vagy a beágyazott mappákban való létrehozásukkal. A fájlkiterjesztésnek .sql-nak kell lennie, és ajánlott az objektumtípus vagy séma és objektumtípus szerint szervezni.
A tábla alapsablonja kiindulási pontként használható egy új táblaobjektum létrehozásához a projektben:
CREATE TABLE [dbo].[Table1]
(
[Id] INT NOT NULL PRIMARY KEY
);
3. lépés: A projekt létrehozása
A létrehozási folyamat ellenőrzi az objektumok és a szintaxis közötti kapcsolatokat a projektfájlban megadott célplatformon. A buildelési folyamat összetevő-kimenete egy .dacpac fájl, amely a projekt céladatbázisban való üzembe helyezésére használható, és tartalmazza az adatbázisséma lefordított modelljét.
A Megoldáskezelőkattintson a jobb gombbal a projektcsomópontra, és válassza a Buildlehetőséget.
A kimeneti ablak automatikusan megnyílik a buildelési folyamat megjelenítéséhez. Ha hibák vagy figyelmeztetések vannak, azok megjelennek a kimeneti ablakban. Sikeres build esetén létrejön a build-összetevő (.dacpac fájl), és helye szerepel a build kimenetében (alapértelmezés szerint bin\Debug\projectname.dacpac).
A Megoldáskezelőkattintson a jobb gombbal a projektcsomópontra, és válassza a Buildlehetőséget.
A kimeneti ablak automatikusan megnyílik a buildelési folyamat megjelenítéséhez. Ha hibák vagy figyelmeztetések vannak, azok megjelennek a kimeneti ablakban. Sikeres build esetén létrejön a build-összetevő (.dacpac fájl), és helye szerepel a build kimenetében (alapértelmezés szerint bin\Debug\projectname.dacpac).
Az Database Projects VS Code vagy Azure Data Studio nézetében kattintson a jobb gombbal a projektcsomópontra, és válassza a Buildlehetőséget.
A kimeneti ablak automatikusan megnyílik a buildelési folyamat megjelenítéséhez. Ha hibák vagy figyelmeztetések vannak, azok megjelennek a kimeneti ablakban. Sikeres build esetén létrejön a build-összetevő (.dacpac fájl), és helye szerepel a build kimenetében (alapértelmezés szerint bin/Debug/projectname.dacpac).
Az SQL-adatbázisprojektek a parancssorból hozhatók létre a dotnet build paranccsal.
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
A build kimenete tartalmazza az esetleges hibákat vagy figyelmeztetéseket, valamint az adott fájlokat és sorszámokat, ahol azok előfordulnak. Sikeres build esetén létrejön a build-összetevő (.dacpac fájl), és helye szerepel a build kimenetében (alapértelmezés szerint bin/Debug/projectname.dacpac).
4. lépés: A projekt ellenőrzése a forráskövetésben
A projektet Git-adattárként inicializáljuk, és véglegesítjük a projektfájlokat a forráskövetéshez. Ez a lépés szükséges ahhoz, hogy a projektet meg lehessen osztani másokkal, és hogy folyamatos üzembe helyezési folyamatban lehessen használni.
A Visual Studio Git menüjében válassza Git-adattár létrehozásalehetőséget.
A Git-adattár létrehozása párbeszédablak Új távoli helyre történő leküldés részében válassza ki a GitHublehetőséget.
A GitHub-adattár létrehozásaGit-adattár létrehozása párbeszédpanelen adja meg a létrehozni kívánt adattár nevét. (Ha még nem jelentkezett be a GitHub-fiókjába, ezt ezen a képernyőn is megteheti.)
A Helyi Git-repozitórium inicializálásaterületen a .gitignore sablon beállítással adja meg azokat a szándékosan nem követett fájlokat, amelyeket figyelmen kívül szeretné hagyni a Git. A .gitignore-ról további információt a Fájlok figyelmen kívül hagyásacímű témakörben talál. A licenceléssel kapcsolatos további információkért lásd: Adattár licencelése.
Miután bejelentkezett, és megadta az adattár adatait, válassza a Létrehozás és leküldés gombot az adattár létrehozásához és az alkalmazás hozzáadásához.
A Megoldáskezelőbenkattintson a jobb gombbal a projektcsomópontra, és válassza a Közzététel...lehetőséget.
Ekkor megnyílik a közzétételi párbeszédpanel, ahol létrehozza a céladatbázis-kapcsolatot. Ha nincs meglévő SQL-példánya az üzembe helyezéshez, a LocalDB ((localdb)\MSSQLLocalDB) telepítve van a Visual Studióval, és teszteléshez és fejlesztéshez használható.
Adjon meg egy adatbázisnevet, és válassza a Közzététel lehetőséget a projekt céladatbázisba való üzembe helyezéséhez, vagy a Szkript létrehozása lehetőséget szkript generálásához a végrehajtás előtti áttekintéshez.
Inicializálhatja és helyi adattárat helyezhet el, és közvetlenül közzéteheti a GitHubon a VS Code-ból vagy az Azure Data Studióból. Ez a művelet létrehoz egy új adattárat a GitHub-fiókjában, és egyetlen lépésben leküldi a helyi kód módosításait a távoli adattárba.
Használja a Közzététel GitHubra gombot a VS Code vagy az Azure Data Studio Forráskezelés nézetben. Ezután a rendszer kérni fogja, hogy adja meg az adattár nevét és leírását, valamint azt, hogy nyilvánossá vagy privátsá tegye-e.
Másik lehetőségként inicializálhat egy helyi tárolót, és feltöltheti a GitHubra a GitHub-on történő üres tároló létrehozásakor megadott lépéseket követve.
Inicializáljon egy új Git-adattárat a projektkönyvtárban, és véglegesítse a projektfájlokat a forrásvezérlőben.
git init
git add .
git commit -m "Initial commit"
Hozzon létre egy új adattárat a GitHubon, és küldje le a helyi adattárat a távoli adattárba.
git remote add origin <repository-url>
git push -u origin main
5. lépés: Projekt buildelési lépésének hozzáadása egy folyamatos üzembehelyezési folyamathoz
Az SQL-projekteket egy .NET-kódtár készíti el, és ennek eredményeként a projektek a dotnet build paranccsal jönnek létre. Ez a parancs még a legalapvetőbb folyamatos integrációs és folyamatos üzembehelyezési (CI/CD)-folyamatok kapocsja is. A buildelési lépés hozzáadható egy GitHub-műveletekben létrehozott folyamatos üzembehelyezési folyamathoz.
Az adattár gyökerében hozzon létre egy új,
.github/workflowsnevű könyvtárat. Ez a könyvtár tartalmazza a folyamatos üzembehelyezési folyamatot meghatározó munkafolyamat-fájlt.A
.github/workflowskönyvtárban hozzon létre egysqlproj-sample.ymlnevű új fájlt.Adja hozzá a következő tartalmat a
sqlproj-sample.ymlfájlhoz, és szerkessze a projekt nevét úgy, hogy az a saját projektjének nevével és elérési útjával megegyezzen.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.sqlprojVéglegesítse a munkafolyamat-fájlt az adattárba, és küldje el a módosításokat a távoli adattárba.
A GitHub.com oldalon navigáljon a tárház főoldalára. Az adattár neve alatt válassza a Műveleteklehetőséget. A bal oldali oldalsávon válassza ki az imént létrehozott munkafolyamatot. A munkafolyamat legutóbbi futtatásának szerepelnie kell a munkafolyamat-futtatások listájában, amikor leküldte a munkafolyamat-fájlt az adattárba.
További információ az első GitHub Actions-munkafolyamat létrehozásának alapjairól a GitHub Actions gyorsútmutatójábanérhető el.
6. lépés: .dacpac üzembe helyezési lépés hozzáadása egy folyamatos üzembehelyezési folyamathoz
A .dacpac fájlban lévő adatbázisséma lefordított modellje üzembe helyezhető egy céladatbázisban a SqlPackage parancssori eszközzel vagy más üzembe helyezési eszközökkel. Az üzembe helyezési folyamat meghatározza a céladatbázis frissítéséhez szükséges lépéseket a .dacpacdefiniált sémának megfelelően, és szükség szerint objektumokat hoz létre vagy módosít az adatbázisban már meglévő objektumok alapján. Ha például egy .dacpac fájlt szeretne üzembe helyezni egy céladatbázisban egy kapcsolati sztring alapján:
sqlpackage /Action:Publish /SourceFile:bin/Debug/MyDatabaseProject.dacpac /TargetConnectionString:{yourconnectionstring}
Az üzembe helyezési folyamat idempotens, ami azt jelenti, hogy többször is futtatható probléma nélkül. A létrehozandó folyamat folyamatosan létrehozza és üzembe helyezi az SQL-projektet, amikor bármilyen módosítás bekerül az adattár main ágába. Ahelyett, hogy közvetlenül az üzembe helyezési folyamatunkban futtatnánk a SqlPackage parancsot, használhatunk egy üzembe helyezési feladatot, amely elvonja a parancsot, és további funkciókat biztosít, például naplózást, hibakezelést és feladatkonfigurációt. Az üzembe helyezési feladat GitHub sql-action a GitHub-műveletek folyamatos üzembehelyezési folyamatához adható hozzá.
Note
Az üzembe helyezés automatizálási környezetből való futtatásához konfigurálni kell az adatbázist és a környezetet, hogy az üzembe helyezés elérje az adatbázist, és hitelesítse azt. Az Azure SQL Database-ben vagy a virtuális gépen futó SQL Serverben ez szükségessé teheti egy tűzfalszabály beállítását, amely lehetővé teszi az automatizálási környezet számára az adatbázishoz való csatlakozást, valamint egy kapcsolati sztring megadását a szükséges hitelesítő adatokkal. Útmutatást az GitHub sql-action dokumentációjában talál.
Nyissa meg a
sqlproj-sample.ymlfájlt a.github/workflowskönyvtárban.Adja hozzá a következő lépést a
sqlproj-sample.ymlfájlhoz a buildelési lépés után:- name: Deploy uses: azure/sql-action@v2 with: connection-string: ${{ secrets.SQL_CONNECTION_STRING }} action: 'publish' path: 'bin/Debug/MyDatabaseProject.dacpac'A módosítások véglegesítése előtt adjon hozzá egy titkos adatot az adattárhoz, amely tartalmazza a céladatbázis kapcsolati sztringjét. A GitHub.com adattárában keresse meg Beállítások, majd Titkos kódok. Válassza a(z) Új adattártitkosítást, és adjon hozzá egy
SQL_CONNECTION_STRINGnevű titkos kulcsot a csatlakozási sztringgel a céladatbázishoz.Rögzítse a
sqlproj-sample.ymljelű módosításokat az adattárban, és küldje el azokat a távoli adattárba.Lépjen vissza GitHub.com munkafolyamat-előzményeihez, és válassza ki a munkafolyamat legutóbbi futtatását. Az üzembe helyezési lépésnek láthatónak kell lennie a munkafolyamat futtatásának lépéseinek listájában, és a munkafolyamat sikerkódot ad vissza.
Az üzembe helyezés ellenőrzéséhez csatlakozzon a céladatbázishoz, és ellenőrizze, hogy a projekt objektumai megtalálhatók-e az adatbázisban.
A GitHub-üzemelő példányok tovább védhetők, ha környezeti kapcsolatot létesítenek egy munkafolyamatban, és jóváhagyást igényelnek az üzembe helyezés futtatása előtt. A környezetvédelemről és a titkos kódok védelméről további információt a GitHub Actions dokumentációjában talál.