Megosztás a következőn keresztül:


Közzétételi profilok áttekintése

A következőre vonatkozik: :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-adatbázis a Microsoft Fabric

A közzétételi profil olyan fájl, amely egy SQL-projekt üzembehelyezési konfigurációját tárolja. A közzétételi profilok beágyazhatják a célkapcsolati információkat, az üzembehelyezési beállításokat és az SQLCMD változóértékeket egy újrafelhasználható .publish.xml fájlba. A közzétételi profilok különösen akkor hasznosak, ha az üzembe helyezés bizonyos beállításokat igényel, például bizonyos objektumtípusok kizárását vagy a célplatform-különbségek figyelmen kívül hagyását. Ahelyett, hogy minden üzembe helyezéskor megadnál ilyen beállításokat, mentsd őket egy közzétételi profilba, és használd újra.

SQL-projektek használatakor több közzétételi profilt is létrehozhat és tárolhat. Az üzembe helyezés során válasszon ki egy közzétételi profilt a konzisztens beállítások alkalmazásához anélkül, hogy manuálisan több lehetőséget választanál ki.

Profilfájlformátum közzététele

A közzétételi profil egy XML-fájl a .publish.xml kiterjesztéssel. A fájl olyan tulajdonságokat és elemeket tartalmaz, amelyek meghatározzák a telepítés viselkedését az XML útvonalon /Project/PropertyGroup.

A közzétételi profilok a következő információkat tartalmazhatják:

  • Target kapcsolati karakterlánc – a céladatbázis-kiszolgáló csatlakozási karakterlánca
  • Céladatbázis neve – az üzembe helyezésre kerülő adatbázis neve
  • Üzembe helyezési beállítások – az üzembe helyezés viselkedését vezérlő beállítások, például a forrásban nem szereplő objektumok elvetése vagy a lehetséges adatvesztés blokkolása
  • SQLCMD változóértékek – az SQL-projektben definiált SQLCMD-változók értékei, az üzembe helyezéskor alkalmazva

Minta közzétételi profil

Az alábbi példa egy olyan közzétételi profilt mutat be, amely egy helyi SQL Server-példányt céloz meg. Két üzembehelyezési lehetőséget állít be, és egy SQLCMD-változóhoz biztosít értéket:

<?xml version="1.0" encoding="utf-8"?>
<Project >
  <PropertyGroup>
    <IncludeCompositeObjects>True</IncludeCompositeObjects>
    <TargetDatabaseName>AdventureWorks</TargetDatabaseName>
    <AllowIncompatiblePlatform>True</AllowIncompatiblePlatform>
    <ProfileVersionNumber>1</ProfileVersionNumber>
  </PropertyGroup>
  <ItemGroup>
    <SqlCmdVariable Include="EnvironmentName">
      <Value>staging</Value>
    </SqlCmdVariable>
  </ItemGroup>
</Project>

Profilbejegyzés közzététele projektfájlban

Amikor közzétételi profilt ad hozzá egy SQL-projekthez, az hozzáad egy bejegyzést a projektfájlhoz (.sqlproj), amely tartalmazza a közzétételi profilfájl elérési útját:

  <ItemGroup>
    <None Include="Staging.publish.xml" />
  </ItemGroup>

Bár bármilyen közzétételi profilt megadhat az /Profile: SqlPackage paraméterrel, a projektfájlban szereplő közzétételi profilok megjelennek az SQL-projekteszköz megoldáskezelő vagy adatbázisprojektek nézetében. Ez a funkció megkönnyíti a felügyeletüket és a kiválasztásukat az üzembe helyezés során.

A közzétételi profilok üzembe helyezési lehetőségei

Az üzembehelyezési beállítások szabályozzák az üzembehelyezési motor viselkedését, amikor módosításokat alkalmaz egy céladatbázisra. Ezek a beállítások megfelelnek az SqlPackage Publish műveletben és a DacDeployOptions DacFx API osztályában elérhető tulajdonságoknak.

A gyakran használt üzembehelyezési lehetőségek a következők:

Lehetőség Alapértelmezett Leírás
AllowIncompatiblePlatform False Megkísérlik az üzembe helyezést akkor is, ha platform-kompatibilitási különbségek vannak.
BlockOnPossibleDataLoss True Leállítja az üzembe helyezést, ha egy módosítás adatvesztést okozhat.
DropObjectsNotInSource False A forrásprojektben nem létező objektumok elvetése a céladatbázisba.
IgnoreColumnOrder False Figyelmen kívül hagyja az oszlopok sorrendjében a forrás és a cél közötti különbségeket.
ScriptDatabaseOptions True Beállíthat szkripteket adatbázis-szintű beállításokhoz, például kompatibilitási szinthez az üzembe helyezés során.

Az üzembehelyezési lehetőségek és az alapértelmezett értékek teljes listáját az SqlPackage Publish tulajdonságai között találja.

SQLCMD-változók közzétételi profilokban

Az SQL-projektben definiált SQLCMD-változók értékei egy közzétételi profilban állíthatók be. Amikor a közzétételi profilt használja az üzembe helyezéshez, a profilBÓL származó SQLCMD változóértékek felülbírálják a projekt alapértelmezett értékeit.

A közzétételi profil elemeként tárolja az SQLCMD-változókat: <SqlCmdVariable>

<ItemGroup>
  <SqlCmdVariable Include="EnvironmentName">
    <Value>staging</Value>
  </SqlCmdVariable>
  <SqlCmdVariable Include="FirstHistoricalYear">
    <Value>2005</Value>
  </SqlCmdVariable>
</ItemGroup>

A parancssorban megadott értékek /v: felülbírálják a projekt alapértelmezett értékeit és a közzétételi profil értékeit is.

Közzétételi profilok használata eszközök segítségével

A közzétételi profilok az SQL-projekteszközökön és az SqlPackage parancssori felületén is támogatottak.

Az Visual Studio (SSDT) alkalmazásban hozzon létre és töltsön be közzétételi profilokat a Publish párbeszédpanelről. Amikor konfigurálja az üzembehelyezési beállításokat, és a Profil mentése másként lehetőséget választja, a rendszer a beállításokat fájlba .publish.xml menti. A korábban mentett profilok betöltéséhez válassza a Profil betöltése lehetőséget a Közzététel párbeszédpanelen. A közzétételi profilok az SQL-projekt elemeiként vannak tárolva, és Megoldáskezelő jelennek meg.

Új közzétételi profilok hozzáadása a projekthez az Új elem hozzáadása párbeszédpanelen, majd a Profil közzététele elemsablon kiválasztása. Meglévő közzétételi profilfájlok hozzáadása a projekthez a Meglévő elem hozzáadása >funkcióval.

Amikor duplán kattint egy közzétételi profilra Megoldáskezelő, megnyitja a Közzétéve párbeszédpanelt az alkalmazott profil beállításaival. Ezeket a beállításokat az üzembe helyezés előtt áttekintheti vagy módosíthatja.

A Visual Studio SDK-stílusú SQL-projektjeiben hozzon létre és töltsön be közzétételi profilokat a Publish párbeszédpanelről. Amikor konfigurálja az üzembehelyezési beállításokat, és a Profil mentése másként lehetőséget választja, a rendszer a beállításokat fájlba .publish.xml menti. A korábban mentett profilok betöltéséhez válassza a Profil betöltése lehetőséget a Közzététel párbeszédpanelen.

Az SQL Database Projects bővítményével a Visual Studio Code-ban hozzon létre közzétételi profilokat a(z) Publish párbeszédpanelen a(z) Mentés másként beállítással. A közzétételi profil olyan .publish.xml fájlként lesz mentve, amelyet hozzáadhat a projekthez. A korábban mentett profil betöltéséhez válassza ki a Profil kiválasztása lehetőséget a Publikálás párbeszédpanelen.

Új közzétételi profilok hozzáadása a projekthez a projekt helyi menüjében található Közzétételi profil hozzáadása lehetőség kiválasztásával. Meglévő közzétételi profilfájlok hozzáadása a projekthez a Meglévő elem hozzáadása...használatával.

Az SQL Database Projects bővítményével Visual Studio Code közzétételi profilok a projektcsomópont alatt jelennek meg a Adatbázis-projektek nézetben. Amikor közzétesz egy projektet, kiválaszthat egy meglévő közzétételi profilt, vagy anélkül folytathatja.

A SQL Server Management Studio (SSMS) alkalmazásban hozzon létre és töltsön be közzétételi profilokat a Publish párbeszédpanelről. Amikor konfigurálja az üzembehelyezési beállításokat, és a Profil mentése másként lehetőséget választja, a rendszer a beállításokat fájlba .publish.xml menti. A korábban mentett profilok betöltéséhez válassza a Profil betöltése lehetőséget a Közzététel párbeszédpanelen. A közzétételi profilok az SQL-projekt elemeiként vannak tárolva, és Megoldáskezelő jelennek meg.

Új közzétételi profilok hozzáadása a projekthez az Új elem hozzáadása párbeszédpanelen, majd a Profil közzététele elemsablon kiválasztása. Meglévő közzétételi profilfájlok hozzáadása a projekthez a Meglévő elem hozzáadása >funkcióval.

Az SqlPackage parancssori felülettel adjon meg egy közzétételi profilt a /Profile: (vagy /pr:) paraméterrel:

sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /Profile:production.publish.xml

A közzétételi profil parancssori felülbírálási értékeiben megadott tulajdonságok és SQLCMD-változóértékek. További információ: SqlPackage Publish.