Importowanie lub eksportowanie usługi Azure SQL Database bez zezwalania usługom platformy Azure na dostęp do serwera

Dotyczy:Azure SQL Database

W tym artykule pokazano, jak zaimportować lub wyeksportować bazę danych Azure SQL Database, gdy pozycja Zezwalaj usługom platformy Azure jest ustawiona na wartość OFF na serwerze. Przepływ pracy używa maszyny wirtualnej platformy Azure do uruchamiania pakietu SqlPackage w celu wykonania operacji importowania lub eksportowania.

Zaloguj się do witryny Azure Portal.

Zaloguj się w witrynie Azure Portal.

Tworzenie maszyny wirtualnej platformy Azure

Utwórz maszynę wirtualną platformy Azure, wybierając przycisk Wdróż na platformie Azure .

Ten szablon umożliwia wdrożenie prostej maszyny wirtualnej z systemem Windows przy użyciu kilku różnych opcji dla wersji systemu Windows przy użyciu najnowszej poprawkowej wersji. Spowoduje to wdrożenie maszyny wirtualnej o rozmiarze A2 w lokalizacji grupy zasobów i zwrócenie w pełni kwalifikowanej nazwy domeny maszyny wirtualnej.

Image showing a button labeled

Aby uzyskać więcej informacji, zobacz Bardzo proste wdrożenie maszyny wirtualnej z systemem Windows.

Nawiązywanie połączenia z maszyną wirtualną

W poniższych krokach pokazano, jak nawiązać połączenie z maszyną wirtualną przy użyciu połączenia pulpitu zdalnego.

  1. Po zakończeniu wdrażania przejdź do zasobu maszyny wirtualnej.

    Screenshot shows a virtual machine Overview page with a Connect button.

  2. Wybierz pozycję Połącz.

    Zostanie wyświetlony formularz pliku protokołu Remote Desktop Protocol (plik rdp) z publicznym adresem IP i numerem portu dla maszyny wirtualnej.

    Screenshot of Azure portal, connect to VM, with download RDP highlighted.

  3. Wybierz pozycję Pobierz plik RDP.

    Uwaga

    Możesz również użyć protokołu SSH, aby nawiązać połączenie z maszyną wirtualną.

  4. Zamknij formularz Połączenie do maszyny wirtualnej.

  5. Aby połączyć się z maszyną wirtualną, otwórz pobrany plik RDP.

  6. Po wyświetleniu monitu wybierz pozycję Połączenie. Na komputerze Mac należy skorzystać z klienta RDP, takiego jak ten klient pulpitu zdalnego ze sklepu Mac App Store.

  7. Wprowadź nazwę użytkownika i hasło określone podczas tworzenia maszyny wirtualnej, a następnie wybierz przycisk OK.

  8. Podczas procesu logowania może pojawić się ostrzeżenie o certyfikacie. Wybierz pozycję Tak lub Kontynuuj , aby kontynuować połączenie.

Instalowanie pakietu SqlPackage

Pobierz i zainstaluj najnowszą wersję pakietu SqlPackage.

Aby uzyskać dodatkowe informacje, zobacz SqlPackage.

Tworzenie reguły zapory umożliwiającej maszynie wirtualnej dostęp do bazy danych

Dodaj publiczny adres IP maszyny wirtualnej do zapory serwera.

Poniższe kroki umożliwiają utworzenie reguły zapory adresów IP na poziomie serwera dla publicznego adresu IP maszyny wirtualnej i włączenie łączności z maszyny wirtualnej.

  1. Wybierz pozycję Bazy danych SQL z menu po lewej stronie, a następnie wybierz bazę danych na stronie Bazy danych SQL. Zostanie otwarta strona przeglądu bazy danych zawierająca w pełni kwalifikowaną nazwę serwera (na przykład servername.database.windows.net) i opcje dalszej konfiguracji.

  2. Skopiuj tę w pełni kwalifikowaną nazwę serwera do użycia podczas nawiązywania połączenia z serwerem i jego bazami danych.

    Screenshot of the Azure portal, database overview page, with the server name highlighted.

  3. Wybierz pozycję Ustaw zaporę serwera na pasku narzędzi. Zostanie otwarta strona Ustawienia zapory dla serwera.

    Screenshot of the Azure portal, showing the firewall page, with server-level IP firewall rule highlighted.

  4. Wybierz pozycję Dodaj adres IP klienta na pasku narzędzi, aby dodać publiczny adres IP maszyny wirtualnej do nowej reguły zapory adresów IP na poziomie serwera. Reguła zapory bazująca na adresach IP na poziomie serwera może otworzyć port 1433 dla pojedynczego adresu IP lub zakresu adresów IP.

  5. Wybierz pozycję Zapisz. Reguła zapory adresów IP na poziomie serwera jest tworzona dla publicznego adresu IP maszyny wirtualnej otwierającej port 1433 na serwerze.

  6. Zamknij stronę Ustawienia zapory.

Eksportowanie bazy danych przy użyciu pakietu SqlPackage

Aby wyeksportować usługę Azure SQL Database przy użyciu narzędzia wiersza polecenia SqlPackage , zobacz Eksportowanie parametrów i właściwości. Narzędzie SqlPackage jest dostarczane z najnowszymi wersjami programów SQL Server Management Studio i SQL Server Data Tools lub możesz pobrać najnowszą wersję pakietu SqlPackage.

Zalecamy użycie narzędzia SqlPackage do skalowania i wydajności w większości środowisk produkcyjnych. Aby poczytać o migracji za pomocą plików BACPAC na blogu SQL Server Customer Advisory Team, zobacz Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrowanie z programu SQL Server do usługi Azure SQL Database za pomocą plików BACPAC).

W tym przykładzie pokazano, jak wyeksportować bazę danych przy użyciu pakietu SqlPackage z uwierzytelnianiem uniwersalnym usługi Active Directory. Zastąp ciąg wartościami specyficznymi dla danego środowiska.

SqlPackage /a:Export /tf:testExport.bacpac /scs:"Data Source=<servername>.database.windows.net;Initial Catalog=MyDB;" /ua:True /tid:"apptest.onmicrosoft.com"

Importowanie bazy danych przy użyciu pakietu SqlPackage

Aby zaimportować bazę danych programu SQL Server przy użyciu narzędzia wiersza polecenia SqlPackage , zobacz importowanie parametrów i właściwości. Pakiet SqlPackage ma najnowsze narzędzia SQL Server Management Studio i SQL Server Data Tools. Możesz również pobrać najnowszą wersję pakietu SqlPackage.

W przypadku skalowania i wydajności zalecamy używanie pakietu SqlPackage w większości środowisk produkcyjnych, a nie przy użyciu witryny Azure Portal. Aby uzyskać blog zespołu doradczego ds. klienta programu SQL Server na temat migrowania przy użyciu BACPAC plików, zobacz migrowanie z programu SQL Server do usługi Azure SQL Database przy użyciu plików BACPAC.

Następujące polecenie SqlPackage importuje AdventureWorks2022 bazę danych z magazynu lokalnego do usługi Azure SQL Database. Tworzy nową bazę danych o nazwie myMigratedDatabase z warstwą usługi Premium i celem usługi P6 . Zmień te wartości zgodnie z potrzebami środowiska.

SqlPackage /a:import /tcs:"Data Source=<serverName>.database.windows.net;Initial Catalog=myMigratedDatabase>;User Id=<userId>;Password=<password>" /sf:AdventureWorks2022.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

Ważne

Aby nawiązać połączenie z usługą tAzure SQL Database zza zapory firmowej, zapora musi mieć otwarty port 1433.

W tym przykładzie pokazano, jak zaimportować bazę danych przy użyciu pakietu SqlPackage z uwierzytelnianiem uniwersalnym usługi Active Directory.

SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

Zagadnienia dotyczące wydajności

Szybkość eksportu różni się ze względu na wiele czynników (na przykład kształtu danych), więc nie można przewidzieć, jakiej prędkości należy oczekiwać. Pakiet SqlPackage może zająć dużo czasu, szczególnie w przypadku dużych baz danych.

Aby uzyskać najlepszą wydajność, możesz wypróbować następujące strategie:

  1. Upewnij się, że żadne inne obciążenie nie jest uruchomione w bazie danych. Utworzenie kopii przed eksportem może być najlepszym rozwiązaniem, aby upewnić się, że żadne inne obciążenia nie są uruchomione.
  2. Zwiększ cel poziomu usługi bazy danych (SLO), aby lepiej obsługiwać obciążenie eksportu (przede wszystkim operacje we/wy odczytu). Jeśli baza danych jest obecnie GP_Gen5_4, być może warstwa Krytyczne dla działania firmy pomoże w obciążeniu odczytu.
  3. Upewnij się, że istnieją indeksy klastrowane, szczególnie w przypadku dużych tabel.
  4. Maszyny wirtualne powinny znajdować się w tym samym regionie co baza danych, aby uniknąć ograniczeń sieci.
  5. Maszyny wirtualne powinny mieć dysk SSD o odpowiednim rozmiarze do generowania artefaktów tymczasowych przed przekazaniem do magazynu obiektów blob.
  6. Maszyny wirtualne powinny mieć odpowiednią konfigurację rdzenia i pamięci dla określonej bazy danych.

Zapisz zaimportowany lub wyeksportowany plik . Plik BACPAC

Tthe. Plik BACPAC można przechowywać w obiektach blob platformy Azure lub w usłudze Azure Files.

Aby uzyskać najlepszą wydajność, użyj usługi Azure Files. Pakiet SqlPackage działa z systemem plików, aby mógł uzyskiwać bezpośredni dostęp do usługi Azure Files.

Aby zmniejszyć koszty, użyj obiektów blob platformy Azure, które kosztują mniej niż udział plików platformy Azure w warstwie Premium. Jednak będzie to wymagało skopiowania pliku . Plik BACPAC między obiektem blob a lokalnym systemem plików przed operacją importowania lub eksportowania. W rezultacie proces potrwa dłużej.

Aby przekazać lub pobrać plik . Pliki BACPAC, zobacz Transferowanie danych za pomocą narzędzia AzCopy i magazynu obiektów blob oraz Transferowanie danych za pomocą narzędzia AzCopy i magazynu plików.

W zależności od środowiska może być konieczne skonfigurowanie zapór i sieci wirtualnych usługi Azure Storage.

Następne kroki