Dela via


Uppdatera SQL-resursprovidern

Viktig

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, öppna ett supportärende så vägleder våra supporttekniker dig genom distributions- eller uppgraderingsprocessen.

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

Om du uppdaterar resursprovidern uppdateras INTE värdservern för 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-resursleverantören 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 använder 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 den senaste 1.1.93.x. Under Standardleverantörsprenumeration letar du reda på RP-resursgruppen (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ägga 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
  1. (för frånkopplad miljö) Installera 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

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

Not

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 klarade 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 . Plats<,>.sqladapter resursgrupp och system . Plats<,>.dbadapter.dns resursgrupp i standardleverantörens prenumeration tas inte bort automatiskt av skriptet.
  • Vi rekommenderar att du behåller lagringskontot och nyckelvalvet i resursgruppen sqladapter under en tid. Om alla klientanvändare efter uppgraderingen observerar inkonsekventa databas- eller inloggningsmetadata kan du 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ä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.

Not

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 skapar 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

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. 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
PrivilegedEndpoint IP-adressen eller DNS-namnet för den privilegierade slutpunkten. Krävs
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, 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
DefaultSSLCertificatePassword 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
RetryDuration Tidsgränsintervallet mellan återförsök i sekunder. 120
Avinstallera Tar bort resursprovidern och alla associerade resurser. Nej
DebugMode Förhindrar automatisk rensning vid fel. Nej

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 AzureRm.BootStrapper- och Azure Stack Hub-moduler 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 ner och installerar de nödvändiga PowerShell-modulerna åt dig för att lägga till C:\Program Files\SqlMySqlPsh i systemets sökväg.

Note

Om mappen C:\Program Files\SqlMySqlPsh redan finns med PowerShell-modulen nedladdad rekommenderar vi att du rensar mappen innan du kör uppdateringsskriptet. Detta 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

Not

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

Följande är ett exempel på hur du använder det UpdateSQLProvider.ps1 skript 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 är klart stänger du den aktuella PowerShell-sessionen.

Nästa steg

Underhålla SQL-resursprovidern