Udostępnij za pośrednictwem


Omówienie publikowania profilów

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

Profil publikowania to plik, który przechowuje konfigurację wdrożenia dla projektu SQL. Profile publikacji mogą zawierać informacje o docelowym połączeniu, opcje wdrażania i wartości zmiennych SQLCMD w pliku wielokrotnego użycia .publish.xml. Profile publikowania są szczególnie przydatne, gdy wdrożenie wymaga określonych ustawień, takich jak wykluczanie niektórych typów obiektów lub ignorowanie różnic między platformami docelowymi. Zamiast określać te opcje za każdym razem, gdy wdrażasz, zapisz je w profilu publikowania i użyj go ponownie.

Podczas pracy z projektami SQL można tworzyć i przechowywać wiele profilów publikowania. Podczas wdrażania wybierz profil publikowania, aby zastosować spójne ustawienia bez ręcznego wybierania wielu opcji.

Format pliku publikowania profilu

Profil publikowania to plik XML z .publish.xml rozszerzeniem . Plik zawiera właściwości i elementy definiujące zachowanie wdrożenia w ścieżce XML /Project/PropertyGroup.

Profil publikowania może zawierać następujące informacje:

  • Target parametry połączenia — ciąg połączenia docelowego serwera bazy danych
  • Nazwa docelowej bazy danych — nazwa bazy danych do wdrożenia
  • Opcje wdrażania — ustawienia kontrolujące zachowanie wdrożenia, takie jak to, czy obiekty, które nie znajdują się w źródle, mają być usuwane, czy blokować w przypadku możliwej utraty danych
  • Wartości zmiennych SQLCMD — wartości zmiennych SQLCMD zdefiniowanych w projekcie SQL, stosowanych w czasie wdrażania

Przykładowy profil publikowania

W poniższym przykładzie przedstawiono profil publikowania przeznaczony dla lokalnego wystąpienia SQL Server. Ustawia dwie opcje wdrażania i udostępnia wartość jednej zmiennej SQLCMD:

<?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>

Publikowanie wpisu profilu w pliku projektu

Po dodaniu profilu publikowania do projektu SQL, do pliku projektu (.sqlproj) dodawany jest wpis zawierający ścieżkę do pliku profilu publikowania.

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

Chociaż można określić dowolny profil publikowania przy użyciu parametru /Profile: z SqlPackage, profile publikowania zawarte w pliku projektu są wyświetlane w Eksploratorze rozwiązań lub widoku projektów baz danych narzędzia projektu SQL. Ta funkcja ułatwia zarządzanie i wybieranie podczas wdrażania.

Opcje wdrożenia w profilach publikowania

Opcje wdrażania kontrolują zachowanie aparatu wdrażania podczas stosowania zmian do docelowej bazy danych. Te opcje odpowiadają właściwościom dostępnym w akcji Publikuj pakiet SqlPackage i DacDeployOptions klasie w interfejsie API DacFx.

Często używane opcje wdrażania obejmują:

Option Wartość domyślna Opis
AllowIncompatiblePlatform False Podejmuje próbę wdrożenia, nawet jeśli występują różnice w zgodności platformy.
BlockOnPossibleDataLoss True Zatrzymuje wdrażanie, jeśli zmiana może spowodować utratę danych.
DropObjectsNotInSource False Usuwa obiekty w docelowej bazie danych, które nie istnieją w projekcie źródłowym.
IgnoreColumnOrder False Ignoruje różnice w kolejności kolumn między źródłem a obiektem docelowym.
ScriptDatabaseOptions True Skryptuje opcje na poziomie bazy danych, takie jak poziom zgodności, podczas wdrożenia.

Aby uzyskać pełną listę opcji wdrażania i ich wartości domyślnych, zobacz Właściwości publikowania sqlPackage.

Zmienne SQLCMD w profilach publikowania

Zmienne SQLCMD zdefiniowane w projekcie SQL mogą mieć swoje wartości ustawione w profilu publikowania. Gdy profil publikowania jest używany do wdrożenia, wartości zmiennych SQLCMD z profilu zastępują wszystkie wartości domyślne w projekcie.

Profil publikowania przechowuje zmienne SQLCMD jako <SqlCmdVariable> elementy:

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

Wartości określone w wierszu polecenia za pomocą /v: zastępują zarówno wartości domyślne projektu, jak i wartości profilów publikacji.

Stosowanie profilów publikowania z narzędziami

Profile publikowania są obsługiwane w narzędziach projektu SQL i interfejsie wiersza polecenia SqlPackage.

W programie Visual Studio (SSDT) utwórz i załaduj profile publikowania z okna dialogowego Publish. Po skonfigurowaniu ustawień wdrożenia i wybraniu pozycji Zapisz profil jako ustawienia zostaną zapisane w .publish.xml pliku. Możesz załadować wcześniej zapisany profil, wybierając pozycję Załaduj profil w oknie dialogowym Publikowanie . Profile publikowania są przechowywane jako elementy w projekcie SQL i wyświetlane w Eksplorator rozwiązań.

Dodaj nowe profile publikowania do projektu za pomocą okna dialogowego Dodawanie nowego elementu i wybierz szablon publikuj element profilu . Dodaj do projektu istniejące pliki profilu publikacji, korzystając z polecenia Dodaj > istniejący element.

Po dwukrotnym kliknięciu profilu publikowania z Eksplorator rozwiązań zostanie otwarte okno dialogowe Publish z zastosowanymi ustawieniami profilu. Te ustawienia można przejrzeć lub zmodyfikować przed wdrożeniem.

W projektach SQL w stylu zestawu SDK w Visual Studio utwórz i załaduj profile publikowania z okna dialogowego Publish. Po skonfigurowaniu ustawień wdrożenia i wybraniu pozycji Zapisz profil jako ustawienia zostaną zapisane w .publish.xml pliku. Możesz załadować wcześniej zapisany profil, wybierając pozycję Załaduj profil w oknie dialogowym Publikowanie .

W Visual Studio Code, używając rozszerzenia Projekty bazy danych SQL, utwórz profile publikowania z okna dialogowego Publish, korzystając z opcji Zapisz jako. Profil publikowania jest zapisywany jako .publish.xml plik, który można dodać do projektu. Możesz załadować wcześniej zapisany profil, wybierając go z obszaru Wybierz profil w oknie dialogowym Publikowanie .

Dodaj nowe profile publikowania do projektu, wybierając opcję Dodaj profil publikowania z menu kontekstowego projektu. Dodaj istniejące pliki profilów publikowania do projektu za pomocą polecenia Dodaj istniejący element....

W Visual Studio Code z rozszerzeniem SQL Database Projects, profile publikacji są wyświetlane w węźle projektu w widoku Database Projects. Podczas publikowania projektu możesz wybrać istniejący profil publikowania lub kontynuować bez nich.

W programie SQL Server Management Studio (SSMS) utwórz i załaduj profile publikowania z okna dialogowego Publish. Po skonfigurowaniu ustawień wdrożenia i wybraniu pozycji Zapisz profil jako ustawienia zostaną zapisane w .publish.xml pliku. Możesz załadować wcześniej zapisany profil, wybierając pozycję Załaduj profil w oknie dialogowym Publikowanie . Profile publikowania są przechowywane jako elementy w projekcie SQL i wyświetlane w Eksplorator rozwiązań.

Dodaj nowe profile publikowania do projektu za pomocą okna dialogowego Dodawanie nowego elementu i wybierz szablon publikuj element profilu . Dodaj do projektu istniejące pliki profilu publikacji, korzystając z polecenia Dodaj > istniejący element.

Za pomocą interfejsu wiersza polecenia SqlPackage określ profil publikowania za pomocą parametru /Profile: (lub /pr:):

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

Właściwości i wartości zmiennych SQLCMD określone w wierszu polecenia zastępują wartości w profilu publikowania. Aby uzyskać więcej informacji, zobacz SqlPackage Publish (Publikowanie pakietu SqlPackage).