كيفية استخدام Azure PowerShell لتوفير SQL Server على الأجهزة الظاهرية Azure

ينطبق على: Microsoft SQL Server على Azure VM

يغطي هذا الدليل خيارات استخدام PowerShell لتوفير SQL Server على الأجهزة الظاهرية Azure (VMs). للحصول على مثال Azure PowerShell مبسط يعتمد على القيم الافتراضية، راجع بداية سريعة لـ SQL VM Azure PowerShell.

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

ملاحظة

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

تكوين اشتراكك

  1. افتح PowerShell وقم بتأسيس الوصول إلى حساب Azure الخاص بك عن طريق تشغيل الأمر ⁧⁩Connect-AzAccount⁧⁩.

    Connect-AzAccount
    
  2. عند المطالبة، أدخل بيانات الاعتماد الخاصة بك. استخدم نفس البريد الإلكتروني وكلمة المرور التي تستخدمها لتسجيل الدخول إلى مدخل Microsoft Azure.

تعريف متغيرات الصورة

لإعادة استخدام القيم وتبسيط إنشاء البرنامج النصي، ابدأ بتعريف عدد من المتغيرات. تغيير قيم المعلمة كما تريد، ولكن كن على علم بالقيود المتعلقة بتسمية أطوال الأسماء والأحرف الخاصة عند تعديل القيم المتوفرة.

الموقع ومجموعة الموارد

حدد منطقة البيانات ومجموعة الموارد التي تريد إنشاء موارد الجهاز الظاهري الأخرى فيه.

قم بالتعديل كما تريد ثم قم بتشغيل هذه cmdlets لتكوين هذه المتغيرات.

$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"

خصائص التخزين

قم بتعريف حساب التخزين ونوع التخزين الذي سيتم استخدامه من قِبل الجهاز الظاهري.

قم بالتعديل كما تريد، ثم قم بتشغيل أمر cmdlet التالي لتكوين هذه المتغيرات. نوصي باستخدام الـ SSDs المتميزة لأحمال العمل الإنتاجية.

$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"

خصائص الشبكة

قم بتعريف الخصائص التي سيتم استخدامها من قِبل شبكة الاتصال في الجهاز الظاهري.

  • واجهة الشبكة
  • أسلوب التخصيص TCP/IP
  • اسم الشبكة الظاهرية
  • اسم الشبكة الفرعية الظاهرية
  • نطاق عناوين IP للشبكة الظاهرية
  • نطاق عناوين IP للشبكة الفرعية
  • تسمية اسم المجال العام

قم بالتعديل كما تريد ثم قم بتشغيل أمر cmdlet لتكوين هذه المتغيرات.

$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$TCPIPAllocationMethod = "Dynamic"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$DomainName = $ResourceGroupName

خصائص الجهاز الظاهري

تعريف الخصائص التالية:

  • اسم الجهاز الظاهري
  • اسم الكمبيوتر
  • حجم الجهاز الظاهري
  • اسم قرص نظام التشغيل للجهاز الظاهري

قم بالتعديل كما تريد ثم قم بتشغيل أمر cmdlet لتكوين هذه المتغيرات.

$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"

اختيار صورة SQL Server

استخدم المتغيرات التالية لتعريف صورة SQL Server لاستخدامها للجهاز الظاهري.

  1. أولاً، قم بسرد جميع عروض صور SQL Server باستخدام الأمر Get-AzVMImageOffer. يسرد هذا الأمر الصور الحالية المتاحة في مدخل Microsoft Azure والصور القديمة التي يمكن تثبيتها فقط باستخدام PowerShell:

    Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'
    
  2. لهذا البرنامج التعليمي، استخدم المتغيرات التالية لتحديد SQL Server 2017 على Windows Server 2016.

    $OfferName = "SQL2017-WS2016"
    $PublisherName = "MicrosoftSQLServer"
    $Version = "latest"
    
  3. بعد ذلك، قم بإدراج الإصدارات المتوفرة لعرضك.

    Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
    
  4. لهذا البرنامج التعليمي، استخدم إصدار SQL Server 2017 Developer (SQLDEV). إصدار المطور مُرخص بحرية للاختبار والتطوير، وتدفع فقط مقابل تكلفة تشغيل الجهاز الظاهري.

    $Sku = "SQLDEV"
    

قم بإنشاء مجموعة موارد

مع نموذج نشر إدارة الموارد، الكائن الأول الذي تقوم بإنشائه هو مجموعة الموارد. استخدم New-AzResourceGroup للأمر cmdlet لإنشاء مجموعة موارد Azure ومواردها. حدد المتغيرات التي قمت بتهيئتها مسبقاً لاسم مجموعة الموارد وموقعها.

تشغيل الأمر cmdlet لإنشاء مجموعة موارد جديدة.

New-AzResourceGroup -Name $ResourceGroupName -Location $Location

إنشاء حساب تخزين

يتطلب الجهاز الظاهري موارد تخزين لقرص نظام التشغيل وبيانات وملفات سجل SQL Server. للتبسيط، ستقوم بإنشاء قرص واحد لكليهما. يمكنك إرفاق أقراص إضافية لاحقاً باستخدام إضافة قرص Azure مع الأمر cmdlet لوضع وبيانات وملفات سجل SQL Server على أقراص مخصصة. استخدم New-AzStorageAccount مع الأمر cmdlet لإنشاء حساب تخزين قياسي في مجموعة الموارد الجديدة. حدد المتغيرات التي قمت بتهيئتها مسبقاً لاسم حساب التخزين واسم SKU للتخزين والموقع.

قم بتشغيل الأمر cmdlet لإنشاء حساب تخزين جديد.

$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName `
   -Name $StorageName -SkuName $StorageSku `
   -Kind "Storage" -Location $Location

تلميح

قد يستغرق إنشاء حساب التخزين بضع دقائق.

إنشاء موارد شبكة الاتصال

يتطلب الجهاز الظاهري عدداً من موارد الشبكة للاتصال بالشبكة.

  • يتطلب كل جهاز ظاهري شبكة اتصال ظاهرية.
  • يجب أن يكون للشبكة الظاهرية شبكة فرعية واحدة مُعرفة على الأقل.
  • يجب تعريف واجهة شبكة اتصال مع عنوان IP عام أو خاص.

إنشاء تكوين شبكة فرعية لشبكة ظاهرية

ابدأ بإنشاء تكوين شبكة فرعية لشبكة الاتصال الظاهرية. لهذا البرنامج التعليمي، إنشاء شبكة فرعية افتراضية باستخدام New-AzVirtualNetworNET....Config مع الأمر cmdlet. حدد المتغيرات التي قمت بتهيئتها مسبقاً لاسم الشبكة الفرعية وبادئة العنوان.

ملاحظة

يمكنك تعريف خصائص إضافية لتكوين الشبكة الفرعية للشبكة الظاهرية باستخدام الأمر cmdlet، ولكن يكون ذلك خارج نطاق هذا البرنامج التعليمي.

تشغيل الأمر cmdlet لإنشاء تكوين الشبكة الفرعية الظاهرية.

$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix

إنشاء شبكة افتراضية

بعد ذلك، قم بإنشاء شبكة الاتصال الظاهرية في مجموعة الموارد الجديدة باستخدام New-AzVirNET....work مع الأمر cmdlet. حدد المتغيرات التي قمت بتهيئتها مسبقاً للاسم والموقع وبادئة العنوان. استخدم تكوين الشبكة الفرعية الذي قمت بتعريفه في الخطوة السابقة.

تشغيل الأمر cmdlet لإنشاء شبكة الاتصال الظاهرية.

$VNet = New-AzVirtualNetwork -Name $VNetName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig

إنشاء عنوان IP العام

الآن بعد أن تم تعريف الشبكة الظاهرية الخاصة بك، يجب تكوين عنوان IP للاتصال بالجهاز الظاهري. لهذا البرنامج التعليمي، قم يإنشاء عنوان IP عام باستخدام معالجة IP ديناميكية لدعم الاتصال بالإنترنت. استخدم New-AzPublicIpAddress مع الأمر cmdlet لإنشاء عنوان IP العام في مجموعة الموارد الجديدة. حدد المتغيرات التي قمت مسبقاً بتهيئتها للاسم والموقع وأسلوب التخصيص وتسمية اسم مجال DNS.

ملاحظة

يمكنك تعريف خصائص إضافية من عنوان IP العام باستخدام الأمر cmdlet، ولكن ذلك خارج نطاق البرنامج التعليمي الأولي هذا. يمكنك أيضاً إنشاء عنوان خاص أو عنوان بعنوان ثابت، ولكن ذلك أيضاً خارج نطاق البرنامج التعليمي هذا.

تشغيل الأمر cmdlet لإنشاء عنوان IP العام الخاص بك.

$PublicIp = New-AzPublicIpAddress -Name $InterfaceName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName

إنشاء مجموعة أمان الشبكة

لتأمين نسبة استخدام الشبكة للجهاز الظاهري وSQL Server، قم بإنشاء مجموعة أمان شبكة اتصال.

  1. أولاً، قم بإنشاء قاعدة مجموعة أمان شبكة اتصال لسطح المكتب البعيد (RDP) للسماح باتصالات RDP.

    $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp `
       -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * `
       -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow
    
  2. قم بتكوين قاعدة مجموعة أمان شبكة اتصال تسمح بنسبة استخدام الشبكة على المنفذ TCP 1433. القيام بذلك يمكن الاتصالات إلى SQL Server عبر الإنترنت.

    $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule"  -Protocol Tcp `
       -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * `
       -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
    
  3. قم بإنشاء مجموعة أمان الشبكة.

    $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName `
       -Location $Location -Name $NsgName `
       -SecurityRules $NsgRuleRDP,$NsgRuleSQL
    

قم بإنشاء واجهات الشبكة.

الآن، أنت على استعداد لإنشاء واجهة الشبكة للجهاز الظاهري الخاص بك. استخدم NeNET....workInterface مع الأمر cmdlet لإنشاء واجهة شبكة الاتصال في مجموعة الموارد الجديدة الخاصة بك. حدد الاسم والموقع والشبكة الفرعية وعنوان IP العام المُعرف مسبقاً.

تشغيل الأمر cmdlet لإنشاء واجهة الشبكة.

$Interface = New-AzNetworkInterface -Name $InterfaceName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id `
   -NetworkSecurityGroupId $Nsg.Id

تكوين عنصر الجهاز الظاهري

الآن بعد أن تم تعريف موارد التخزين والشبكة، فأنت مستعد لتحديد موارد الحساب للجهاز الظاهري.

  • تحديد حجم الجهاز الظاهري وخصائص نظام التشغيل المختلفة.
  • حدد واجهة الشبكة التي قمت بإنشائها مسبقاً.
  • قم بتعريف مخزن البيانات الثنائية الكبيرة.
  • حدد قرص نظام التشغيل.

إنشاء عنصر الجهاز المركزي

ابدأ بتحديد حجم الجهاز الظاهري. لهذا البرنامج التعليمي، حدد DS13. استخدم New-AzVMConfig مع الأمر cmdlet لإنشاء عنصر جهاز ظاهري قابل للتكوين. حدد المتغيرات التي قمت بتهيئتها مسبقاً للاسم والحجم.

تشغيل الأمر cmdlet لإنشاء عنصر الجهاز الظاهري.

$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize

إنشاء عنصر بيانات اعتماد للاحتفاظ بالاسم وكلمة المرور لبيانات اعتماد المسؤول المحلي

قبل أن تتمكن من تعيين خصائص نظام التشغيل للجهاز الظاهري، يجب توفير بيانات الاعتماد لحساب المسؤول المحلي كسلسلة آمنة. لتنفيذ ذلك، استخدم Get-Credential مع الأمر cmdlet.

قم بتشغيل أمر cmdlet التالي. ستحتاج إلى كتابة اسم المسؤول المحلي للجهاز الظاهري وكلمة المرور في نافذة طلب اعتماد PowerShell.

$Credential = Get-Credential -Message "Type the name and password of the local administrator account."

تعيين خصائص نظام التشغيل للجهاز الظاهري

الآن أنت مستعد لتعيين خصائص نظام التشغيل الخاص بالجهاز الظاهري باستخدام Set-AzVMOperatingSystem مع الأمر cmdlet.

  • قم بتعيين نوع نظام التشغيل على Windows.
  • يتطلب تثبيت عامل الجهاز الظاهري.
  • تحديد الأمر cmdlet يمكن عملية التحديث التلقائي.
  • حدد المتغيرات التي قمت مسبقاً بتهيئتها لاسم الجهاز الظاهري واسم الكمبيوتر وبيانات الاعتماد.

تشغيل الأمر cmdlet لتعيين خصائص نظام التشغيل للجهاز الظاهري.

$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine `
   -Windows -ComputerName $ComputerName -Credential $Credential `
   -ProvisionVMAgent -EnableAutoUpdate

إضافة واجهة الشبكة إلى الجهاز الظاهري

بعد ذلك، استخدم Add-NET....workInterface مع الأمر cmdlet لإضافة واجهة الشبكة باستخدام المتغير الذي قمت بتعريفه مسبقا.

تشغيل الأمر cmdlet لتعيين واجهة الشبكة للجهاز الظاهري.

$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id

تعيين موقع مخزن البيانات الثنائية الكبيرة للقرص ليتم استخدامه من قِبل الجهاز الظاهري

بعد ذلك، قم بتعيين موقع مخزن البيانات الثنائية الكبيرة لقرص الجهاز الظاهري مع المتغيرات التي قمت بتعريفها مسبقاً.

قم بتشغيل الأمر cmdlet لتعيين موقع مخزن البيانات الثنائية الكبيرة.

$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"

قم بتعيين خصائص قرص نظام التشغيل للجهاز الظاهري

بعد ذلك، قم بتعيين خصائص قرص نظام التشغيل للجهاز الظاهري باستخدام Set-AzVMOSDisk مع الأمر cmdlet.

  • حدد أن نظام التشغيل للجهاز الظاهري سيأتي من صورة.
  • قم بتعيين التخزين المؤقت للقراءة فقط (لأنه يتم تثبيت SQL Server على نفس القرص).
  • حدد المتغيرات التي قمت مسبقاً بتهيئتها لاسم الجهاز الظاهري وقرص نظام التشغيل.

قم بتشغيل الأمر cmdlet لتعيين خصائص قرص نظام التشغيل للجهاز الظاهري الخاص بك.

$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name `
   $OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage

تحديد صورة النظام الأساسي للجهاز الظاهري

تُعد خطوة التكوين الأخيرة هي تحديد صورة النظام الأساسي للجهاز الظاهري. لهذا البرنامج التعليمي، استخدم أحدث صورة SQL Server 2016 CTP. استخدم Set-AzVMSourceImage مع الأمر cmdlet لاستخدام هذه الصورة مع المتغيرات التي قمت بتعريفها مسبقاً.

تشغيل الأمر cmdlet لتحديد صورة النظام الأساسي للجهاز الظاهري الخاص بك.

$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine `
   -PublisherName $PublisherName -Offer $OfferName `
   -Skus $Sku -Version $Version

قم بإنشاء SQL VM

الآن بعد الانتهاء من خطوات التكوين، أنت مستعد لإنشاء الجهاز الظاهري. استخدم New-AzVM مع الأمر cmdlet لإنشاء الجهاز الظاهري باستخدام المتغيرات التي قمت بتعريفها.

تلميح

قد يستغرق إنشاء الجهاز الظاهري بضع دقائق.

تشغيل الأمر cmdlet لإنشاء الجهاز الظاهري.

New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine

تم إنشاء الجهاز الظاهري.

ملاحظة

إذا حدث خطأ حول تشخيص التشغيل، فيمكنك تجاهله. يتم إنشاء حساب تخزين قياسي لتشخيص التشغيل لأن حساب التخزين المحدد لقرص الجهاز الظاهري هو حساب تخزين متميز.

تثبيت عامل SQL Iaas

تدعم الأجهزة الظاهرية SQL Server ميزات الإدارة التلقائية مع ملحق SQL Server IaaS Agent . لتسجيل SQL Server مع تشغيل الملحق لأمر New-AzSqlVM بعد إنشاء الجهاز الظاهري. حدد نوع الترخيص الخاص بالجهاز الظاهري SQL Server، والاختيار بين الدفع عند الذهاب أو إحضار الترخيص الخاص بك عبر الميزة المختلطة من Azure. لمزيد من المعلومات حول الترخيص، راجع نموذج الترخيص.

New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB> 

هناك ثلاث طرق للتسجيل باستخدام الملحق:

إيقاف جهاز ظاهري أو إزالته

إذا لم تكن بحاجة إلى تشغيل SQL VM باستمرار، فإنه يمكنك تجنب الرسوم غير الضرورية عن طريق إيقافه عندما لا يكون قيد الاستخدام. يوقف الأمر التالي VM؛ ولكنه يتركه متاحًا للاستخدام في المستقبل.

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

يمكنك أيضًا حذف جميع الموارد المرتبطة بالجهاز الظاهري مع الأمر ⁧⁩Remove-AzResourceGroup⁧⁩. يؤدي القيام بذلك إلى حذف الجهاز الظاهري بشكل دائم أيضًا؛ لذا استخدم هذا الأمر بعناية.

مثال البرنامج النصي

يحتوي البرنامج النصي التالي على البرنامج النصي PowerShell الكامل لهذا البرنامج التعليمي. يفترض أنك قمت بالفعل بإعداد اشتراك Azure لاستخدامه مع أوامر Connect-AzAccount وSelect-AzSubscription.

# Variables

## Global
$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"

## Storage
$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"

## Network
$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$TCPIPAllocationMethod = "Dynamic"
$DomainName = $ResourceGroupName

##Compute
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"

##Image
$PublisherName = "MicrosoftSQLServer"
$OfferName = "SQL2017-WS2016"
$Sku = "SQLDEV"
$Version = "latest"

# Resource Group
New-AzResourceGroup -Name $ResourceGroupName -Location $Location

# Storage
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -SkuName $StorageSku -Kind "Storage" -Location $Location

# Network
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
$VNet = New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
$NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow
$NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule"  -Protocol Tcp -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
$Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName -Location $Location -Name $NsgName -SecurityRules $NsgRuleRDP,$NsgRuleSQL
$Interface = New-AzNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id -NetworkSecurityGroupId $Nsg.Id

# Compute
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
$Credential = Get-Credential -Message "Type the name and password of the local administrator account."
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate #-TimeZone = $TimeZone
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage

# Image
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName $PublisherName -Offer $OfferName -Skus $Sku -Version $Version

# Create the VM in Azure
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine

# Add the SQL IaaS Extension, and choose the license type
New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB> 

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

بعد إنشاء الجهاز الظاهري، يمكنك: