Udostępnij za pośrednictwem


Importowanie lub eksportowanie usługi Azure SQL Database przy użyciu łącza prywatnego

Dotyczy:Azure SQL Database

W tym artykule wyjaśniono, jak zaimportować lub wyeksportować usługę Azure SQL Database przy użyciu usługi Private Link przy użyciu witryny Azure Portal lub programu Azure PowerShell z ustawieniem Zezwalaj na dostęp do usług platformy Azure ustawionym na wartość WYŁĄCZONE na serwerze logicznym Usługi Azure SQL.

Uruchomienie operacji Import lub Export wymaga ustawienia Zezwalaj na dostęp do usług platformy Azure na ON, w przeciwnym razie operacja importowania lub eksportowania zostanie zakończona błędem.

Uwaga

Importowanie/eksportowanie przy użyciu łącza prywatnego dla usługi Azure SQL Database jest obecnie dostępne w wersji zapoznawczej.

Link prywatny importowania/eksportowania bazy danych jest zarządzanym prywatnym punktem końcowym usługi utworzonym przez firmę Microsoft. Po włączeniu link prywatny jest używany wyłącznie do całej komunikacji przez proces importowania/eksportowania bazy danych, bazy danych Azure SQL Database i powiązanych usług Azure Storage. Zarządzany prywatny punkt końcowy usługi to prywatny adres IP w obrębie określonej sieci wirtualnej i podsieci.

Prywatny punkt końcowy musi zostać ręcznie zatwierdzony zarówno dla serwera logicznego Azure SQL, jak i konta usługi Azure Blob Storage, w oddzielnych krokach, ze szczegółami zawartymi w tym samouczku.

Diagram przedstawiający architekturę importu eksportu łącza prywatnego.

Usługę Import/Export Private Link można skonfigurować za pośrednictwem witryny Azure Portal, programu PowerShell lub interfejsu API REST.

Należy włączyć i zatwierdzić importowanie łącza prywatnego. Tworzenie łącza prywatnego jest wykonywane automatycznie na platformie Azure.

  1. Przejdź do strony Przegląd serwera logicznego Azure SQL, do którego chcesz zaimportować bazę danych. Wybierz pozycję Importuj bazę danych na pasku narzędzi.
  2. Na stronie Importowanie bazy danych zaznacz pole wyboru Użyj łącza prywatnego.
  3. Wprowadź konto magazynu, poświadczenia uwierzytelniania, szczegóły bazy danych i wybierz przycisk OK.

Musisz włączyć i zatwierdzić link prywatny eksportu. Tworzenie łącza prywatnego jest wykonywane automatycznie na platformie Azure.

  1. Przejdź do strony Przegląd bazy danych Azure SQL Database, którą chcesz wyeksportować. Wybierz pozycję Eksportuj na pasku narzędzi.
  2. Na stronie Eksportuj bazę danych zaznacz pole wyboru Użyj łącza prywatnego.
  3. Wprowadź konto magazynu, poświadczenia uwierzytelniania, szczegóły bazy danych i wybierz przycisk OK.

Nowy prywatny punkt końcowy musi zostać zatwierdzony przez użytkownika w Centrum Dotyczącym Prywatnych Połączeń lub w Azure SQL Database, albo można zatwierdzić oba prywatne odnośniki indywidualnie w ich odpowiednich lokalizacjach na Portalu Azure.

  1. Przejdź do Centrum usługi Private Link w witrynie Azure Portal. W polu wyszukiwania platformy Azure wyszukaj ciąg "Private Link". Wybierz pozycję Private Link.

  2. W Centrum usługi Private Link wybierz pozycję Oczekujące połączenia.

  3. Wybierz oba prywatne punkty końcowe utworzone przy użyciu usługi Import/Export. Wybierz Zatwierdź.

    Zrzut ekranu z Centrum usługi Private Link w portalu Azure przedstawiający sposób zatwierdzania obu linków prywatnych.

Opcja 2. Zatwierdzanie połączeń prywatnych punktów końcowych oddzielnie w witrynie Azure Portal

  1. Przejdź do serwera logicznego Usługi Azure SQL, który hostuje bazę danych.

  2. W menu zasobów w obszarze Securitywybierz pozycję Networking.

  3. Wybierz kartę Dostęp prywatny.

  4. Na liście w obszarze Połączenia prywatnych punktów końcowychwybierz utworzone przez siebie prywatne punkty końcowe za pomocą usługi Import/Export.

  5. Wybierz pozycję Zatwierdź.

    Zrzut ekranu z witryny Azure Portal przedstawiający sposób zatwierdzania usługi Azure SQL Database Private Link.

  6. Przejdź do konta magazynu, które hostuje kontener obiektów blob, w którym istnieje plik BACPAC (.bacpac).

  7. W obszarze Zabezpieczenia i siećwybierz pozycję Networking.

  8. Wybierz kartę Prywatne połączenia punktów końcowych.

  9. Na liście wybierz prywatny punkt końcowy dla usługi importu/eksportu.

  10. Wybierz pozycję Zatwierdź , aby zatwierdzić połączenie.

    Zrzut ekranu z witryny Azure Portal przedstawiający sposób zatwierdzania usługi Azure Storage Private Link w usłudze Azure Storage.

3. Sprawdzanie stanu importu/eksportu

  1. Po zatwierdzeniu prywatnych punktów końcowych zarówno na serwerze Azure SQL, jak i koncie usługi Azure Storage, zadanie importowania lub eksportowania bazy danych zostanie uruchomione. Do tego czasu zadania są wstrzymane.
  2. Stan zadań importowania lub eksportowania bazy danych można sprawdzić na stronie Historia importu/eksportu w sekcji Zarządzanie danymi na stronie azure SQL Server. Zrzut ekranu z witryny Azure Portal przedstawiający sposób sprawdzania stanu zadań eksportu importu.

Użyj polecenia cmdlet New-AzSqlDatabaseImport, aby przesłać żądanie importowej bazy danych na platformę Azure. W zależności od rozmiaru bazy danych importowanie może zająć trochę czasu. Model aprowizacji oparty na jednostkach DTU obsługuje wybieranie maksymalnych wartości rozmiaru bazy danych dla każdej warstwy. Podczas importowania bazy danych użyj obsługiwanych wartości edycji i celu usługi dla Azure SQL Database.

Podaj własne <values> w poniższym przykładzie kodu programu PowerShell, który importuje plik bacpac o nazwie sample.bacpac i tworzy bazę danych Azure SQL Database z 2 rdzeniami wirtualnymi ogólnego przeznaczenia.

$importRequestParams = @{
   ResourceGroupName                   = "<resourceGroupName>"
   ServerName                          = "<serverName>"
   DatabaseName                        = "<databaseName>"
   DatabaseMaxSizeBytes                = "<databaseSizeInBytes>"
   StorageKeyType                      = "StorageAccessKey"
   StorageKey                          = $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -StorageAccountName "<storageAccountName>").Value[0]
   StorageUri                          = "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac"
   Edition                             = "GeneralPurpose"
   ServiceObjectiveName                = "GP_Gen5_2"
   UseNetworkIsolation                 = $true
   StorageAccountResourceIdForPrivateLink = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>"
   SqlServerResourceIdForPrivateLink   = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>"
   AdministratorLogin                  = "<userID>"
   AdministratorLoginPassword          = $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)
}

$importRequest = New-AzSqlDatabaseImport @importRequestParams

Użyj polecenia cmdlet New-AzSqlDatabaseExport, aby przesłać żądanie eksportu bazy danych do usługi Azure SQL Database. W zależności od rozmiaru bazy danych operacja eksportowania może zająć trochę czasu.

Podaj własne <values> w poniższym przykładzie kodu programu PowerShell:

$exportRequestParams = @{
   ResourceGroupName                   = "<resourceGroupName>"
   ServerName                          = "<serverName>"
   DatabaseName                        = "<databaseName>"
   StorageKeyType                      = "StorageAccessKey"
   StorageKey                          = $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -StorageAccountName "<storageAccountName>").Value[0]
   StorageUri                          = "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac"
   UseNetworkIsolation                 = $true
   StorageAccountResourceIdForPrivateLink = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>"
   SqlServerResourceIdForPrivateLink   = "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>"
   AdministratorLogin                  = "<userID>"
   AdministratorLoginPassword          = $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)
}

$exportRequest = New-AzSqlDatabaseExport @exportRequestParams

Istniejące interfejsy API do wykonywania zadań importu i eksportu obsługują usługę Private Link. Zapoznaj się z tematem Importowanie interfejsu API bazy danych.

Ograniczenia

Obecnie link prywatny do importowania/eksportowania ma następujące ograniczenia:

  • Aby używać usługi Private Link z importem/eksportem, baza danych użytkownika i kontener obiektów blob usługi Azure Storage muszą być hostowane w tym samym typie chmury platformy Azure. Na przykład zarówno w usłudze Azure Commercial, jak i w obu w witrynie Azure Gov. Hosting między typami chmury nie jest obsługiwany.

  • Importowanie lub eksportowanie bazy danych z usługi Azure SQL Managed Instance przy użyciu programu PowerShell nie jest obecnie obsługiwane.

  • Usługa Import/Export Private Link nie powinna być używana, gdy baza danych użytkownika lub konto usługi Azure Storage są chronione przez blokady zasobów.

  • Ręczne zatwierdzenie nowego połączenia prywatnego punktu końcowego jest wymagane do ukończenia operacji eksportowania. Po rozpoczęciu eksportu przejdź do pozycji "oczekujące połączenia" w Centrum usługi Private Link i zatwierdź połączenia, co może potrwać kilka minut.

  • Importowanie przy użyciu usługi Private Link nie obsługuje określania nadmiarowości magazynu kopii zapasowych podczas tworzenia nowej bazy danych i tworzenia z domyślną nadmiarową nadmiarową nadmiarowością magazynu kopii zapasowych. Aby obejść ten problem, najpierw utwórz pustą bazę danych z wymaganą nadmiarowością magazynu kopii zapasowych przy użyciu witryny Azure Portal lub programu PowerShell, a następnie zaimportuj plik BACPAC do tej pustej bazy danych.

  • Importowanie przy użyciu interfejsu API REST z linkiem prywatnym można ukończyć tylko dla istniejącej bazy danych, ponieważ interfejs API używa rozszerzeń bazy danych. Aby obejść ten problem, utwórz pustą bazę danych o żądanej nazwie, a następnie wywołaj interfejs API REST importu z linkiem prywatnym.