Uppdatera SQL-resursprovidern

Viktigt

Från och Azure Stack Hub version 2108 erbjuds SQL- och MySQL-resursproviders 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 supportfall så vägleder våra supporttekniker dig genom distributionen eller uppgraderingen.

Viktigt

Innan du uppdaterar resursprovidern granskar du den viktiga informationen för att lära dig mer om nya funktioner, korrigeringar och kända problem som kan påverka distributionen. I den här versionsanteckningarna anges även Azure Stack Hub lägsta version som krävs för resursprovidern.

Viktigt

Uppdatering av resursprovidern uppdaterar INTE värdproviderns 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.

Version Azure Stack Hub stöds SQL RP-version Windows server som RP-tjänsten körs på
2108 SQL RP version 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 SQL RP version 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
2005, 2002, 1910 SQL RP version 1.1.47.0 Windows Server 2016 Datacenter – Server Core
1908 SQL RP version 1.1.33.0 Windows Server 2016 Datacenter – Server Core

Uppdatera SQL Server resursprovider V2

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

Om du vill uppdatera från SQL RP V1 till SQL RP V2 måste du först ha uppdaterat till SQL RP V1.1.93.x och sedan tillämpa 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. Kontrollera att du har uppdaterat SQL RP V1 till senaste 1.1.93.x. Under Standardproviderprenumeration hittar du resursgruppen RP (namngivningsformat: system.<region>. sqladapter). Bekräfta versionstaggen och SQL RP VM-namnet i resursgruppen.

  2. öppna ett supportfall för att hämta MajorVersionUpgrade-paketet och lägg till din prenumeration på MARKETPLACE-listan över tillåtna versioner för framtida V2.

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

  4. Se till att kraven för datacenterintegrering är uppfyllda.

Förutsättning Referens
Villkorsstyrd DNS-vidarebefordran har angetts korrekt. Azure Stack Hub datacenterintegrering – DNS
Inkommande portar för resursproviders är öppna. Azure Stack Hub datacenterintegrering – inkommande portar och protokoll
PKI-certifikatämnet och SAN är korrekt inställda. Azure Stack Hub obligatoriska PKI-krav för distribution
Azure Stack Hub paaS-certifikat för 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 MajorVersionUpgrade

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

Anteckning

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

# 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 är olika. Om du vill hämta den nya offentliga IP-adressen kan du kontakta supporten för att kräva ett DRP-avbrott och hitta SQLRPVM1130-PublicIP resurs. 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 lyckades

  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 > i standardproviderprenumerationen tas inte bort automatiskt av skriptet.
  • Vi rekommenderar att du behåller Storage-kontot och Key Vault i sqladapter-resursgruppen under en viss tid. Om en klientanvändare observerar inkonsekventa databas- eller inloggningsmetadata efter uppgraderingen är det möjligt att få stöd för att återställa metadata från resursgruppen.
  • När du har verifierat 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 är klar och du 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

SQL V1-uppdateringen är kumulativ. Du kan uppdatera direkt till 1.1.93.x-versionen.

Om du vill uppdatera resursprovidern till 1.1.93.x använder duUpdateSQLProvider.ps1 skriptet. Använd ditt tjänstkonto med lokal administratörsbehörighet 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 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-RP-avbildningen 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 UpdateSQLProvider.ps1skapar en ny virtuell dator migrerar skriptet följande inställningar från den gamla virtuella resursprovidern:

  • databasinformation
  • information om värdserver
  • nödvändig DNS-post

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 parametervalidering misslyckas, uppmanas du att ange de obligatoriska parametrarna.

Parameternamn Beskrivning Kommentar eller standardvärde
CloudAdminCredential Autentiseringsbehörigheten för molnadministratören, som krävs för åtkomst till den privilegierade slutpunkten. Obligatoriskt
AzCredential Autentiseringsuppgifterna för Azure Stack Hub administratörskonto. 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 resursprovidern. 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 Azure AD-distributioner. Miljönamn som stöds är AzureCloud, AzureUSGovernment eller AzureChinaCloud om du använder Azure AD för Kina. AzureCloud
DependencyFilesLocalPath Du måste också placera certifikatets PFX-fil 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

Uppdatera PowerShell-skriptexempel

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 resursprovidern SQL 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ökvägen 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 de PowerShell-moduler som krävs 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 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 har avslutats stänger du den aktuella PowerShell-sessionen.

Nästa steg

Underhålla SQL resursprovidern