استيراد Azure SQL Database أو تصديرها باستخدام ارتباط خاص دون السماح لخدمات Azure بالوصول إلى الخادم

ينطبق على: قاعدة بيانات Azure SQL

يتطلب منك تشغيل الاستيراد أو التصدير عبر Azure PowerShell أو مدخل Azure تعيين "Allow Access to Azure Services" على "ON"، وإلا تفشل عملية الاستيراد/التصدير بسبب حدوث خطأ. في كثير من الأحيان، يرغب المستخدمون في إجراء استيراد أو تصدير باستخدام نقطة نهاية خاصة دون السماح بالوصول إلى جميع خدمات Azure.

ارتباط الاستيراد-التصدير الخاص هو نقطة نهاية خاصة مدارة بالخدمة أنشأتها Microsoft وتستخدمها حصرياً خدمات الاستيراد والتصدير، وقاعدة البيانات، وAzure Storage لجميع الاتصالات. يجب أن يوافق المستخدم يدوياً على نقطة النهاية الخاصة من في مدخل Azure لكل من الخادم والتخزين.

Screenshot of Import Export Private link architecture

لاستخدام الارتباط الخاص مع الاستيراد والتصدير، يجب استضافة قاعدة بيانات المستخدم وحاوية الكائن الثنائي كبير الحجم Azure Storage على نوع Azure Cloud نفسه. على سبيل المثال، إما في Azure Commercial أو كليهما على Azure Gov. الاستضافة عبر أنواع السحابة غير مدعومة.

توضح هذه المقالة كيفية استيراد Azure SQL Database أو تصديرها باستخدام الارتباط الخاص مع تعيين "Allow Azure Services" على "OFF" على خادم Azure SQL.

ملاحظة

الاستيراد والتصدير باستخدام ارتباط خاص لـAzure SQL Database قيد المعاينة حالياً

هام

استيراد قاعدة بيانات أو تصديرها من Azure SQL Managed Instance أو من قاعدة بيانات في Hyperscale service tier باستخدام PowerShell غير مدعوم في الوقت الحالي.


يمكن تكوين Import-Export Private Linkارتباط استيراد وتصدير خاص عبر مدخل Azure أو PowerShell أو باستخدام واجهة برمجة تطبيقات REST.

  1. انتقل إلى الخادم الذي ترغب في استيراد قاعدة البيانات إليه. حدد استيراد قاعدة بيانات من شريط الأدوات في صفحة "Overview".
  2. في صفحة "Import Database"، حدد خيار "Use Private Link" Screenshot that shows how to enable Import Private link
  3. أدخل حساب التخزين وبيانات اعتماد الخادم وتفاصيل قاعدة البيانات وحدد "Ok"
  1. انتقل إلى قاعدة البيانات التي ترغب في تصديرها. حدد تصدير قاعدة البيانات من شريط الأدوات في صفحة "Overview"
  2. في صفحة "Export Database"، حدد خيار "Use Private Link" Screenshot that shows how to enable Export Private Link
  3. أدخل حساب التخزين وبيانات اعتماد تسجيل الدخول إلى الخادم وتفاصيل قاعدة البيانات وحدد "Ok"

الموافقة على نقاط النهاية الخاصة

  1. انتقل إلى "Private Link Center"
  2. انتقل إلى قسم "Private endpoints"
  3. الموافقة على نقاط النهاية الخاصة التي أنشأتها باستخدام خدمة الاستيراد/التصدير
الموافقة على اتصال نقطة النهاية الخاصة على Azure SQL Database
  1. انتقل إلى الخادم الذي يستضيف قاعدة البيانات.
  2. افتح صفحة "Private endpoint connections" في قسم الأمان على اليسار.
  3. حدد نقطة النهاية الخاصة التي ترغب في الموافقة عليها.
  4. حدد "Approve" للموافقة على الاتصال.

Screenshot that shows how to approve Azure SQL Database Private Link

الموافقة على اتصال نقطة النهاية الخاص على Azure Storage
  1. انتقل إلى حساب التخزين الذي يستضيف حاوية الكائن الثنائي كبير الحجم التي تحتوي على ملف BACPAC.
  2. افتح صفحة "Private endpoint connections" في قسم الأمان على اليسار.
  3. حدد نقاط نهاية الاستيراد والتصدير الخاصة التي تريد الموافقة عليها.
  4. حدد "Approve" للموافقة على الاتصال.

Screenshot that shows how to approve Azure Storage Private Link in Azure Storage

بعد الموافقة على نقاط النهاية الخاصة في كل من حساب Azure SQL Server والتخزين، سيتم بدء مهام الاستيراد أو التصدير. وحتى ذلك الحين، ستكون الوظائف معلقة.

يمكنك التحقق من حالة وظائف الاستيراد أو التصدير في صفحة محفوظات"Import-Export" ضمن قسم "Data Management" في صفحة Azure SQL Server. Screenshot that shows how to check Import Export Jobs Status


استخدم New-AzSqlDatabaseImport cmdlet لإرسال طلب استيراد قاعدة بيانات إلى Azure. بناء على حجم قاعدة البيانات، قد يستغرق الاستيراد بعض الوقت لاستكماله. تحدد دعائم نموذج التوفير المستند إلى DTU قيم الحد الأقصى لحجم قاعدة البيانات لكل مستوى. عند استيراد قاعدة بيانات استخدم إحدى هذه القيم المعتمدة.

$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)

استخدم الأمر cmdlet New-AzSqlDatabaseExport لإرسال طلب قاعدة بيانات تصدير إلى خدمة قاعدة بيانات Azure SQL. بناءً على حجم قاعدة البيانات الخاصة بك، قد تستغرق عملية التصدير بعض الوقت حتى تكتمل.

$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)

تم تحسين واجهات برمجة التطبيقات الحالية لأداء مهام الاستيراد والتصدير لدعم الارتباط الخاص. راجع "Import Database API"

التقييدات

  • لا يدعم الاستيراد باستخدام الارتباط الخاص تحديد تكرار تخزين النسخ احتياطي أثناء إنشاء قاعدة بيانات جديدة ويُنشئ مع التكرار الافتراضي لتخزين النسخ الاحتياطي المتكرر جغرافياً. الحل البديل، أولاً أنشئ قاعدة بيانات فارغة مع تكرار تخزين النسخ الاحتياطي المطلوب باستخدام مدخل Azure أو PowerShell ثم استرد BACPAC إلى قاعدة البيانات الفارغة هذه.
  • عمليات الاستيراد والتصدير غير مدعومة في طبقة Azure SQL DB Hyperscale حتى الآن.
  • لا يمكن إجراء الاستيراد باستخدام واجهة برمجة تطبيقات REST مع ارتباط خاص إلا إلى قاعدة البيانات الموجودة نظرا لأن واجهة برمجة التطبيقات تستخدم امتدادات قاعدة البيانات. لحل هذه المشكلة، قم بإنشاء قاعدة بيانات فارغة بالاسم المطلوب واستدعاء استيراد واجهة برمجة تطبيقات REST باستخدام ارتباط خاص.

الخطوات التالية