Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aplikacja warstwy danych (DAC) jest samodzielną jednostką całego modelu bazy danych i jest przenośna w artefakt znany jako pakiet DAC lub .dacpac. Dobrą praktyką jest przejrzenie zawartości .dacpac przed wdrożeniem go w środowisku produkcyjnym oraz zweryfikowanie akcji uaktualniania przed uaktualnieniem istniejącego DAC. Walidacja zawartości .dacpac jest szczególnie ważna podczas wdrażania pakietów, które nie zostały opracowane w organizacji. W tym artykule opisano kilka sposobów rozpakowywania modelu bazy danych z .dacpac dla systemów Windows, macOS i Linux.
Ostrzeżenie
Nie wdrażaj elementu .dacpac z nieznanych lub niezaufanych źródeł. Takie kontrolery DAC mogą zawierać złośliwy kod, który może wykonywać niezamierzony kod lub powodować błędy przez zmodyfikowanie schematu. Przed użyciem DAC z nieznanego lub niezaufanego źródła wdróż ją na izolowanym wystąpieniu testowym Silnika bazy danych, rozpakuj DAC i zbadaj kod, taki jak procedury przechowywane lub inny kod zdefiniowany przez użytkownika.
Opcje przeglądania zawartości .dacpac obejmują:
- importowanie
.dacpacdo projektu SQL w programie Visual Studio - Korzystanie z narzędzia wiersza poleceń SqlPackage do wyodrębniania
.dacpac - dekompresowanie pliku w celu wyświetlenia zawartości XML
- wdrażanie
.dacpacna instancji testowej
Rozpakowywanie .dacpac natychmiast po wyodrębnieniu z bazy danych, aby zobaczyć definicje obiektów, jest bardziej efektywne przy użyciu polecenia Extract w SqlPackage z właściwością /p:ExtractTarget=File. Wynik tworzy bezpośrednio pojedynczy plik .sql zawierający definicje obiektów z określonej źródłowej bazy danych.
Importowanie pakietu DACPAC do projektu SQL w programie Visual Studio
Importowanie .dacpac do projektu SQL w programie Visual Studio powoduje przekształcenie zawartości .dacpac w pliki .sql i zorganizowane w foldery. Po wykonaniu importu, skrypty post-deployment i pre-deployment z .dacpac są widoczne w Eksploratorze rozwiązań.
Zainstaluj narzędzia SQL Server Data Tools w ramach programu Visual Studio i utwórz nowy projekt SQL.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pusty projekt i wybierz opcję Importuj, a następnie z pakietu aplikacji warstwy danych.
Dekompresuj pakiet DACPAC, aby wyświetlić zawartość XML
Dekompresowanie pliku .dacpac powoduje udostępnienie nieprzetworzonej zawartości XML do wyświetlania w edytorze tekstów. Podczas wyszukiwania określonego składnika w .dacpacprzeglądanie zawartości XML może być szybką metodą uzyskiwania dostępu do informacji.
Zmień rozszerzenie pliku w pliku
.dacpacna.zip.Rozpakuj plik .zip przy użyciu narzędzia dostarczonego przez system operacyjny. Aby rozpakować plik za pomocą wiersza polecenia:
unzip AdventureWorks.dacpacWynikowa zawartość obejmuje
DacMetadata.xml,Origin.xmlimodel.xml.
Wdróż pakiet DACPAC w wystąpieniu testowym
Wdrożenie .dacpac w wystąpieniu testowym powoduje opublikowanie zawartości .dacpac w bazie danych, w której można przeglądać obiekty z różnych połączonych narzędzi bazy danych.
Notatka
Jedną z opcji tworzenia wystąpienia testowego lokalnie jest użycie programu SQL Server w usłudze Docker.
Wdrażanie pakietu DACPAC przy użyciu programu Visual Studio Code
Zainstaluj rozszerzenie MSSQL dla programu Visual Studio Code i postępuj zgodnie z instrukcjami, aby włączyć tryb aplikacji warstwy danych (wersja zapowiedziowa).
Połącz się z żądanym wystąpieniem. Kliknij prawym przyciskiem myszy węzeł serwera i wybierz Kreator aplikacji warstwy danych z menu.
Wybierz opcję wdrażania z kreatora i ustaw opcję Docelowa baza danych na Nowa baza danych.
Po wdrożeniu przejdź do bazy danych na połączonym serwerze w Eksploratorze obiektów, aby przeglądać obiekty bazy danych.
Wdrażanie pakietu DACPAC przy użyciu pakietu SqlPackage
Zainstaluj sqlPackage.
Użyj CLI SqlPackage, aby opublikować plik
.dacpacw żądanym wystąpieniu. Aby uzyskać przykładowe polecenia do opublikowania.dacpacw bazie danych, zobacz przykłady publikowania przy użyciu SqlPackage .
Inne narzędzia z możliwościami wdrażania pakietu DACPAC
Poza programem Visual Studio Code i pakietem SqlPackage, wiele innych narzędzi może służyć do wdrażania .dacpac na bazę danych. Oto kilka przykładów:
- SQL Server Management Studio
- Visual Studio: Narzędzia danych SQL Server
Wywoływanie metody Unpack()
Interfejs API .NET Microsoft.SqlServer.DacFx udostępnia metodę do rozpakowywania.dacpac do folderu, co umożliwia programowe rozpakowywanie .dacpac do folderu, jak to widać. Następująca przykładowa aplikacja .NET przyjmuje dwa argumenty, ścieżkę do pliku .dacpac i ścieżkę do folderu wyjściowego, a wynikiem jest zawartość .dacpac przekonwertowana na 3 pliki XML i pojedynczy plik .sql zawierający wszystkie obiekty bazy danych.
using Microsoft.SqlServer.Dac;
namespace DacUnpack
{
class Program
{
static void Main(string[] args)
{
var dacpacPath = args[0];
var outputPath = args[1];
if (!Directory.Exists(outputPath))
{
Directory.CreateDirectory(outputPath);
}
Console.WriteLine("Unpacking {0} to {1}", dacpacPath, outputPath);
using(DacPackage dacpac = DacPackage.Load(dacpacPath))
{
dacpac.Unpack(outputPath);
}
}
}
}