Uppdatera SQL-resursprovidern

Viktig

SQL- och MySQL-resursprovidrar för Azure Stack Hub är inaktuella och är inte tillgängliga för registrering av nya kunder. Distribuera i stället SQL eller MySQL direkt på virtuella datorer och hantera dem med hjälp av standardverktyg och metoder. Befintliga driftsättningar av resursleverantörer stöds fortfarande, men ingen ny funktionsutveckling eller introduktion planeras.

Viktig

Innan du uppdaterar resursprovidern, läs versionsinformationen för att lära dig om nya funktioner, korrigeringar och eventuella kända problem som kan påverka din distribution. Versionsinformationen anger också den lägsta Azure Stack Hub-version som krävs för resursleverantören.

Viktig

Uppdatering av resursprovidern uppdaterar 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 uppdaterar du 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-tilläggs-RP Windows Server 1.2009.0
2108, 2206 SQL RP version 2.0.6.x Microsoft AzureStack-tilläggs-RP Windows Server 1.2009.0

Uppdatera SQL Server-resursleverantören V2

Information om hur du söker efter uppdateringar av SQL RP V2 finns i Så här tillämpar du uppdateringar på resursprovidern.

Om du vill uppdatera från SQL RP V1 till SQL RP V2 uppdaterar du först till SQL RP V1.1.93.x. Använd sedan uppgraderingsprocessen för huvudversionen 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. Se till att du har uppdaterat SQL RP V1 till den 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 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 Hänvisning
    Villkorlig DNS-vidarebefordran har angetts korrekt. Datacenterintegrering i Azure Stack Hub – DNS-
    Inkommande portar för resursleverantörer är öppna. Datacenterintegrering i Azure Stack Hub – Inkommande portar och protokoll
    PKI-certifikatmottagaren och SAN har angetts korrekt. obligatoriska PKI-krav för Azure Stack Hub-distribution
    Förhandskrav för PaaS-certifikat för Azure Stack Hub-distribution
  5. För en frånkopplad miljö installerar du nödvändiga PowerShell-moduler som liknar uppdateringsprocessen som används för att distribuera resursprovidern.

Utlösa MajorVersionUpgrade

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

Notera

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.

Viktig

Använd 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

Notera

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

Verifiera 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.<location.dbadapter.dns-resursgruppen> i standardprenumerationen för providern tas inte bort automatiskt av skriptet.

Behåll 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.

Viktig

Använd inte V1-distributionsskriptet för att avinstallera V1-versionen. När uppgraderingen har slutförts och bekräftelsen på 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

SQL-resursproviderns V1-uppdatering ä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 skriptet UpdateSQLProvider.ps1 . Använd ditt tjänstkonto med lokala administrativa rättigheter och är en ägare av 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 OS-avbildningen, distribuerar den senaste resursproviderkoden och migrerar inställningarna från den gamla resursprovidern till den nya resursprovidern.

Notera

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 ensamstående MSU-paket i den lokala sökvägen för beroenden. Skriptet misslyckas om det finns fler än en MSU-fil på den här platsen.

När skriptet UpdateSQLProvider.ps1 har skapat en ny virtuell dator migrerar skriptet följande inställningar från den gamla virtuella resursproviderns virtuella dator:

  • databasinformation
  • värdserverinformation
  • nödvändig DNS-post

Viktig

Använd Clear-AzureRmContext -Scope CurrentUser och Clear-AzureRmContext -Scope Process för att rensa cachen innan du kör distributions- eller uppdateringsskriptet.

Uppdatera skriptparametrar

Ange följande parametrar från kommandoraden när du kör UpdateSQLProvider.ps1 PowerShell-skriptet. Om du inte anger parametrar, eller om någon parameterverifiering misslyckas, uppmanar skriptet dig att ange de obligatoriska parametrarna.

Parameternamn Beskrivning Kommentar eller standardvärde
MolnAdminBehörighet Autentiseringsuppgifterna för molnadministratören, som krävs för åtkomst till den privilegierade slutpunkten. Krävs
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). Krävs
VMLocalCredential Autentiseringsuppgifterna för det lokala administratörskontot för den virtuella SQL-resursproviderns virtuella dator. Krävs
PrivilegieradSlutpunkt IP-adressen eller DNS-namnet för den privilegierade slutpunkten. Krävs
Azure-miljö Den 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, AzureUSGovernmenteller om du använder ett Microsoft Entra-ID för Kina AzureChinaCloud-. AzureCloud
DependencyFilesLocalPath Du måste också placera din .pfx-certifikatfil i den här katalogen. Valfritt för enskild nod, men obligatoriskt för flera noder
StandardSSLCertifikatLösenord Lösenordet för .pfx-certifikatet. Krävs
MaxRetryCount Hur många gånger du vill försöka utföra varje åtgärd igen om det uppstår ett fel. 2
ÅterförsöksVaraktighet Tidsgränsintervallet mellan återförsök i sekunder. 120
Avinstallera Tar bort resursprovidern och alla associerade resurser. Nej
Felsökningsläge Förhindrar automatisk rensning vid fel. Nej

PowerShell-exempel för uppdateringsskript

Om du vill uppdatera SQL-resursprovidern till version 1.1.33.0 eller tidigare installerar du specifika versioner av modulerna AzureRm.BootStrapper och Azure Stack Hub i PowerShell-moduler.

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 för att du ska kunna söka efter C:\Program Files\SqlMySqlPsh.

Notera

Om mappen C:\Program Files\SqlMySqlPsh redan finns med PowerShell-modulerna nedladdade rensar du mappen innan du kör uppdateringsskriptet. Det här steget säkerställer att rätt version av PowerShell-modulerna 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

Notera

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.

I följande exempel visas hur du använder skriptet UpdateSQLProvider.ps1 . Kör skriptet 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 är klart stänger du den aktuella PowerShell-sessionen.

Nästa steg

Underhålla SQL-resursprovidern