Udostępnij za pośrednictwem


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 opcja Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera jest ustawiona na wartość WYŁĄCZONE. W artykule z instrukcjami użyto maszyny wirtualnej platformy Azure do uruchomienia programu SqlPackage w celu wykonania operacji importowania lub eksportowania.

Ustawienie Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera jest widoczne w witrynie Azure Portal w menu zabezpieczeń w menu zasobów Sieć w sekcji Wyjątki . Aby uzyskać więcej informacji na temat tego ustawienia, zobacz Kontrola dostępu do sieci w usłudze Azure SQL Database.

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.

Obraz przedstawiający przycisk z etykietą

Aby uzyskać więcej informacji, w tym szablon szybkiego startu platformy Azure, zobacz Wdrażanie prostej 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.

  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.

    Zrzut ekranu witryny Azure Portal, nawiązywanie połączenia z maszyną wirtualną z wyróżnioną pozycją Pobierz protokół RDP.

    Uwaga

    Istnieje wiele sposobów nawiązywania połączenia z maszyną wirtualną. W tym samouczku użyto protokołu RDP (Remote Desktop Protocol) do nawiązania połączenia z maszyną wirtualną, ale nowsze rozwiązanie do korzystania z usługi Azure Bastion jest alternatywą, która będzie dobrze działać, jeśli usługa Bastion została wdrożona w środowisku. Możesz również użyć protokołu SSH, aby nawiązać połączenie z maszyną wirtualną.

  3. Wybierz pozycję Pobierz plik RDP.

  4. Zamknij formularz Połącz z maszyną wirtualną .

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

  6. Po wyświetleniu monitu wybierz pozycję Połącz.

    • 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ć więcej informacji, zobacz SqlPackage.

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

Najpierw 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: sql-svr.database.windows.net) i opcje dalszej konfiguracji.

    Zrzut ekranu przedstawiający witrynę Azure Portal, stronę przeglądu bazy danych z wyróżnioną nazwą serwera.

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

  3. Wybierz pozycję Ustaw zaporę serwera na pasku narzędzi.

  4. Na stronie Sieć na karcie Dostęp publiczny w sekcji Ustawienia zapory wybierz pozycję Dodaj adres IPv4 klienta. Spowoduje to dodanie publicznego adresu 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.

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.

Aby uzyskać więcej informacji i krok tworzenia pliku BACPAC, zobacz Eksportowanie do pliku BACPAC.

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ą Azure 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ść, wypróbuj 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.

Przechowywanie zaimportowanego lub wyeksportowanego pliku BACPAC

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 wymaga skopiowania pliku BACPAC między obiektem blob a lokalnym systemem plików przed operacją importowania lub eksportowania. W związku z tym proces trwa dłużej.

Aby przekazać lub pobrać pliki BACPAC, zobacz Transferowanie danych za pomocą narzędzia AzCopy i usługi Blob Storage 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.