Özel bağlantı kullanarak Azure SQL Veritabanı içeri veya dışarı aktarma

Şunlar için geçerlidir:Azure SQL Veritabanı

Azure PowerShell veya Azure portalı aracılığıyla İçeri veya Dışarı Aktarma'yı çalıştırmak için Azure Hizmetlerine Erişime İzin Ver seçeneğini AÇI olarak ayarlamanız gerekir; aksi takdirde İçeri veya Dışarı Aktarma işlemi bir hatayla başarısız olur. Kullanıcılar genellikle tüm Azure hizmetlerine erişim gerektirmeden özel bir uç nokta kullanarak İçeri veya Dışarı Aktarma gerçekleştirmek ister. Bu makalede, Özel Bağlantı kullanarak bir Azure SQL Veritabanı içeri veya dışarı aktarma işlemi açıklanır ve Azure SQL mantıksal sunucusunda Azure Hizmetlerine Erişime İzin Ver ayarı KAPALI olarak bırakılır.

Dekont

Azure SQL Veritabanı için özel bağlantı kullanarak içeri/dışarı aktarma şu anda önizleme aşamasındadır.

Veritabanını içeri veya dışarı aktarma özel bağlantısı, Microsoft tarafından oluşturulan ve yalnızca veritabanını içeri/dışarı aktarma işlemi, Azure SQL veritabanı ve ilgili diğer Azure Depolama hizmetleri için yapılan iletişimler için kullanılan, hizmet tarafından yönetilen bir özel uç noktadır. Hizmet tarafından yönetilen bir özel uç nokta, belirli bir sanal ağ veya alt ağ içinde yer alan özel IP adresidir. Özel uç noktanın hem sunucu hem de depolama için Azure portalında kullanıcı tarafından el ile onaylanması gerekir.

Diagram of Import Export Private link architecture.

İçeri/Dışarı Aktarma Özel Bağlantı Azure portalı, PowerShell veya REST API kullanılarak yapılandırılabilir.

  1. Veritabanını içeri aktarmak istediğiniz Azure SQL mantıksal sunucusunun Genel Bakış sayfasına gidin. Araç çubuğundan Veritabanını içeri aktar'ı seçin.
  2. Veritabanını içeri aktar sayfasında Özel bağlantı kullan seçeneği onay kutusunu seçin. Screenshot from the Azure portal that shows how to enable Import Private link.
  3. Depolama hesabını, kimlik doğrulama kimlik bilgilerini, veritabanı ayrıntılarını girin ve Tamam'ı seçin.
  1. Dışarı aktarmak istediğiniz Azure SQL veritabanının Genel Bakış sayfasına gidin. Araç çubuğundan Dışarı Aktar'ı seçin.
  2. Veritabanını dışarı aktar sayfasında Özel bağlantı kullan seçeneği onay kutusunu seçin. Screenshot from the Azure portal that shows how to enable Export Private Link.
  3. Depolama hesabını, kimlik doğrulama kimlik bilgilerini, veritabanı ayrıntılarını girin ve Tamam'ı seçin.

2. Özel uç noktaları onaylama

  1. Azure portalında Özel Bağlantı Merkezi'ne gidin. Azure arama kutusunda "Özel Bağlantı" araması yapın.
  2. Özel Bağlantı Merkezi'nin Özel uç noktalar sayfasına gidin.
  3. İçeri/Dışarı Aktarma hizmetini kullanarak oluşturduğunuz özel uç noktaları onaylayın.

Azure SQL Veritabanı özel uç nokta bağlantısını onaylama

  1. Veritabanını barındıran Azure SQL mantıksal sunucusuna gidin.
  2. Güvenlik altındaki sayfasına gidin
  3. Özel erişim sekmesini seçin.
  4. Onaylamak istediğiniz özel uç noktayı seçin.
  5. Bağlantıyı onaylamak için Onayla'yı seçin.

Screenshot from the Azure portal that shows how to approve Azure SQL Database Private Link.

Azure Depolama'da özel uç nokta bağlantısını onaylama

  1. .bacpac dosyasının bulunduğu blob kapsayıcısını barındıran depolama hesabına gidin.
  2. Güvenlik menüsünde Özel uç nokta bağlantıları sayfasını açın.
  3. İçeri/dışarı aktarma hizmeti için özel uç noktayı seçin.
  4. Bağlantıyı onaylamak için Onayla'yı seçin.

Screenshot from the Azure portal that shows how to approve Azure Storage Private Link in Azure Storage.

3. İçeri/dışarı aktarma durumunu denetleyin

  1. Özel uç noktalar onaylandıktan sonra hem Azure SQL sunucusunda hem de Azure Depolama hesabında veritabanı içeri veya dışarı aktarma işi başlatılır. O zamana kadar işler beklemeye alınacaktır.
  2. Veritabanı içeri veya dışarı aktarma işlerinin durumunu Azure SQL server sayfasındaki Veri Yönetimi bölümü altındaki İçeri/Dışarı Aktarma Geçmişi sayfasından de kontrol edebilirsiniz. Screenshot from the Azure portal that shows how to check Import Export Jobs Status.

Azure'a bir içeri aktarma veritabanı isteği göndermek için New-AzSqlDatabaseImport cmdlet'ini kullanın. Veritabanı boyutuna bağlı olarak içeri aktarma işleminin tamamlanması biraz zaman alabilir. DTU tabanlı sağlama modeli, her katman için belirli veritabanı maksimum boyut değerlerini destekler. Veritabanını içeri aktarırken desteklenen bu değerlerden birini kullanın.

$importRequest = New-AzSqlDatabaseImport -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 "Standard" -ServiceObjectiveName "P6" ` -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)

Azure SQL Veritabanı hizmetine bir dışarı aktarma veritabanı isteği göndermek için New-AzSqlDatabaseExport cmdlet'ini kullanın. Veritabanınızın boyutuna bağlı olarak dışarı aktarma işleminin tamamlanması biraz zaman alabilir.

$importRequest = New-AzSqlDatabaseExport -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 "Standard" -ServiceObjectiveName "P6" ` -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)

İçeri ve Dışarı Aktarma işlerini gerçekleştirmek için mevcut API'ler Özel Bağlantı destekleyecek şekilde geliştirilmiştir. Veritabanı API'sini İçeri Aktarma'ya bakın.

Sınırlamalar

Şu anda içeri/dışarı aktarma için özel bağlantı aşağıdaki sınırlamalara sahiptir:

  • İçeri/Dışarı Aktarma ile Özel Bağlantı kullanmak için kullanıcı veritabanı ve Azure Depolama blob kapsayıcısı aynı Azure Bulut türünde barındırılmalıdır. Örneğin, hem Azure Ticari'de hem de Azure Gov'da. Bulut türleri arasında barındırma desteklenmez.

  • PowerShell kullanarak veritabanının Azure SQL Yönetilen Örneği içeri veya dışarı aktarılması şu anda desteklenmiyor.

  • kullanıcı Veritabanı veya Azure Depolama hesabı Kaynak kilitleri tarafından korunduğunda İçeri/Dışarı Aktarma Özel Bağlantı kullanılmamalıdır.

  • Dışarı aktarma işlemini tamamlamak için yeni özel uç nokta bağlantısının el ile onaylanması gerekir. Dışarı aktarma işlemini başlattıktan sonra, Özel Bağlantı Merkezi'nde "bekleyen bağlantılar" bölümüne gidin ve bağlantıları onaylayın; bu işlem birkaç dakika sürebilir.

  • Özel Bağlantı kullanarak içeri aktarma, yeni bir veritabanı oluştururken yedek depolama yedekliliği belirtmeyi desteklemez ve varsayılan coğrafi olarak yedekli yedekleme depolama yedekliliğiyle oluşturur. Geçici bir çözüm olarak, önce Azure portalını veya PowerShell'i kullanarak istenen yedekleme depolama yedekliliğine sahip boş bir veritabanı oluşturun ve ardından .bacpac dosyasını bu boş veritabanına aktarın.

  • ÖZEL bağlantıyla REST API kullanarak içeri aktarma işlemi yalnızca mevcut bir veritabanı için tamamlanabilir çünkü API veritabanı uzantılarını kullanır. Geçici bir çözüm olarak, istenen ada sahip boş bir veritabanı oluşturun ve ardından REST API'sini özel bağlantıyla içeri aktarın.

Sonraki adımlar