Sdílet prostřednictvím


Aktualizace poskytovatele prostředků SQL

Důležitý

Počínaje verzí 2108 Azure Stack Hub jsou poskytovatelé prostředků SQL a MySQL nabízeni předplatitelům, kteří mají udělený přístup. Pokud chcete tuto funkci začít používat nebo pokud potřebujete upgradovat z předchozí verze, otevřete případ podpory a naši technici podpory vás provedou procesem nasazení nebo upgradu.

Důležitý

Před aktualizací poskytovatele prostředků si projděte poznámky k verzi a seznamte se s novými funkcemi, opravami a všemi známými problémy, které by mohly ovlivnit vaše nasazení. Poznámky k verzi také určují minimální verzi služby Azure Stack Hub vyžadovanou pro poskytovatele prostředků.

Důležitý

Aktualizace poskytovatele prostředků neaktualizuje hostující SQL Server.

Po aktualizaci služby Azure Stack Hub na nový build může být vydán nový poskytovatel prostředků SQL. I když stávající poskytovatel prostředků stále funguje, doporučujeme co nejdříve aktualizovat na nejnovější build.

Podporovaná verze služby Azure Stack Hub Verze SQL RP Windows Server, na kterém běží služba RP
2206, 2301, 2306, 2311 SQL RP verze 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2206 SQL RP verze 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0

Aktualizace poskytovatele prostředků SQL Serveru V2

Pokud jste již nasadili poskytovatele prostředků SQL V2 a chcete vyhledat aktualizace, podívejte se na Jak použít aktualizace u poskytovatele prostředků.

Pokud chcete aktualizovat z verze SQL RP V1 na SQL RP V2, ujistěte se, že jste nejprve aktualizovali na verzi SQL RP V1.1.93.x a pak proveďte upgrade hlavní verze na verzi SQL RP V1 na SQL RP V2.

Aktualizace z SQL RP V1.1.93.x na SQL RP V2.0.6.0

Požadavky

  1. Ujistěte se, že jste aktualizovali RP SQL V1 na nejnovější verzi 1.1.93.x. V části Výchozí poskytovatel předplatného vyhledejte skupinu prostředků RP (formát pojmenování: systém.<region>.sqladapter). Potvrďte značku verze a název virtuálního počítače RP SQL ve skupině prostředků. Pokud stále používáte starou verzi a potřebujete aktualizovat na verzi 1.1.93.x, otevřete případ podpory s žádostí o pomoc.

  2. otevřete případ podpory, abyste získali balíček MajorVersionUpgrade, a přidejte své předplatné do seznamu povolení pro ASH Marketplace pro budoucí verzi V2.

  3. Stáhněte si Microsoft AzureStack Add-On RP Windows Server 1.2009.0 na marketplace.

  4. Ujistěte se, že jsou splněné požadavky na integraci datacentra.

Předpoklad Odkaz
Podmíněné předávání DNS je správně nastavené. Integrace datového centra Azure Stack Hub - DNS
Příchozí porty pro poskytovatele prostředků jsou otevřené. Integrace datového centra Azure Stack Hub – Přicházející porty a protokoly
Subjekt certifikátu PKI a síť SAN jsou správně nastavené. povinné požadavky na nasazení Azure Stack Hub pro PKI
požadavky na certifikát PaaS pro nasazení služby Azure Stack Hub
  1. (pro odpojené prostředí) Nainstalujte požadované moduly PowerShellu, podobně jako proces aktualizace použitý k Nasazení poskytovatele prostředků.

Aktivace UpgradeHlavníVerze

Spuštěním následujícího skriptu z konzoly PowerShellu se zvýšenými oprávněními proveďte upgrade hlavní verze.

Poznámka

Ujistěte se, že klientský počítač, na který spouštíte skript, má verzi operačního systému starší než Windows 10 nebo Windows Server 2016 a klientský počítač má architekturu operačního systému X64.

Důležitý

Před spuštěním skriptu nasazení nebo aktualizace důrazně doporučujeme použít Clear-AzureRmContext -Scope CurrentUser a Clear-AzureRmContext -Scope Process vymazat mezipaměť.

# 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

Poznámka

Adresa DNS a odpovídající IP adresa SQL RP V2 se liší. Pokud chcete získat novou veřejnou IP adresu, můžete kontaktovat podporu a požádat o přístup DRP break glass, abyste našli prostředek SQLRPVM1130-PublicIP. Také můžete spustit příkaz "nslookup sqlrp.dbadapter.<'plně kvalifikovaný název domény'>" z klientského počítače, který již provedl test koncového bodu, abyste zjistili veřejnou IP adresu.

Ověřte, zda byl upgrade úspěšný

  1. Skript MajorVersionUpgrade se spustil bez chyb.
  2. Zkontrolujte poskytovatele prostředků na tržišti a ujistěte se, že SQL RP 2.0 bylo úspěšně nainstalováno.
  3. Starý systém . Umístění<>.sqladapter, skupina prostředků a systém . Umístění<>.dbadapter.dns, skupina prostředků ve výchozím předplatném poskytovatele nebudou skriptem automaticky odstraněny.
  • Doporučujeme uchovávat účet úložiště a službu Key Vault ve skupině prostředků sqladapter nějakou dobu. Pokud po upgradu jakýkoli uživatel tenanta zpozoruje nekonzistentní databázi nebo přihlašovací metadat, může získat podporu pro obnovení těchto metadat ze skupiny prostředků.
  • Po ověření, že zóna DNS ve skupině prostředků dbadapter.dns je prázdná bez záznamu DNS, je bezpečné odstranit skupinu prostředků dbadapter.dns.
  • [DŮLEŽITÉ] K odinstalaci verze V1 nepoužívejte skript pro nasazení V1. Po dokončení upgradu a potvrzení úspěšného upgradu můžete skupinu prostředků z předplatného poskytovatele ručně odstranit.

Aktualizace ze starší verze SQL RP V1 na VERZI SQL RP V1.1.93.x

Aktualizace poskytovatele prostředků SQL V1 je kumulativní. Přímo můžete aktualizovat na verzi 1.1.93.x.

Pokud chcete aktualizovat poskytovatele prostředků na verzi 1.1.93.x, použijte skript UpdateSQLProvider.ps1. Použijte svůj účet služby s právy místního správce, který je vlastníkem předplatného. Tento aktualizační skript je součástí souboru ke stažení poskytovatele zdrojů.

Proces aktualizace se podobá procesu použitému k Nasazení poskytovatele prostředků. Aktualizační skript používá stejné argumenty jako DeploySqlProvider.ps1 skript a budete muset zadat informace o certifikátu.

Aktualizace procesů skriptů

Skript UpdateSQLProvider.ps1 vytvoří nový virtuální počítač s nejnovější imagí operačního systému, nasadí nejnovější kód zprostředkovatele prostředků a migruje nastavení ze starého poskytovatele prostředků na nového poskytovatele prostředků.

Poznámka

Doporučujeme stáhnout image Microsoft AzureStack Add-on RP Windows Server 1.2009.0 ze platformy Marketplace Management. Pokud potřebujete nainstalovat aktualizaci, můžete do místní cesty závislostí umístit jeden balíček MSU. Skript selže, pokud je v tomto umístění více než jeden soubor MSU.

Jakmile skript UpdateSQLProvider.ps1 vytvoří nový virtuální počítač, skript migruje z původního virtuálního počítače poskytovatele prostředků následující nastavení:

  • informace o databázi
  • informace o hostitelském serveru
  • požadovaný záznam DNS

Důležitý

Před spuštěním skriptu nasazení nebo aktualizace důrazně doporučujeme použít Clear-AzureRmContext -Scope CurrentUser a Clear-AzureRmContext -Scope Process vymazat mezipaměť.

Aktualizace parametrů skriptu

Při spuštění skriptu UpdateSQLProvider.ps1 PowerShellu můžete z příkazového řádku zadat následující parametry. Pokud ne, nebo pokud se ověření nějakého parametru nezdaří, zobrazí se výzva k zadání požadovaných parametrů.

Název parametru Popis Komentář nebo výchozí hodnota
CloudAdminCredential Přihlašovací údaje pro správce cloudu, které jsou nezbytné pro přístup k privilegovanému koncovému bodu. povinné
AzCredential Přihlašovací údaje pro účet správce služby Azure Stack Hub. Použijte stejné přihlašovací údaje, které jste použili k nasazení služby Azure Stack Hub. Skript selže, pokud účet, který používáte s AzCredential, vyžaduje vícefaktorové ověřování (MFA). povinné
VMLocalCredential Přihlašovací údaje pro účet místního správce virtuálního počítače poskytovatele prostředků SQL. povinné
PrivilegedEndpoint IP adresa nebo název DNS privilegovaného koncového bodu. povinné
azureEnvironment Prostředí Azure účtu správce služby, který jste použili k nasazení služby Azure Stack Hub. Vyžaduje se pouze pro nasazení Microsoft Entra. Podporované názvy prostředí jsou AzureCloud, AzureUSGovernment, nebo pokud používáte čínský Microsoft Entra ID, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Do tohoto adresáře musíte také vložit soubor .pfx certifikátu. Volitelné pro jeden uzel, ale povinné pro s více uzly
defaultSSLCertificatePassword Heslo pro certifikát .pfx. povinné
MaxRetryCount Kolikrát chcete každou operaci zopakovat, pokud dojde k selhání. 2
Doba opakování Interval časového limitu mezi opakovanými pokusy v sekundách. 120
Odinstalovat Odebere poskytovatele prostředků i všechny související prostředky. Ne
DebugMode Zabraňuje automatickému vyčištění při selhání. Ne

Příklad aktualizace skriptu PowerShellu

Pokud aktualizujete verzi poskytovatele prostředků SQL na verzi 1.1.33.0 nebo předchozí verze, musíte v PowerShellu nainstalovat konkrétní verze modulů AzureRm.BootStrapper a Azure Stack Hub.

Pokud aktualizujete poskytovatele prostředků SQL na verzi 1.1.47.0 nebo novější, můžete tento krok přeskočit. Skript nasazení automaticky stáhne a nainstaluje potřebné moduly PowerShellu pro cestu C:\Program Files\SqlMySqlPsh.

Poznámka

Pokud složka C:\Program Files\SqlMySqlPsh již existuje se staženým modulem PowerShellu, doporučujeme tuto složku před spuštěním aktualizačního skriptu vyčistit. Ujistěte se, že se stáhne a použije správná verze modulu PowerShellu.

# 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

Poznámka

V odpojené situaci musíte stáhnout požadované moduly PowerShellu a zaregistrovat úložiště ručně jako předpoklad. Další informace najdete v Nasazení poskytovatele prostředků SQL

Následuje příklad použití skriptu UpdateSQLProvider.ps1, který můžete spustit z konzoly PowerShellu se zvýšenými oprávněními. Nezapomeňte podle potřeby změnit proměnné a hesla:

# 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

Po dokončení aktualizačního skriptu poskytovatele prostředků zavřete nynější relaci PowerShellu.

Další kroky

Udržovat poskytovatele prostředků SQL