Udostępnij za pośrednictwem


Pakiet SqlPackage dla bazy danych SQL w usłudze Microsoft Fabric

Dotyczy bazy danych:SQL w usłudze Microsoft Fabric

Z tego samouczka dowiesz się, jak pracować z pakietem SqlPackage w bazie danych SQL w usłudze Fabric.

SqlPackage to interfejs wiersza polecenia zapewniający przenośność bazy danych i wdrożenia bazy danych.

  • Przenośność (importowanie/eksportowanie) bazy danych zarządzanej na platformie Azure lub w sieci szkieletowej gwarantuje, że dane są przenośne do innych platform, w tym programu SQL Server lub usługi Azure SQL Managed Instance, jeśli chcesz przeprowadzić migrację później.
  • Ta sama przenośność umożliwia również wykonywanie pewnych scenariuszy migracji za pośrednictwem samodzielnie zawartych kopii bazy danych (.bacpac) z operacjami importowania/eksportowania.

Pakiet SqlPackage umożliwia również łatwe wdrażanie baz danych przyrostowych zmian w obiektach bazy danych (nowe kolumny w tabelach, zmiany istniejących procedur składowanych itp.).

  • Pakiet SqlPackage może wyodrębnić .dacpac plik zawierający definicje obiektów w bazie danych i opublikować .dacpac plik, aby zastosować ten stan obiektu do nowej lub istniejącej bazy danych.
  • Operacja publikowania integruje się również z projektami SQL, co umożliwia przechodzenie w tryb offline i bardziej dynamiczne cykle programistyczne dla baz danych SQL.

Wymagania wstępne

Ustawienia

Pakiet SqlPackage jest dostępny dla systemów Windows, macOS i Linux jako narzędzie dotnet. Można go zainstalować przy użyciu następującego polecenia:

dotnet tool install --global Microsoft.SqlPackage

Jako globalne narzędzie dotnet pakiet SqlPackage jest dostępny w terminalu, jak sqlpackage w dowolnym folderze.

Importowanie bazy danych za pomocą pakietu SqlPackage

A .bacpac to przenośna kopia bazy danych, przydatna w niektórych scenariuszach migracji i testowania. Można je zaimportować .bacpac do pustej bazy danych SQL.

Uwaga

Element nie .bacpac jest kopią zapasową ani zamiennikiem możliwości tworzenia/przywracania kopii zapasowych. Aby uzyskać więcej informacji na temat kopii zapasowych w usłudze Fabric SQL Database, zobacz Automatyczne kopie zapasowe w bazie danych SQL w usłudze Microsoft Fabric i Przywracanie z kopii zapasowej w bazie danych SQL w usłudze Microsoft Fabric.

  1. W przypadku korzystania ze .bacpac środowiska usługi Azure SQL Database może być konieczne zmodyfikowanie źródłowej bazy danych w celu spełnienia obszaru powierzchni języka T-SQL bazy danych SQL fabric.

  2. Utwórz nową bazę danych SQL w usłudze Fabric w zwykły sposób za pośrednictwem interfejsu sieci szkieletowej.

  3. Skopiuj parametry połączenia z ustawień.

    Zrzut ekranu z portalu sieci szkieletowej przedstawiający stronę Parametry połączenia bazy danych SQL.

  4. Użyj polecenia import z terminalu w folderze sqlpackage. Podaj właściciela <servername> i <database_name>.

    sqlpackage /action:import /sourcefile:"C:\DatabaseName.bacpac" /targetconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"
    
    • Zastąp parametry połączenia z okna dialogowego Ustawień bazy danych SQL.
    • Zastąp sourcefile.bacpac wartość nazwą (DatabaseName) i location maszyną lokalną.

Aby uzyskać więcej informacji na temat importowania, zobacz Importowanie pakietu SqlPackage.

Eksportowanie bazy danych za pomocą pakietu SqlPackage

Eksportowanie elementu .bacpac to operacja odwrotna, w której targetfile znajduje się element i .bacpacsourceconnectionstring można go znaleźć w oknie dialogowym ustawień bazy danych SQL, jak w poprzednim przykładzie. Podaj właściciela <servername> i <database_name>. Na przykład:

sqlpackage.exe /action:export /targetfile:"C:\DatabaseName.bacpac" /sourceconnectionstring:"Data Source=tcp:<server_name>.database.fabric.microsoft.com,1433;Initial Catalog=<database_name>;MultipleActiveResultSets=False;Connect Timeout=30;Encrypt=True;TrustServerCertificate=False;ConnectRetryCount=6;ConnectRetryInterval=10;Authentication=Active Directory Interactive"

Aby uzyskać więcej informacji na temat eksportowania, zobacz Eksportowanie pakietu SqlPackage.

Wyodrębnianie i publikowanie

Diagram przedstawiający sposób przenoszenia zmian schematu w projektach bazy danych SQL.

A .dacpac to plik modelu schematu bazy danych zawierający definicje tabel, procedur składowanych i innych obiektów w źródłowej bazie danych. Ten plik można utworzyć na podstawie istniejącej bazy danych za pomocą pakietu SqlPackage lub projektu bazy danych SQL .

Pakiet SqlPackage może wdrożyć .dacpac bazę danych w nowej (pustej) bazie danych lub przyrostowo zaktualizować istniejącą bazę danych w celu dopasowania do żądanego .dacpac stanu.

  • Wyodrębnianie tworzy .dacpac pliki sql lub z istniejącej bazy danych.
  • Publikowanie wdraża .dacpac element w bazie danych.

Składnia publikowania i wyodrębniania jest podobna do poleceń dotyczących importu/eksportu.

Ostrzeżenie

Zaleca się użycie pakietu SqlPackage do wdrożenia projektu SQL lub .dacpac do bazy danych SQL w Fabric. Wdrażanie .dacpac z programu Visual Studio może zakończyć się niepowodzeniem.

Aby wdrożyć .dacpac utworzone na podstawie usługi Azure SQL Database, programu SQL Server lub projektu SQL przeznaczonego dla platformy innej niż baza danych SQL w usłudze Fabric, dołącz właściwość /p:AllowIncompatiblePlatform=true do polecenia publikowania sqlPackage.