استخدام PowerShell لتحديث مخطط المزامنة في مجموعة مزامنة موجودة

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

يقوم مثال Azure PowerShell هذا بتحديث مخطط المزامنة في مجموعة مزامنة بيانات SQL موجودة. عندما تقوم بمزامنة جداول متعددة، يساعدك هذا البرنامج النصي على تحديث مخطط المزامنة بكفاءة. يوضح هذا المثال استخدام البرنامج النصي UpdateSyncSchema، والذي يتوفر على GitHub كـ UpdateSyncSchema.ps1.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

ملاحظة

تستخدم هذه المقالة الوحدة النمطية Azure Az PowerShell، وهي الوحدة النمطية PowerShell الموصى بها للتفاعل مع Azure. لبدء استخدام الوحدة النمطية Az PowerShell، راجع تثبيت Azure PowerShell. لمعرفة كيفية الترحيل إلى الوحدة النمطية Az PowerShell، راجع ترحيل Azure PowerShell من AzureRM إلى Az.

استخدام Azure Cloud Shell

Azure يستضيف Azure Cloud Shell، بيئة تفاعلية يمكن استخدامها من خلال المستعرض. يمكنك استخدام Bash أو PowerShell مع Cloud Shell للعمل مع خدمات Azure. يمكنك استخدام أوامر Cloud Shell المثبتة مسبقًا لتشغيل التعليمات البرمجية في هذه المقالة دون الحاجة إلى تثبيت أي شيء على البيئة المحلية.

لبدء Azure Cloud Shell:

خيار مثال/ رابط
انقر فوق ⁧⁩جربه⁧⁩ في الزاوية العلوية اليسرى من كتلة التعليمات البرمجية. تحديد ⁧⁩جربه⁧⁩ لا يقوم بنسخ التعليمات البرمجية تلقائيًا إلى Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
انتقل إلى ⁧⁩⁧ https://shell.azure.com⁩⁧⁩، أو حدد زر ⁩تشغيل Cloud Shell لفتح Cloud Shell في المتصفح لديك. Screenshot that shows how to launch Cloud Shell in a new window.
حدد زر ⁧⁩Cloud Shell⁧⁩ في شريط القوائم في أعلى اليمين في ⁧⁩مدخل Azure⁧⁩. Screenshot that shows the Cloud Shell button in the Azure portal

لتشغيل التعليمة البرمجية في هذا المقال في Azure Cloud Shell:

  1. ابدأ تشغيل Cloud Shell.

  2. حدد الزر ⁧⁩نسخ⁧⁩ على كتلة التعليمات البرمجية لنسخ التعليمات البرمجية.

  3. ألصق تعليمة البرمجية في جلسة Cloud Shell بتحديد Ctrl+Shift+Vعلى Windows وLunix، أو بتحديد Cmd+Shift+Vعلى macOS.

  4. اكتب ⁧⁩"Enter"⁧⁩ لتشغيل الأمر.

إذا اخترت تثبيت PowerShell واستخدامه محليًا، فإن هذا البرنامج التعليمي يتطلب Az PowerShell 1.4.0 أو إصدارًا أحدث. إذا كنت بحاجة إلى الترقية، فراجع تثبيت الوحدة النمطية Azure PowerShell. عند تشغيل PowerShell محلياً، يلزم تشغيل Connect-AzAccount لإنشاء الاتصال بـ Azure.

لقراءة نبذة حول SQL Data Sync، راجع مزامنة البيانات عبر عدة قواعد بيانات سحابية ومحلية مع Azure SQL Data Sync.

هام

لا تدعم مزامنة بيانات SQL مثيل Azure SQL المُدار في الوقت الحالي.

أمثلة

إضافة جميع الجداول إلى مخطط المزامنة

المثال التالي يحدث مخطط قاعدة البيانات ويضيف جميع الجداول الصالحة في قاعدة بيانات الموزعة إلى مخطط المزامنة.

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true

إضافة وإزالة الجداول والأعمدة

يضيف المثال التالي [dbo].[Table1] إلى مخطط [dbo].[Table2].[Column1] المزامنة ويزيل[dbo].[Table3].

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"

مَعلمات البرنامج النصي

يحتوي البرنامج النصي UpdateSyncSchema على المعلمات التالية:

المعلمة ملاحظات
subscriptionId الاشتراك الذي يتم إنشاء مجموعة المزامنة فيه.
$resourceGroupName مجموعة الموارد التي يتم إنشاء مجموعة المزامنة بها.
$serverName اسم الخادم لقاعدة بيانات موزعة.
$databaseName اسم قاعدة البيانات الموزعة.
$syncGroupName اسم مجموعة المزامنة.
$memberName حدد اسم العضو إذا كنت تريد تحميل مخطط قاعدة البيانات من عضو المزامنة بدلاً من قاعدة البيانات الموزعة. إذا كنت تريد تحميل مخطط قاعدة البيانات من الموزع، اترك هذه المعلَمة فارغة.
$timeoutInSeconds تحديد مهلة عند تحديث البرنامج النصي لمخطط قاعدة البيانات. المهلة الافتراضية هي 900 ثانية.
$refreshDatabaseSchema تحديد ما إذا كان البرنامج النصي يحتاج إلى تحديث مخطط قاعدة البيانات. إذا تغير مخطط قاعدة البيانات من التكوين السابق (على سبيل المثال، إذا قمت بإضافة جدول جديد أو عمود جديد)، فستحتاج إلى تحديث المخطط قبل إعادة تكوينه. الوضع الافتراضي خطأ.
$addAllTables إذا كانت هذه القيمة صحيحة، تتم إضافة جميع الجداول والأعمدة الصالحة إلى مخطط المزامنة. يتم تجاهل قيم $TablesAndColumnsToAdd $TablesAndColumnsToRemove.
$tablesAndColumnsToAdd حدد جداول أو أعمدة لإضافتها إلى مخطط المزامنة. يجب أن يكون كل اسم جدول أو عمود محدد بالكامل باسم المخطط. على سبيل المثال: [dbo].[Table1]، [dbo].[Table2].[Column1]. يمكن تحديد أسماء جداول أو أعمدة متعددة وفصلها بفاصلة (,).
$tablesAndColumnsToRemove حدد جداول أو أعمدة لإزالتها من مخطط المزامنة. يجب أن يكون كل اسم جدول أو عمود محدد بالكامل باسم المخطط. على سبيل المثال: [dbo].[Table1]، [dbo].[Table2].[Column1]. يمكن تحديد أسماء جداول أو أعمدة متعددة وفصلها بفاصلة (,).

شرح البرنامج النصي

يستخدم البرنامج النصي UpdateSyncSchema الأوامر التالية. يرتبط كل أمر في الجدول بالوثائق الخاصة بالأوامر.

الأمر ملاحظات
Get-AzSqlSyncGroupLog يُرجع معلومات حول مجموعة مزامنة.
Update-AzSqlSyncGroup يحدّث مجموعة مزامنة.
Get-AzSqlSyncMember يُرجع معلومات حول عضو مزامنة.
Get-AzSqlSyncSchema يُرجع معلومات حول مخطط مزامنة.
Update-AzSqlSyncSchema يحدّث مخطط مزامنة.

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

لمزيد من المعلومات حول Azure PowerShell، راجع وثائق Azure PowerShell.

يمكن العثور على المزيد من عينات برامج نصيةSQL Database PowerShell في البرامج النصية لـ Azure SQL Database PowerShell.

لمزيد من المعلومات حول SQL Data Sync، راجع:

لمزيد من المعلومات حول قاعدة بيانات SQL، راجع: