Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:Azure SQL Database
Azure SQL Managed Instance
SQL Server på Azure Virtual Machines
SQL Server aktiverat av Azure Arc
I den här artikeln beskrivs hur du:
- Granska och övergå flera SQL-produkter till pay-as-you-go-licens med ett enda PowerShell-skript.
- Upprätthåll kontinuerligt pay-as-you-go-licensiering för en resurstyp med Azure Policy.
Automatiseringen i denna artikel gäller SQL Server som aktiveras av Azure Arc, SQL Server på Azure Virtual Machines, Azure SQL Database och Azure SQL Managed Instance.
Att ändra ett licensavtal ändrar inte licenstypen som är konfigurerad för dina SQL-resurser. Arbetsflödena i den här artikeln hjälper dig att flytta resurser till fakturering enligt betala per användning när SQL-licenser med Software Assurance, SQL-prenumerationslicenser eller licensiering enligt Service Provider License Agreement (SPLA) inte längre gäller.
Förutsättningar
- Ett Azure-konto med åtkomst till klientorganisationen och de prenumerationer som innehåller SQL-resurserna.
- PowerShell 5 eller senare med Az PowerShell-modulen.
- Rollen Deltagare i varje prenumeration som du ändrar. För alternativ med minsta privilegium, granska Behörigheter efter resurstyp.
- I schemalagt läge krävs behörighet att skapa rolltilldelningar inom målprenumerationens omfång, eller att de nödvändiga rollerna är tilldelade i förväg till Automation-kontots hanterade identitet.
- Befogenhet att ändra faktureringsinställningar och intyga licensvillkoren för målresurserna.
Skriften använder Az.Accounts, Az.Sql, Az.SqlVirtualMachine, Az.ConnectedMachine, och Az.ResourceGraph. När en nödvändig modul saknas uppmanar skriptet användaren att bekräfta innan den installeras från PowerShell Gallery för den aktuella användaren.
Du kan köra skriptet i PowerShell-miljön i Azure Cloud Shell. Ange -TenantId när ditt konto kan komma åt mer än en hyresgäst.
Välj en automatiseringsmetod
Välj mellan:
- PowerShell för resursöverskridande övergångar till pay-as-you-go-licensiering.
- Azure Policy för kontinuerlig tillämpning av betala per användning för en resurstyp.
Följande tabell ger detaljer om varje automatiseringsmetod:
| Scenario | Rekommenderad metod |
|---|---|
| Granska eller tillämpa pay-as-you-go-ändringar över flera SQL-resurstyper | manage-payg-transition.ps1 |
| Överför alla resurser som stöds i en prenumeration eller klientorganisation till licensiering enligt principen betala per användning | manage-payg-transition.ps1 |
| Utför en övergång till betala per användning enligt ett återkommande schema |
manage-payg-transition.ps1 i schemalagt läge |
| Tillämpa kontinuerligt licensiering enligt modellen betala per användning för en resurstyp och åtgärda avvikelser | Ett resursspecifikt exempel på Azure Policy |
| Byt en resurs manuellt | Den produktspecifika artikeln om licensiering |
Granska stödda resurser och licensvärden
Procedurerna i denna artikel sätter -TargetLicenseType till PAYG. Skriptet översätter detta värde till det pay-as-you-go-värde som krävs av varje resursleverantör. Källvärdena visar vanliga licenskonfigurationer som övergången kan ersätta.
| Resource | Målvärde med betalning efter användning | Gemensamma källvärden | Stöds av manuset | Azure Policy-exempel |
|---|---|---|---|---|
| SQL Server aktiverat av Azure Arc | PAYG |
Paid, LicenseOnly |
Ja | Efterlevnad för Arc-aktiverad SQL Server-licenstyp |
| SQL Server på Azure-virtuella maskiner | PAYG |
AHUB |
Ja | SQL Server on Azure VMs licenstypsöverensstämmelse |
| Azure SQL Database och elastiska pooler | LicenseIncluded |
BasePrice |
Ja | Efterlevnad för licenstyp för Azure SQL Database |
| Azure SQL Managed Instance och instanspooler | LicenseIncluded |
BasePrice, HybridFailoverRights |
Ja | SQL Managed Instance-licenstypsöverensstämmelse |
Policyexemplen kan skriva över ytterligare källvärden, till exempel DR för SQL Server på Azure-VM:ar. Gå igenom det valda exemplet innan du implementerar en policyuppdrag.
Förstå hur PowerShell-skriptet fungerar
Använd PowerShell-skriptet för att ändra alla resurser inom en resursgrupp, alla resurser inom en prenumeration och alla resurser över en eller flera prenumerationer inom en hel hyresgäst.
Skriptet är självständigt och fungerar över de stödda SQL-resurserna. När du sätter -TargetLicenseType till standard PAYG, översätts det värdet till pay-as-you-go-värdet som krävs för varje resurstyp, som visas i Granska stödda resurser och licensvärden. Vid en enda körning ansluter den till den valda hyresgästen en gång och återanvänder sessionen för efterföljande resursoperationer. Prenumerationsupptäckt är begränsad till den hyresgästen.
När skriptet återanvänder en befintlig Azure-session ber det dig bekräfta kontot och hyresgästen. Gå igenom dessa detaljer innan du fortsätter. För obevakade körningar anger du -Force för att hoppa över uppmaningar om kontobekräftelse och installation av saknade moduler. Utan -Force, slutar skriptet om det behöver bekräftelse i en icke-interaktiv session. Denna switch ger inte behörigheter eller ersätter autentisering.
Skriptet försöker igen vid övergående Azure- och autentiseringsfel med successivt ökande fördröjningar. Om den inte kan lösa de valda prenumerationerna efter att ha försökt igen, stannar den och rapporterar felet istället för att behandla omfattningen som tom.
Som standard finns den genererade arbetsmappen kvar efter att skriptet är klart. För att ta bort den när körningen är klar, anger du -cleanDownloads $true.
Skriptet skriver ut en sammanfattning efter resurstyp och listar orsaken till varje misslyckad eller hoppad resurs. När skriptet hittar matchande resurser skapar det också en ModifiedResources_<timestamp>.csv rapport med UpdateResult och UpdateError kolumner.
Följande parametrar styr skriptets omfattning och exekvering:
| Parameter | Godkänt värde eller standardvärde | Purpose |
|---|---|---|
-Target |
Arc, Azure, eller Both (standard) |
Väljer SQL Server som aktiveras av Azure Arc-resurser, Azure SQL-resurser inklusive SQL Server på Azure-VM:er, eller båda grupperna. |
-RunMode |
Single (standard) eller Scheduled |
Kör övergången en gång eller konfigurerar dagliga Azure Automation-runbooks. |
-TargetLicenseType |
PAYG |
Väljer pay-as-you-go som mållicensmodell för procedurerna i denna artikel. |
-targetSubscription |
Prenumerations-ID; alla prenumerationer i klienten som är tillgängliga som standard | Begränsar övergången till en prenumeration. |
-targetResourceGroup |
Resursgruppsnamn; alla resursgrupper som standard | Begränsar övergången till en resursgrupp. |
-TenantId |
Tenant ID; nuvarande Az PowerShell-kontext som standard | Väljer Microsoft Entra-tenanten. |
-ReportOnly |
Switch; inaktiverad som standard | Rapporterar kvalificerande resurser utan att ändra dem. |
-Force |
Switch; inaktiverad som standard | Hoppar över installation av moduler som saknas och bekräftelsefrågor för konto/tenant. Krävs för obevakade körningar som behöver dessa bekräftelser. |
-WaitForCompletion |
Switch; inaktiverad som standard | Väntar på inskickade ändringar för att nå ett terminalt tillstånd när det stöds. |
-UsePcoreLicense |
No (standard) eller Yes |
Kontrollerar licensiering av fysiska kärnor för SQL Server som aktiveras av Azure Arc. |
-AutomationAccResourceGroupName |
Obligatoriskt med -RunMode Scheduled |
Väljer resursgruppen för Automation-kontot. |
-AutomationAccountName |
aaccAzureArcSQLLicenseType som standard |
Sätter namnet på Automation-kontot. |
-Location |
Obligatoriskt med -RunMode Scheduled |
Väljer Azure-regionen för automationskontot och resursgruppen. |
-cleanDownloads |
$false (standard) eller $true |
Tar bort den genererade arbetsmappen efter att skriptet är klart. |
Standardexekveringsbeteendet beror på resurstypen:
| Resource | Standardbeteende | Med -WaitForCompletion |
|---|---|---|
| Azure SQL Database, elastiska pooler, Azure SQL Managed Instance och instanspooler | Startar ett asynkront PowerShell-jobb med -AsJob och rapporterar RequestSubmitted |
Väntan och rapporter Updated |
| SQL Server aktiverat av Azure Arc | Skickar in en asynkron tilläggsuppdatering och rapporterar RequestSubmitted |
Avfrågar tillägget och rapporterar Succeeded, Failed eller TimedOut |
| SQL Server på Azure-virtuella maskiner | Väntan och rapporter Updated |
Samma beteende |
Förhandsgranska övergången till betala efter användning
Skriptet manage-payg-transition.ps1 ger en ingångspunkt för Azure SQL och SQL Server som aktiveras av Azure Arc-resurser.
Med PowerShell-skriptet kan du ange en enda prenumeration att scanna. Om du inte specificerar en prenumeration skannar skriptet alla prenumerationer som din roll kan komma åt.
Ladda ned skriptet.
$scriptUri = "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/manage/manage-payg-transition/manage-payg-transition.ps1" Invoke-WebRequest -Uri $scriptUri -OutFile ".\manage-payg-transition.ps1"Logga in i klientorganisationen som innehåller resurserna.
Connect-AzAccount -TenantId "<tenant-id>"Utför en skrivskyddad förhandsvisning för en enskild prenumeration. Specificera
-TenantIdäven när du redan har en Azure-kontext så att skriptet inte använder fel tenant:.\manage-payg-transition.ps1 ` -Target Both ` -TenantId "<tenant-id>" ` -targetSubscription "<subscription-id>" ` -TargetLicenseType PAYG ` -ReportOnlyOm manuset hittar matchande resurser, öppna den senaste
ModifiedResources_<timestamp>.csvrapporten. Bekräfta att varje listad resurs ska ändras:$report = Get-ChildItem -Filter "ModifiedResources_*.csv" | Sort-Object LastWriteTime -Descending | Select-Object -First 1 Import-Csv $report.FullName | Format-Table
Resurser som redan använder pay-as-you-go-licens finns inte med i rapporten. Om skriptet inte hittar några matchande resurser skapar det ingen CSV-fil. För att minska omfattningen, specificera -targetResourceGroup. Ställ -Target in på Azure för att bearbeta Azure SQL-resurser, inklusive SQL Server på Azure VM:er. Ange värdet till Arc så att endast SQL Server-resurser som är Azure Arc-aktiverade bearbetas.
Kör en engångs pay-as-you-go-övergång med PowerShell
Kör pay-as-you-go-övergången först efter att du bekräftat målomfattningen och godkänt varje resurs i förhandsgranskningsrapporten.
Ta bort
-ReportOnly, och lägg till-WaitForCompletionför att vänta på bekräftade utfall där resursleverantören stödjer dem:.\manage-payg-transition.ps1 ` -Target Both ` -TenantId "<tenant-id>" ` -targetSubscription "<subscription-id>" ` -TargetLicenseType PAYG ` -WaitForCompletionGå igenom den genererade CSV-rapporten. Undersök varje
FailedresultatTimedOutoch bekräfta resursstatusen för varje inskickad ändring.
Värdet PAYG anger betala per användning som mållicensmodell.
Om du utelämnar -WaitForCompletion får asynkrona ändringar UpdateResult värdet RequestSubmitted. Detta resultat bekräftar inte att ändringen av licenstypen har slutförts. SQL Server på Azure VM-uppdateringar väntar alltid och rapporterar Updated efter en lyckad uppdatering.
Schemalägg återkommande pay-as-you-go-övergångar med PowerShell
Schemalagt läge skapar eller uppdaterar en Azure Automation-runbook för varje valt mål, länkar varje runbook till ett dagligt schema och startar ett engångsjobb omedelbart. Tillhandahåll en resursgrupp för automationskonto och Azure-region. Standardnamnet på Automation-kontot är aaccAzureArcSQLLicenseType. Schemalagt läge använder Automation-kontots hanterade identitet.
Schemalägg övergången för Azure SQL och SQL Server som aktiveras av Azure Arc-resurser i en och samma prenumeration:
.\manage-payg-transition.ps1 ` -Target Both ` -RunMode Scheduled ` -TenantId "<tenant-id>" ` -targetSubscription "<subscription-id>" ` -TargetLicenseType PAYG ` -AutomationAccResourceGroupName "<automation-resource-group>" ` -AutomationAccountName "<automation-account>" ` -Location "<azure-region>"I Automation-kontot kontrollerar du att runbooksen är publicerade, länkade till ett dagligt schema och kan starta ett jobb med de valda parametrarna.
Om Azure-målet inkluderar SQL Managed Instance-pooler tilldelar du Automation-kontots hanterade identitet rollen Deltagare eller en anpassad roll med Microsoft.Sql/instancePools/read och Microsoft.Sql/instancePools/write. Den schemalagda installationen tilldelar inte en inbyggd roll som ger dessa behörigheter.
Verkställ pay-as-you-go-licensiering med Azure Policy
Använd ett resursspecifikt exempel på Azure Policy för att kontinuerligt upprätthålla pay-as-you-go-licensiering och åtgärda konfigurationsdrift. Varje exempel innehåller en policydefinition, ett distributionsskript och ett åtgärdsskript.
Varning
En policytilldelning kan ändra varje matchande resurs i dess omfattning. Börja med en snävt begränsad testprenumeration och välj endast de nuvarande licenstyper som du tänker ersätta.
Följande tabell länkar policypaketet och distributionsskriptet för varje resurs:
| Resource | Policypaket | Distributionsskript |
|---|---|---|
| SQL Server aktiverat av Azure Arc | Efterlevnad för Arc-aktiverad SQL Server-licenstyp | deployment.ps1 |
| SQL Server på Azure-virtuella maskiner | SQL Server on Azure VMs licenstypsöverensstämmelse | deployment.ps1 |
| Hanterad instans i Azure SQL | SQL Managed Instance-licenstypsöverensstämmelse | deployment.ps1 |
| Azure SQL Database | Efterlevnad för licenstyp för Azure SQL Database | deployment.ps1 |
Använd värdena och rollerna för den valda resurstypen:
| Resource | Målvärde med betalning efter användning | Källvärden som du kan skriva över | Primär obligatorisk roll | Viktig begränsning |
|---|---|---|---|---|
| SQL Server aktiverat av Azure Arc | PAYG |
Paid; Portaldefinitionen stöder också LicenseOnly |
Azure-tillägg för distribution av SQL Server | Tilldelningen använder samma mål för alla matchande värdar och tar inte hänsyn till edition. Hantera blandade dödsbon separat. |
| SQL Server på Azure-virtuella maskiner | PAYG |
AHUB, DR |
Bidragsgivare till virtuell maskin | Målet måste uppfylla licensvillkoren för Azure Hybrid Benefit eller för passiv hög tillgänglighet eller katastrofåterställning (HA/DR). |
| Hanterad instans i Azure SQL | LicenseIncluded |
BasePrice, HybridFailoverRights |
SQL Managed Instance Contributor |
HybridFailoverRights anger licenseType till BasePrice och hybridSecondaryUsage till Passive. |
| Azure SQL Database | LicenseIncluded |
BasePrice |
SQL DB-medarbetare | Policyn exkluderar master och grundläggande databaser. Azure SQL Database stöder endast licenstypändringar för provisionerade vCore-databaser, så exkludera eller undanta andra databastransaktionsenheter (DTU)-baserade och serverlösa databaser från tilldelningen. |
Varje uppgift kräver också läsare och resurspolicybidragsgivare. Distributionsskripten ger de nödvändiga rollerna när den inloggade identiteten har behörighet att skapa rolltilldelningar. Använd -GrantMissingPermissions med saneringsskriptet för att kontrollera och lägga till saknade roller.
Distributionsskripten för SQL VM, SQL Managed Instance och SQL Database begär bekräftelse när målvärdet kräver licensattestering.
-SkipLicenseConfirmation Använd endast i en automatiserad pipeline där operatören redan har bekräftat behörighet och tar ansvar för efterlevnad.
För Arc-aktiverad SQL Server konfigurerar en PAYG policy även återkommande faktureringssamtycke. Samtycket kvarstår på förlängningen om en senare överlåtelse ändrar licenstypen bort från PAYG.
Policypaketen använder ett delat distributionsflöde:
Ladda ner paketets
policyochscriptsmapparna genom att följa dess README-instruktioner.Logga in i den tenant som innehåller tilldelningens omfattning:
Connect-AzAccount -TenantId "<tenant-id>"Från mappen för nedladdade paket, distribuera definitionen och tilldelningen. Använd pay-as-you-go-målvärdet för din resurstyp från föregående tabell. Följande exempel tilldelar policyn på prenumerationsnivå:
.\scripts\deployment.ps1 ` -SubscriptionId "<subscription-id>" ` -TargetLicenseType "<pay-as-you-go-value>"Om du utelämnar
-SubscriptionId, använder skriptet management group scope. Granska paketets standardinställningar innan du kör distributionen.Kontrollera att principtilldelningen har en systemtilldelad hanterad identitet och de roller som krävs inom tilldelningens omfång.
Påbörja sanering för befintliga resurser som inte följer reglerna:
.\scripts\start-remediation.ps1 ` -SubscriptionId "<subscription-id>" ` -TargetLicenseType "<pay-as-you-go-value>" ` -GrantMissingPermissionsI Azure Policy, granska uppgiftens efterlevnadsresultat och åtgärdsuppgift. Bekräfta sedan licenstypen på de sanerade resurserna.
Validera övergången till betala efter användning
CSV-rapporten innehåller en UpdateResult och an UpdateError för varje vald resurs. Tolka vanliga resultat enligt följande:
| Result | Meaning | Nästa åtgärd |
|---|---|---|
ReportOnly |
Skriptet identifierade en kvalificerande resurs i skrivskyddat läge och skickade ingen ändring. | Bekräfta att resursen ska använda pay-as-you-go-licens innan du genomför övergången. |
RequestSubmitted |
Azure accepterade en asynkron förfrågan. | Vänta tills resursoperationen är klar och validera sedan resurstillståndet. |
Updated eller Succeeded |
Skriptet noterade ett lyckat resultat i terminalen. | Bekräfta licenstypen på resursen. |
Failed |
Tjänsten avvisade uppdateringen eller returnerade ett misslyckat terminaltillstånd. | Granska UpdateError, rätta till problemet och kör förhandsvisningen igen. |
TimedOut |
Arc-tillägget uppnådde inte ett slutligt tillstånd innan pollinggränsen uppnåddes. | Kontrollera anknytningsstatusen. Uppdateringen kan slutföras efter att skriptet slutar vänta. |
SkippedNotRunning |
SQL Server-VM:n körs inte, så skriptet uppdaterade den inte. | Starta VM:n när det är lämpligt och kör övergången igen. |
För att bekräfta den aktuella licenstypen och provisioneringstillståndet för SQL Server som aktiveras av Azure Arc, kör följande Azure Resource Graph-fråga:
Search-AzGraph -Query @"
resources
| where type =~ 'microsoft.hybridcompute/machines/extensions'
| where properties.type in~ ('WindowsAgent.SqlServer', 'LinuxAgent.SqlServer')
| project name = split(id, '/')[8],
licenseType = properties.settings.LicenseType,
state = properties.provisioningState
"@
När inskickade operationer är klara, kör samma scope igen med -ReportOnly:
.\manage-payg-transition.ps1 `
-Target Both `
-TenantId "<tenant-id>" `
-targetSubscription "<subscription-id>" `
-TargetLicenseType PAYG `
-ReportOnly
Skriptet exkluderar resurser som redan använder pay-as-you-go-licens. Ett helt konvergerat omfång rapporterar att det inte finns några resurser att uppdatera. Undersök alla resurser som fortfarande finns innan du anser övergången slutförd.
Granska begränsningar och faktureringsskydd
- SQL Server på Azure-VM:ar måste köras. Skriptet hoppar över stoppade eller avallokerade VM:ar och startar dem inte.
- Skriptet utesluter SQL Server på Azure-VM:ar som använder
DRlicenstypen, så det skriver inte över licensinställningen för en passiv HA/DR-replik. - Skriptet visar inte alternativet för återkommande faktureringssamtycke i sin inbyggda Arc-hanterare. För CSP-hanterade Arc-resurser som kräver samtycke till återkommande fakturering använder du principen licenstypsefterlevnad för Arc-aktiverad SQL Server, som konfigurerar samtycket när den tillämpas
PAYG. - En asynkron körning som standard prioriterar skalbarhet framför direkt bekräftelse. Använd
-WaitForCompletionnär du behöver skriptet för att observera terminalresultaten innan det avslutas. - SQL Server på Azure VM-uppdateringar väntar alltid på att operationen ska bli klar, oavsett om du anger
-WaitForCompletion.
Felsök automatiseringsfel
Använd den genererade rapporten och Azure-operationens status för att identifiera resurser som inte uppdaterades.
- Om rapporten är tom, bekräfta hyresgästen, prenumerationen och resursgruppen. En tom rapport kan förväntas när alla resurser som omfattas redan använder pay-as-you-go-licenser.
- Om en Arc-aktiverad resurs utelämnas återupprättar du anslutningen till Azure Connected Machine-agenten, bekräftar att provisioneringstillståndet för Azure-tillägget för SQL Server är
Succeeded, och kör sedan förhandsvisningen igen. - Om
UpdateResultärRequestSubmitted, behandla inte förfrågan som slutförd. Kontrollera resursstatusen eller kör förhandsversionen igen efter att Azure-operationen är klar. - Om en Azure SQL- eller SQL Server-operation på Azure VM misslyckas, granska det rapporterade felet, bekräfta att de nödvändiga Az PowerShell-modulerna finns tillgängliga och kontrollera att ditt konto är auktoriserat för målprenumerationen.
- Om en oövervakad körning stannar vid en installation eller en kontobekräftelse, verifiera klientorganisationen och kontot och kör sedan om med
-Forceefter att du har godkänt dessa åtgärder. - Om schemalagt läge misslyckas, bekräfta att Automation-kontots hanterade identitet har de roller som anges i källprovet.
- Om policykorrigeringen returnerar
PolicyAuthorizationFailed, bekräfta att tilldelningens identitet har den produktspecifika rollen Reader och Resource Policy Contributor i tilldelningens omfång. Kör om distributionsskriptet, eller kör remediation-skriptet med-GrantMissingPermissionsefter att den inloggade identiteten kan skapa rolltilldelningar.
För hela källan, se manage-payg-transition.ps1.
Behörigheter efter resurstyp
Behörigheter för PowerShell-skriptet
Rollen Contributor omfattar alla de behörigheter som krävs av skriptet i den här artikeln och är det enklaste alternativet. För åtkomst med minsta privilegium, tilldela de roller som krävs för resurstyperna i omfattningen:
| Resurstyp | Roll eller nödvändiga behörigheter |
|---|---|
| SQL Server på Azure-virtuella maskiner | Bidragsgivare till virtuell maskin |
| Hanterad instans i Azure SQL | SQL Managed Instance Contributor |
| Azure SQL Database | SQL DB-medarbetare |
| Azure SQL Database elastiska pooler | SQL Server-deltagare |
| Azure SQL Managed Instance-pooler |
Bidragsgivare, eller en anpassad roll med Microsoft.Sql/instancePools/read och Microsoft.Sql/instancePools/write |
| SQL Server aktiverat av Azure Arc | Resursadministratör för azure-ansluten dator |
| Läsning och uppräkning av prenumerationer och resurser | Läsare, om inte en annan tilldelad roll ger de nödvändiga läsbehörigheterna |
Behörigheter för Azure Policy
Identiteten som körs deployment.ps1 behöver behörighet för att skapa policydefinitioner vid den valda ledningsgruppen och för att skapa policytilldelningar, åtgärdsuppgifter, hanterade identiteter och rolltilldelningar vid tilldelningsområdet. Om den inte kan skapa rolltilldelningar, tilldela de nödvändiga rollerna till policytilldelningens hanterade identitet innan du påbörjar åtgärden, och kör deployment.ps1 med -SkipManagedIdentityRoleAssignment.
Som standard skapar deployment.ps1 en systemtilldelad hanterad identitet för policytilldelningen och tilldelar tre roller på tilldelningsomfånget. Den produktspecifika rollen beror på det valda policyprovet:
| Exempel på policypolitik | Produktspecifik roll |
|---|---|
| SQL Server aktiverat av Azure Arc | Azure-tillägg för distribution av SQL Server |
| SQL Server på Azure-virtuella maskiner | Bidragsgivare till virtuell maskin |
| Hanterad instans i Azure SQL | SQL Managed Instance Contributor |
| Azure SQL Database | SQL DB-medarbetare |
Varje policytilldelningsidentitet kräver också läsare och resurspolicybidragsgivare. Distributionsskriptet hoppar över automatisk rolltilldelning endast när du anger -SkipManagedIdentityRoleAssignment.
Innan du påbörjar reparationen, start-remediation.ps1 kontrollera policytilldelningsidentiteten för alla tre nödvändiga roller. Om en roll saknas stannar manuset av. Tilldela rollerna manuellt, eller kör åtgärdsskriptet igen med -GrantMissingPermissions från en identitet som kan skapa rolltilldelningar på tilldelningsomfånget.