Uppdatera SQL-resursprovidern

Viktigt

Från och med Azure Stack Hub build 2108 erbjuds SQL- och MySQL-resursprovidrar till prenumerationer som har beviljats åtkomst. Om du vill börja använda den här funktionen, eller om du behöver uppgradera från en tidigare version, öppnar du ett supportärende så vägleder våra supporttekniker dig genom distributions- eller uppgraderingsprocessen.

Viktigt

Innan du uppdaterar resursprovidern läser du viktig information om nya funktioner, korrigeringar och kända problem som kan påverka distributionen. Viktig information anger också den lägsta Azure Stack Hub-version som krävs för resursprovidern.

Viktigt

Om du uppdaterar resursprovidern uppdateras INTE värdtjänstens SQL Server.

En ny SQL-resursprovider kan släppas när Azure Stack Hub uppdateras till en ny version. Även om den befintliga resursprovidern fortsätter att fungera rekommenderar vi att du uppdaterar till den senaste versionen så snart som möjligt.

Azure Stack Hub-version som stöds SQL RP-version Windows Server som RP-tjänsten körs på
2206, 2301, 2306, 2311 SQL RP version 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 SQL RP version 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0

Uppdatera SQL Server resursprovider V2

Om du redan har distribuerat SQL RP V2 och vill söka efter uppdateringar kontrollerar du Så här tillämpar du uppdateringar på resursprovidern.

Om du vill uppdatera från SQL RP V1 till SQL RP V2 kontrollerar du att du först har uppdaterat till SQL RP V1.1.93.x och sedan tillämpar du uppgraderingsprocessen för högre version för att uppgradera från SQL RP V1 till SQL RP V2.

Uppdatera från SQL RP V1.1.93.x till SQL RP V2.0.6.0

Förutsättningar

  1. Kontrollera att du har uppdaterat SQL RP V1 till senaste 1.1.93.x. Under Standardleverantörsprenumeration letar du upp resursgruppen RP (namngivningsformat: system.<region>. sqladapter). Bekräfta versionstaggen och SQL RP VM-namnet i resursgruppen. Om du fortfarande har en gammal version och behöver uppdatera till 1.1.93.x öppnar du ett supportärende för hjälp.

  2. öppna ett supportärende för att hämta MajorVersionUpgrade-paketet och lägg till din prenumeration på ASH Marketplace-listan över tillåtna för den framtida V2-versionen.

  3. Ladda ned Microsoft AzureStack Add-On RP Windows Server 1.2009.0 till Marketplace.

  4. Se till att kraven för datacenterintegrering uppfylls.

Förutsättning Referens
Villkorlig DNS-vidarebefordring har angetts korrekt. Datacenterintegrering i Azure Stack Hub – DNS
Inkommande portar för resursprovidrar är öppna. Integrering av Azure Stack Hub-datacenter – inkommande portar och protokoll
PKI-certifikatets ämne och SAN har angetts korrekt. Obligatoriska PKI-krav för Azure Stack Hub-distribution
Krav för PaaS-certifikat för Azure Stack Hub-distribution
  1. (för frånkopplad miljö) Installera de PowerShell-moduler som krävs, ungefär som uppdateringsprocessen som används för att distribuera resursprovidern.

Utlösare för MajorVersionUpgrade

Kör följande skript från en upphöjd PowerShell-konsol för att utföra högre versionsuppgradering.

Anteckning

Kontrollera att klientdatorn som du kör skriptet på är av operativsystemversion som inte är äldre än Windows 10 eller Windows Server 2016 och att klientdatorn har X64-operativsystemarkitektur.

Viktigt

Vi rekommenderar starkt att du använder Clear-AzureRmContext -Scope CurrentUser och Clear-AzureRmContext -Scope Process för att rensa cachen innan du kör distributions- eller uppdateringsskriptet.

# Check Operating System version
$osVersion = [environment]::OSVersion.Version
if ($osVersion.Build -lt 10240)
{
    Write-Host "OS version is too old: $osVersion."
    return
}

$osArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
if ($osArch -ne "64-bit")
{
    Write-Host "OS Architecture is not 64 bit."
    return
}

# Check LongPathsEnabled registry key
$regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem'
$longPathsEnabled = 'LongPathsEnabled'
$property = Get-ItemProperty -Path $regPath -Name $longPathsEnabled -ErrorAction Stop
if ($property.LongPathsEnabled -eq 0)
{
    Write-Host "Detect LongPathsEnabled equals to 0, prepare to set the property."
    Set-ItemProperty -Path $regPath -Name $longPathsEnabled -Value 1 -ErrorAction Stop
    Write-Host "Set the long paths property, please restart the PowerShell."
    return
} 

# Use the NetBIOS name for the Azure Stack Hub domain. 
$domain = "YouDomain" 

# For integrated systems, use the IP address of one of the ERCS VMs
$privilegedEndpoint = "YouDomain-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "AzureCloud"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\extracted-folder\MajorVersionUpgrade-SQLRP'

# The service admin account can be Azure Active Directory or Active Directory Federation Services.
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Add the cloudadmin credential that's required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'xxxxxxxx' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'xxxxxxx' -AsPlainText -Force

# Provide the pfx file path
$PfxFilePath = "C:\tools\sqlcert\SSL.pfx"

# PowerShell modules used by the RP MajorVersionUpgrade are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath 

. $tempDir\MajorVersionUpgradeSQLProvider.ps1 -AzureEnvironment $AzureEnvironment -AzCredential $AdminCreds -CloudAdminCredential $CloudAdminCreds -Privilegedendpoint $privilegedEndpoint -PfxPassword $PfxPass -PfxCert $PfxFilePath

Anteckning

DNS-adressen och motsvarande IP-adress för SQL RP V2 skiljer sig. Om du vill hämta den nya offentliga IP-adressen kan du kontakta supporten för att kräva en DRP-glasbrytning och hitta den SQLRPVM1130-PublicIP resursen. Du kan också köra "nslookup sqlrp.dbadapter.<fqdn>" från en klientdator som redan klarade slutpunktstestet för att ta reda på den offentliga IP-adressen.

Kontrollera att uppgraderingen har slutförts

  1. MajorVersionUpgrade-skriptet körs utan fel.
  2. Kontrollera resursprovidern på Marketplace och kontrollera att SQL RP 2.0 har installerats.
  3. Det gamla systemet.<location.sqladapter> resursgrupp och system.<resursgruppen location.dbadapter.dns> i standardleverantörsprenumerationen tas inte bort automatiskt av skriptet.
  • Vi rekommenderar att du behåller lagringskontot och Key Vault i resursgruppen sqladapter under en tid. Om alla klientanvändare efter uppgraderingen observerar inkonsekventa databas- eller inloggningsmetadata är det möjligt att få stöd för att återställa metadata från resursgruppen.
  • När du har kontrollerat att DNS-zonen i resursgruppen dbadapter.dns är tom utan dns-post är det säkert att ta bort resursgruppen dbadapter.dns.
  • [VIKTIGT] Använd inte V1-distributionsskriptet för att avinstallera V1-versionen. När uppgraderingen har slutförts och bekräftar att uppgraderingen lyckades kan du manuellt ta bort resursgruppen från providerprenumerationen.

Uppdatera från sql RP V1 tidigare version till SQL RP V1.1.93.x

Uppdateringen av SQL-resursprovidern V1 är kumulativ. Du kan uppdatera direkt till versionen 1.1.93.x.

Om du vill uppdatera resursprovidern till 1.1.93.x använder du skriptetUpdateSQLProvider.ps1 . Använd ditt tjänstkonto med lokala administrativa rättigheter och är ägare till prenumerationen. Det här uppdateringsskriptet ingår i nedladdningen av resursprovidern.

Uppdateringsprocessen liknar den process som används för att distribuera resursprovidern. Uppdateringsskriptet använder samma argument som skriptet DeploySqlProvider.ps1 och du måste ange certifikatinformation.

Uppdatera skriptprocesser

Skriptet UpdateSQLProvider.ps1 skapar en ny virtuell dator (VM) med den senaste operativsystemavbildningen, distribuerar den senaste resursproviderkoden och migrerar inställningarna från den gamla resursprovidern till den nya resursprovidern.

Anteckning

Vi rekommenderar att du laddar ned Microsoft AzureStack-tillägget RP Windows Server 1.2009.0 från Marketplace Management. Om du behöver installera en uppdatering kan du placera ett enda MSU-paket i den lokala beroendesökvägen. Skriptet misslyckas om det finns fler än en MSU-fil på den här platsen.

När skriptetUpdateSQLProvider.ps1 skapar en ny virtuell dator migrerar skriptet följande inställningar från den gamla virtuella resursproviderddatorn:

  • databasinformation
  • värdserverinformation
  • dns-post som krävs

Viktigt

Vi rekommenderar starkt att du använder Clear-AzureRmContext -Scope CurrentUser och Clear-AzureRmContext -Scope Process för att rensa cachen innan du kör distributions- eller uppdateringsskriptet.

Uppdatera skriptparametrar

Du kan ange följande parametrar från kommandoraden när du kör UpdateSQLProvider.ps1 PowerShell-skriptet. Om du inte gör det, eller om någon parameterverifiering misslyckas, uppmanas du att ange de obligatoriska parametrarna.

Parameternamn Beskrivning Kommentar eller standardvärde
CloudAdminCredential Autentiseringsuppgifterna för molnadministratören som krävs för åtkomst till den privilegierade slutpunkten. Obligatoriskt
AzCredential Autentiseringsuppgifterna för tjänstadministratörskontot för Azure Stack Hub. Använd samma autentiseringsuppgifter som du använde för att distribuera Azure Stack Hub. Skriptet misslyckas om det konto som du använder med AzCredential kräver multifaktorautentisering (MFA). Obligatoriskt
VMLocalCredential Autentiseringsuppgifterna för det lokala administratörskontot för den virtuella SQL-resursproviderns virtuella dator. Obligatoriskt
PrivilegedEndpoint IP-adressen eller DNS-namnet för den privilegierade slutpunkten. Obligatoriskt
AzureEnvironment Azure-miljön för tjänstadministratörskontot som du använde för att distribuera Azure Stack Hub. Krävs endast för Microsoft Entra distributioner. Miljönamn som stöds är AzureCloud, AzureUSGovernment eller Om du använder en Kina-Microsoft Entra ID, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Du måste också placera .pfx-certifikatfilen i den här katalogen. Valfritt för en enskild nod, men obligatoriskt för flera noder
DefaultSSLCertificatePassword Lösenordet för .pfx-certifikatet. Obligatoriskt
MaxRetryCount Antalet gånger som du vill försöka utföra varje åtgärd igen om det uppstår ett fel. 2
RetryDuration Tidsgränsintervallet mellan återförsök, i sekunder. 120
Avinstallera Tar bort resursprovidern och alla associerade resurser. No
DebugMode Förhindrar automatisk rensning vid fel. No

PowerShell-exempel för uppdateringsskript

Om du uppdaterar SQL-resursproviderversionen till 1.1.33.0 eller tidigare versioner måste du installera specifika versioner av Modulerna AzureRm.BootStrapper och Azure Stack Hub i PowerShell.

Om du uppdaterar SQL-resursprovidern till version 1.1.47.0 eller senare kan du hoppa över det här steget. Distributionsskriptet laddar automatiskt ned och installerar nödvändiga PowerShell-moduler så att du kan söka efter C:\Program Files\SqlMySqlPsh.

Anteckning

Om mappen C:\Program Files\SqlMySqlPsh redan finns med PowerShell-modulen nedladdad rekommenderar vi att du rensar mappen innan du kör uppdateringsskriptet. Det här är för att se till att rätt version av PowerShell-modulen laddas ned och används.

# Run the following scripts when updating to version 1.1.33.0 only.
# Install the AzureRM.Bootstrapper module, set the profile, and install the AzureStack module.
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell.
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0

Anteckning

I ett frånkopplat scenario måste du ladda ned nödvändiga PowerShell-moduler och registrera lagringsplatsen manuellt som en förutsättning. Mer information finns i Distribuera SQL-resursprovider

Följande är ett exempel på hur du använder skriptetUpdateSQLProvider.ps1 som du kan köra från en upphöjd PowerShell-konsol. Se till att ändra variabelinformationen och lösenorden efter behov:

# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but this might have been changed at installation.
$domain = "AzureStack"

# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01"

# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"

# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'

# The service admin account (this can be Azure AD or AD FS).
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set the credentials for the new resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)

# Add the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force

# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath

# Change directory to the folder where you extracted the installation files.
# Then adjust the endpoints.
. $tempDir\UpdateSQLProvider.ps1 -AzCredential $AdminCreds -VMLocalCredential $vmLocalAdminCreds -CloudAdminCredential $cloudAdminCreds -PrivilegedEndpoint $privilegedEndpoint -AzureEnvironment $AzureEnvironment -DefaultSSLCertificatePassword $PfxPass -DependencyFilesLocalPath $tempDir\cert

När resursproviderns uppdateringsskript har slutförts stänger du den aktuella PowerShell-sessionen.

Nästa steg

Underhålla SQL-resursprovidern