De SQL-resourceprovider bijwerken

Belangrijk

Vanaf Azure Stack Hub build 2108 worden de SQL- en MySQL-resourceproviders aangeboden aan abonnementen die toegang hebben gekregen. Als u deze functie wilt gaan gebruiken of als u een upgrade wilt uitvoeren van een eerdere versie, opent u een ondersteuningsaanvraag . Onze ondersteuningstechnici begeleiden u door het implementatie- of upgradeproces.

Belangrijk

Voordat u de resourceprovider bijwerkt, raadpleegt u de opmerkingen bij de release voor meer informatie over nieuwe functionaliteit, oplossingen en bekende problemen die van invloed kunnen zijn op uw implementatie. In de releaseopmerkingen wordt ook de minimale Azure Stack Hub-versie opgegeven die is vereist voor de resourceprovider.

Belangrijk

Als u de resourceprovider bijwerkt, wordt de hosting-SQL Server NIET bijgewerkt.

Er kan een nieuwe SQL-resourceprovider worden uitgebracht wanneer Azure Stack Hub wordt bijgewerkt naar een nieuwe build. Hoewel de bestaande resourceprovider blijft werken, raden we u aan zo snel mogelijk bij te werken naar de nieuwste build.

Ondersteunde Versie van Azure Stack Hub SQL RP-versie Windows Server waarop de RP-service wordt uitgevoerd
2206, 2301, 2306, 2311 SQL RP versie 2.0.13.x Microsoft AzureStack RP RP Windows Server 1.2009.0
2108, 2206 SQL RP versie 2.0.6.x Microsoft AzureStack RP RP Windows Server 1.2009.0

SQL Server-resourceprovider V2 bijwerken

Als u SQL RP V2 al hebt geïmplementeerd en wilt controleren op updates, raadpleegt u Updates toepassen op resourceprovider.

Als u wilt bijwerken van SQL RP V1 naar SQL RP V2, controleert u of u eerst hebt bijgewerkt naar SQL RP V1.1.93.x en past u vervolgens het upgradeproces van de primaire versie toe om een upgrade uit te voeren van SQL RP V1 naar SQL RP V2.

Bijwerken van SQL RP V1.1.93.x naar SQL RP V2.0.6.0

Vereisten

  1. Zorg ervoor dat u SQL RP V1 hebt bijgewerkt naar de nieuwste versie 1.1.93.x. Zoek onder Standaardproviderabonnement de RP-resourcegroep (naamgevingsindeling: system.<region>). sqladapter). Controleer de versietag en de SQL RP VM-naam in de resourcegroep. Als u nog steeds een oude versie gebruikt en moet bijwerken naar 1.1.93.x, opent u een ondersteuningsaanvraag voor hulp.

  2. open een ondersteuningsaanvraag om het MajorVersionUpgrade-pakket op te halen en voeg uw abonnement toe aan de ASH Marketplace-acceptatielijst voor de toekomstige versie V2.

  3. Download Microsoft AzureStack Add-On RP Windows Server 1.2009.0 naar Marketplace.

  4. Zorg ervoor dat aan de vereisten voor datacentrumintegratie wordt voldaan.

Vereiste Referentie
Voorwaardelijke DNS-doorsturen is correct ingesteld. Integratie van Azure Stack Hub-datacenter - DNS
Binnenkomende poorten voor resourceproviders zijn geopend. Integratie van Azure Stack Hub-datacenter - Poorten en protocollen binnenkomend
PKI-certificaatonderwerp en SAN zijn correct ingesteld. Vereiste PKI-vereisten voor Azure Stack Hub-implementatie
Vereisten voor PaaS-certificaat voor Azure Stack Hub-implementatie
  1. (voor niet-verbonden omgeving) Installeer de vereiste PowerShell-modules, vergelijkbaar met het updateproces dat wordt gebruikt voor het implementeren van de resourceprovider.

MajorVersionUpgrade activeren

Voer het volgende script uit vanuit een PowerShell-console met verhoogde bevoegdheid om een grote versie-upgrade uit te voeren.

Notitie

Zorg ervoor dat de clientcomputer waarop u het script uitvoert, niet ouder is dan Windows 10 of Windows Server 2016 en of de clientcomputer een X64-besturingssysteemarchitectuur heeft.

Belangrijk

U wordt ten zeerste aangeraden Clear-AzureRmContext -Scope CurrentUser en Clear-AzureRmContext -Scope Process te gebruiken om de cache te wissen voordat u het implementatie- of updatescript uitvoert.

# 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

Notitie

Het DNS-adres en het bijbehorende IP-adres van SQL RP V2 zijn verschillend. Als u het nieuwe openbare IP-adres wilt ophalen, kunt u contact opnemen met de ondersteuning om een DRP-breekglas te vereisen en de SQLRPVM1130-PublicIP resource te vinden. U kunt ook nslookup sqlrp.dbadapter uitvoeren.<fqdn>' van een clientcomputer die de eindpunttest al heeft doorstaan om het openbare IP-adres te achterhalen.

Controleren of de upgrade is geslaagd

  1. Het script MajorVersionUpgrade wordt zonder fouten uitgevoerd.
  2. Controleer de resourceprovider in Marketplace en controleer of SQL RP 2.0 is geïnstalleerd.
  3. Het oude systeem.<resourcegroep en systeem location.sqladapter>.<de resourcegroep location.dbadapter.dns> in het standaardproviderabonnement wordt niet automatisch verwijderd door het script.
  • U wordt aangeraden het opslagaccount en de Key Vault enige tijd in de resourcegroep sqladapter te bewaren. Als na de upgrade een tenantgebruiker inconsistente database- of aanmeldingsmetagegevens ziet, is het mogelijk om ondersteuning te krijgen voor het herstellen van de metagegevens van de resourcegroep.
  • Nadat u hebt gecontroleerd of de DNS-zone in de resourcegroep dbadapter.dns leeg is zonder DNS-record, kunt u de resourcegroep dbadapter.dns veilig verwijderen.
  • [BELANGRIJK] Gebruik het V1-implementatiescript niet om de V1-versie te verwijderen. Nadat de upgrade is voltooid en de bevestiging dat de upgrade is voltooid, kunt u de resourcegroep handmatig verwijderen uit het providerabonnement.

Eerdere versie van SQL RP V1 bijwerken naar SQL RP V1.1.93.x

Update voor SQL-resourceprovider V1 is cumulatief. U kunt rechtstreeks bijwerken naar versie 1.1.93.x.

Als u de resourceprovider wilt bijwerken naar 1.1.93.x, gebruikt u het scriptUpdateSQLProvider.ps1 . Gebruik uw serviceaccount met lokale beheerdersrechten en is eigenaar van het abonnement. Dit updatescript is opgenomen in het downloaden van de resourceprovider.

Het updateproces is vergelijkbaar met het proces dat wordt gebruikt om de resourceprovider te implementeren. Het updatescript gebruikt dezelfde argumenten als het DeploySqlProvider.ps1 script en u moet certificaatgegevens opgeven.

Scriptprocessen bijwerken

Het UpdateSQLProvider.ps1 script maakt een nieuwe virtuele machine (VM) met de meest recente installatiekopieën van het besturingssysteem, implementeert de meest recente resourceprovidercode en migreert de instellingen van de oude resourceprovider naar de nieuwe resourceprovider.

Notitie

U wordt aangeraden de installatiekopieën van de Microsoft AzureStack Add-on RP Windows Server 1.2009.0 te downloaden van Marketplace-beheer. Als u een update moet installeren, kunt u één MSU-pakket in het lokale afhankelijkheidspad plaatsen. Het script mislukt als er meer dan één MSU-bestand op deze locatie is.

Nadat het UpdateSQLProvider.ps1 script een nieuwe VM heeft gemaakt, migreert het script de volgende instellingen van de oude resourceprovider-VM:

  • databasegegevens
  • hostingservergegevens
  • vereiste DNS-record

Belangrijk

U wordt ten zeerste aangeraden Clear-AzureRmContext -Scope CurrentUser en Clear-AzureRmContext -Scope Process te gebruiken om de cache te wissen voordat u het implementatie- of updatescript uitvoert.

Scriptparameters bijwerken

U kunt de volgende parameters opgeven vanaf de opdrachtregel wanneer u het powershell-scriptUpdateSQLProvider.ps1 uitvoert. Als u dat niet doet of als een parametervalidatie mislukt, wordt u gevraagd de vereiste parameters op te geven.

Parameternaam Beschrijving Opmerking of standaardwaarde
CloudAdminCredential De referentie voor de cloudbeheerder, die nodig is voor toegang tot het bevoegde eindpunt. Vereist
AzCredential De referenties voor het servicebeheerdersaccount van Azure Stack Hub. Gebruik dezelfde referenties die u hebt gebruikt voor het implementeren van Azure Stack Hub. Het script mislukt als het account dat u gebruikt met AzCredential meervoudige verificatie (MFA) vereist. Vereist
VMLocalCredential De referenties voor het lokale beheerdersaccount van de VM van de SQL-resourceprovider. Vereist
PrivilegedEndpoint Het IP-adres of de DNS-naam van het bevoegde eindpunt. Vereist
AzureEnvironment De Azure-omgeving van het servicebeheerdersaccount dat u hebt gebruikt voor het implementeren van Azure Stack Hub. Alleen vereist voor Microsoft Entra implementaties. Ondersteunde omgevingsnamen zijn AzureCloud, AzureUSGovernment of, als u een China-Microsoft Entra ID gebruikt, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath U moet ook het PFX-bestand van het certificaat in deze map plaatsen. Optioneel voor één knooppunt, maar verplicht voor meerdere knooppunten
DefaultSSLCertificatePassword Het wachtwoord voor het PFX-certificaat. Vereist
MaxRetryCount Het aantal keren dat u elke bewerking opnieuw wilt proberen als er een fout optreedt. 2
RetryDuration Het time-outinterval tussen nieuwe pogingen, in seconden. 120
Verwijderen Hiermee verwijdert u de resourceprovider en alle bijbehorende resources. No
DebugMode Hiermee voorkomt u dat automatisch opschonen mislukt. No

PowerShell-voorbeeld script bijwerken

Als u de versie van de SQL-resourceprovider bijwerkt naar 1.1.33.0 of eerdere versies, moet u specifieke versies van AzureRm.BootStrapper- en Azure Stack Hub-modules in PowerShell installeren.

Als u de SQL-resourceprovider bijwerkt naar versie 1.1.47.0 of hoger, kunt u deze stap overslaan. Het implementatiescript downloadt en installeert automatisch de benodigde PowerShell-modules voor het pad C:\Program Files\SqlMySqlPsh.

Notitie

Als de map C:\Program Files\SqlMySqlPsh al bestaat en de PowerShell-module is gedownload, wordt u aangeraden deze map op te schonen voordat u het updatescript uitvoert. Dit is om ervoor te zorgen dat de juiste versie van de PowerShell-module wordt gedownload en gebruikt.

# 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

Notitie

In een niet-verbonden scenario moet u de vereiste PowerShell-modules downloaden en de opslagplaats handmatig registreren als vereiste. Meer informatie vindt u in SQL-resourceprovider implementeren

Hier volgt een voorbeeld van het gebruik van het UpdateSQLProvider.ps1 script dat u kunt uitvoeren vanuit een PowerShell-console met verhoogde bevoegdheid. Zorg ervoor dat u de variabelegegevens en wachtwoorden indien nodig wijzigt:

# 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

Wanneer het updatescript van de resourceprovider is voltooid, sluit u de huidige PowerShell-sessie.

Volgende stappen

De SQL-resourceprovider onderhouden