Aktualizace poskytovatele prostředků SQL

Důležité

Od buildu 2108 služby Azure Stack Hub jsou poskytovatelé prostředků SQL a MySQL nabízeni pro předplatná, která 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 mít vliv na 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 SQL Server hostování.

Při 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ů dál funguje, doporučujeme co nejdříve provést aktualizaci na nejnovější build.

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

Aktualizace poskytovatele prostředků SQL Server V2

Pokud jste už nasadili SQL RP v2 a chcete vyhledat aktualizace, přečtěte si téma Jak použít aktualizace u poskytovatele prostředků.

Pokud chcete provést aktualizaci z SQL RP v1 na SQL RP v2, ujistěte se, že jste nejprve aktualizovali na SQL RP v1.1.93.x a pak pomocí procesu upgradu hlavní verze upgradujte z 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 SQL RP v1 na nejnovější verzi 1.1.93.x. V části Výchozí předplatné poskytovatele vyhledejte skupinu prostředků poskytovatele (formát názvu: system.<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 provést aktualizaci na verzi 1.1.93.x, otevřete případ podpory s žádostí o pomoc.

  2. otevřete případ podpory pro získání balíčku MajorVersionUpgrade a přidejte své předplatné do seznamu povolených pro budoucí verzi V2 na webu ASH marketplace.

  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.

Požadavek Reference
Podmíněné předávání DNS je správně nastavené. Integrace datacentra Azure Stack Hubu – DNS
Příchozí porty pro poskytovatele prostředků jsou otevřené. Integrace datacentra Azure Stack Hub – Příchozí porty a protokoly
Subjekt certifikátu PKI a síť SAN jsou správně nastavené. Povinné požadavky na nasazení služby Azure Stack Hub pro infrastrukturu veřejných klíčů
Požadavky na certifikát PaaS nasazení služby Azure Stack Hub
  1. (pro odpojené prostředí) Nainstalujte požadované moduly PowerShellu, podobně jako u procesu aktualizace použitého k nasazení poskytovatele prostředků.

Trigger MajorVersionUpgrade

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ý skript spouštíte, nemá starší verzi operačního systému než Windows 10 nebo Windows Server 2016 a že klientský počítač má architekturu operačního systému X64.

Důležité

Důrazně doporučujeme použít Clear-AzureRmContext -Scope CurrentUser a Clear-AzureRmContext -Scope Process k vymazání mezipaměti před spuštěním skriptu nasazení nebo aktualizace.

# 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 serveru SQL RP v2 se liší. Pokud chcete získat novou veřejnou IP adresu, můžete kontaktovat podporu, aby vyžadovala rozbití DRP a našla SQLRPVM1130-PublicIP prostředek. Můžete také spustit příkaz nslookup sqlrp.dbadapter.<fqdn>" z klientského počítače, který už prošel testem koncového bodu, aby zjistil veřejnou IP adresu.

Ověření úspěšného upgradu

  1. Skript MajorVersionUpgrade se spustil bez chyb.
  2. Zkontrolujte poskytovatele prostředků na marketplace a ujistěte se, že se sql RP 2.0 úspěšně nainstaloval.
  3. Starý systém.<skupina prostředků location.sqladapter> a systém.<Skupina prostředků location.dbadapter.dns> ve výchozím předplatném poskytovatele se skriptem automaticky neodstraní.
  • Doporučujeme ponechat účet úložiště a Key Vault po určitou dobu ve skupině prostředků sqladapter. Pokud po upgradu uživatel tenanta zaznamená nekonzistentní metadata databáze nebo přihlášení, je možné získat podporu pro obnovení metadat ze skupiny prostředků.
  • Po ověření, že je zóna DNS ve skupině prostředků dbadapter.dns 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 nasazení V1. Po dokončení upgradu a potvrzení, že upgrade proběhl úspěšně, můžete ručně odstranit skupinu prostředků z předplatného poskytovatele.

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

Aktualizace poskytovatele prostředků SQL verze 1 je kumulativní. Můžete přímo aktualizovat na verzi 1.1.93.x.

Pokud chcete aktualizovat poskytovatele prostředků na 1.1.93.x, použijte skriptUpdateSQLProvider.ps1 . Použijte svůj účet služby s právy místního správce a je vlastníkem předplatného. Tento skript aktualizace je součástí stahování poskytovatele prostředků.

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 skriptovacích procesů

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

Poznámka

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

Jakmile skriptUpdateSQLProvider.ps1 vytvoří nový virtuální počítač, 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é

Důrazně doporučujeme použít Clear-AzureRmContext -Scope CurrentUser a Clear-AzureRmContext -Scope Process k vymazání mezipaměti před spuštěním skriptu nasazení nebo aktualizace.

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ěkterého parametru nezdaří, zobrazí se výzva k zadání požadovaných parametrů.

Název parametru Description Komentář nebo výchozí hodnota
CloudAdminCredential Přihlašovací údaje 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é umístit soubor .pfx certifikátu. Volitelné pro jeden uzel, ale povinné pro více uzlů
DefaultSSLCertificatePassword Heslo pro certifikát .pfx. Povinné
MaxRetryCount Kolikrát chcete každou operaci opakovat, pokud dojde k selhání. 2
Doba trvání opakování Interval časového limitu mezi opakováními v sekundách 120
Odinstalace Odebere poskytovatele prostředků a všechny přidružené prostředky. No
Režim ladění Zabrání automatickému vyčištění při selhání. No

Příklad skriptu aktualizace 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 už se staženým modulem PowerShellu existuje, doporučujeme před spuštěním skriptu aktualizace tuto složku vyčistit. Tím zajistíte, ž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 tématu Nasazení poskytovatele prostředků SQL.

Následuje příklad použití skriptuUpdateSQLProvider.ps1 , který můžete spustit z konzoly PowerShellu se zvýšenými oprávněními. Nezapomeňte podle potřeby změnit informace o 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í skriptu aktualizace poskytovatele prostředků ukončete aktuální relaci PowerShellu.

Další kroky

Údržba poskytovatele prostředků SQL