SQL Database Projects-bővítmény
Az SQL Database Projects bővítmény egy Azure Data Studio- és Visual Studio Code-bővítmény, amely sql-adatbázisok projektalapú fejlesztési környezetben való fejlesztésére szolgál. A kompatibilis adatbázisok közé tartozik az SQL Server, az Azure SQL Database, az Azure SQL Managed Instance és az Azure Synapse SQL. Az SQL-projektek olyan SQL-objektumok helyi ábrázolása, amelyek egyetlen adatbázis sémáját alkotják, például táblákat, tárolt eljárásokat vagy függvényeket. Sql Database-projekt létrehozásakor a kimeneti összetevő egy .dacpac fájl. Az új és meglévő adatbázisok frissíthetők a .dacpac tartalmának megfelelően az SQL Database-projekt és az SQL Database Projects bővítmény közzétételével, vagy a .dacpac és az SqlPackage parancssori felületének közzétételével.
Bővítményfunkciók
Az SQL Database Projects bővítmény a következő funkciókat biztosítja:
- Hozzon létre egy új üres projektet.
- Hozzon létre egy új projektet egy csatlakoztatott adatbázisból.
- Nyisson meg egy korábban létrehozott projektet az Azure Data Studióban, a Visual Studio Code-ban vagy az SQL Server Data Toolsban.
- Projekt szerkesztése objektumok (táblák, nézetek, tárolt eljárások) vagy egyéni szkriptek hozzáadásával vagy eltávolításával a projektben.
- Fájlok/szkriptek rendezése mappákban.
- Adjon hozzá hivatkozásokat a rendszeradatbázisokra vagy egy felhasználói dacpac-ra.
- Egyetlen projekt létrehozása.
- Egyetlen projekt üzembe helyezése.
- Töltse be a kapcsolat részleteit (SQL Windows-hitelesítés) és SQLCMD-változókat az üzembehelyezési profilból.
Az SQL Database Projects bővítmény alábbi funkciói jelenleg előzetes verzióban érhetők el:
- Hozzon létre új projekteket egy OpenAPI-specifikációs fájlból.
- SDK-stílusú SQL-projektek (Microsoft.Build.Sql).
Ebből a rövid, 10 perces videóból megismerheti az SQL Database Projects bővítményt az Azure Data Studióban:
Telepítés
Az SQL Database Project bővítményt az Azure Data Studióban és a Visual Studio Code-ban telepítheti.
Azure Data Studio
Ha telepíteni szeretné az SQL Database Project bővítményt az Azure Data Studióban, kövesse az alábbi lépéseket:
Nyissa meg a bővítménykezelőt az elérhető bővítmények eléréséhez. Ehhez válassza a Bővítmények ikont, vagy a Nézet menü Bővítmények elemét.
Az SQL Database Projects bővítmény azonosításához írja be a név egészét vagy egy részét a bővítmény keresőmezőjéhez. Válassza ki az elérhető bővítményt a részleteinek megtekintéséhez.
Válassza ki a kívánt bővítményt, és válassza a telepítést.
Válassza az Újratöltés lehetőséget a bővítmény engedélyezéséhez (csak a bővítmény első telepítésekor szükséges).
Válassza a Projektek ikont a tevékenységsávon.
Feljegyzés
A teljes funkcionalitás érdekében javasoljuk, hogy telepítse a Schema Compare bővítményt az SQL Database Projects bővítmény mellett.
Visual Studio Code
Az SQL Database Projects bővítmény a Visual Studio Code mssql-bővítményével van telepítve.
Függőségek
Az SQL Database Projects bővítmény függ a .NET SDK-tól (kötelező) és az AutoRest.Sql-hez (nem kötelező).
.NET SDK
A .NET SDK szükséges a projekt buildelési funkcióihoz, és a rendszer kérni fogja a .NET SDK telepítését, ha a bővítmény nem észlel támogatott verziót. A .NET SDK letölthető és telepíthető Windows, macOS és Linux rendszerekre.
Ha ellenőrizni szeretné a dotnet SDK jelenleg telepített verzióit , nyisson meg egy terminált, és futtassa a következő parancsot:
dotnet --list-sdks
A .NET SDK telepítése után a környezet készen áll az SQL Database Projects bővítmény használatára.
Gyakori problémák
Nuget.org a források listájából való kihagyás olyan hibaüzeneteket eredményezhet, mint például:
error MSB4236: The SDK 'Microsoft.Build.Sql/0.1.9-preview' specified could not be found.
Unable to find package Microsoft.Build.Sql. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages
Annak ellenőrzéséhez, hogy nuget.org forrásként van-e regisztrálva, futtassa dotnet nuget list source
a parancssorból, és tekintse át a nuget.org hivatkozó elem eredményeit [Enabled]
. Ha nuget.org nincs regisztrálva forrásként, futtassa a parancsot dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
.
A nem támogatott .NET SDK-verziók a következő hibaüzeneteket eredményezhetik:
error MSB4018: The "SqlBuildTask" task failed unexpectedly.
error MSB4018: System.TypeInitializationException: The type initializer for 'SqlSchemaModelStaticState' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. [c:\Users\ .sqlproj]_
(ahol a csatolt nem meglévő fájl záró szögletes zárójele nem egyezik).
Ha azt szeretné, hogy az SQL Database Projects bővítmény a .NET SDK v6.x verzióját használja több verzió telepítésekor, adjon hozzá egy global.json fájlt az SQL-projektet tartalmazó mappához.
AutoRest.Sql
Az AutoRest SQL-bővítményét az SQL Database Projects bővítmény automatikusan letölti és használja, amikor egy SQL-projekt openAPI-specifikációs fájlból jön létre.
Korlátozások
Az SQL Database Project bővítmény jelenleg a következő korlátozásokkal rendelkezik:
- A tevékenységek (build/közzététel) nincsenek felhasználó által definiálva.
- A projektek SQLCLR-objektumai nem támogatottak.
- A projektek kódelemzési szabályai jelenleg nem támogatottak.
Munkaterület
Az SQL-adatbázisprojektek egy logikai munkaterületen belül találhatók az Azure Data Studióban és a Visual Studio Code-ban. A munkaterület kezeli az Explorer panelen látható mappákat. Az aktuális munkaterületen megnyitott mappákban lévő összes SQL-projekt alapértelmezés szerint elérhető az SQL Database Projects nézetben.
A projekteket manuálisan is felveheti és eltávolíthatja a munkaterületről a Projektek panel felületén keresztül. A munkaterület beállításai szükség esetén manuálisan szerkeszthetők a .code-workspace
fájlban.
A következő példafájlban .code-workspace
a tömb felsorolja az folders
Explorer panelen található összes mappát, a tömb pedig settings
a dataworkspace.excludedProjects
Projektek panelen kizárt ÖSSZES SQL-projektet.
{
"folders": [
{
"path": "."
},
{
"name": "WideWorldImportersDW",
"path": "..\\WideWorldImportersDW"
}
],
"settings": {
"dataworkspace.excludedProjects": [
"AdventureWorksLT.sqlproj"
]
}
}