Delen via


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 van een vorige versie wilt uitvoeren, opent u een ondersteuningsaanvraag en onze ondersteuningstechnici begeleiden u bij de implementatie of het upgradeproces.

Belangrijk

Lees voordat u de resourceprovider bijwerkt de releaseopmerkingen 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 Versie van Azure Stack Hub opgegeven die is vereist voor de resourceprovider.

Belangrijk

Als u de resourceprovider bijwerkt, wordt de host van 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 om 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 Azure Stack-extensie RP Windows Server 1.2009.0
2108, 2206 SQL RP-versie 2.0.6.x Microsoft Azure Stack-extensie RP Windows Server 1.2009.0

SQL Server-resourceprovider V2 bijwerken

Als u SQL RP V2 al hebt geïmplementeerd en op updates wilt controleren, controleert u hoe u updates toepast op de resourceprovider.

Als u wilt bijwerken van SQL RP V1 naar SQL RP V2, moet u ervoor zorgen dat u eerst hebt bijgewerkt naar SQL RP V1.1.93.x en vervolgens het upgradeproces van de primaire versie toepassen 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

Vereiste voorwaarden

  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). Bevestig de versietag en de naam van de SQL RP-VM in de resourcegroep. Als u nog steeds een oude versie gebruikt en u wilt 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 V2-versie.

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

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

Voorwaarde Referentie
Voorwaardelijke DNS-doorsturen is juist ingesteld. Azure Stack Hub-datacenterintegratie - DNS-
Binnenkomende poorten voor resourceproviders zijn geopend. Integratie van Azure Stack Hub-datacenters - inkomende poorten en protocollen
PKI-certificaatonderwerp en SAN zijn correct ingesteld. vereiste PKI-vereisten voor azure Stack Hub-implementatie
paaS-certificaatvereisten voor PaaS-implementatie van Azure Stack Hub
  1. (voor niet-verbonden omgeving) Installeer de vereiste PowerShell-modules, vergelijkbaar met het updateproces dat wordt gebruikt om de resourceprovider te implementeren.

MajorVersionUpgrade activeren

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

Opmerking

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

Belangrijk

We raden u ten zeerste aan om 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

Opmerking

Het DNS-adres en het bijbehorende IP-adres van SQL RP V2 verschillen. Als u het nieuwe openbare IP-adres wilt verkrijgen, kunt u contact opnemen met de ondersteuning om een DRP-break glass aan te vragen en de SQLRPVM1130-PublicIP-bron 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 MajorVersionUpgrade-script wordt zonder fouten uitgevoerd.
  2. Controleer de resourceprovider in Marketplace en zorg ervoor dat SQL RP 2.0 is geïnstalleerd.
  3. Het oude systeem.<location.sqladapter-resourcegroep> en -systeem.<location.dbadapter.dns-resourcegroep> in het standaardproviderabonnement wordt niet automatisch verwijderd door het script.
  • Het is raadzaam om het opslagaccount en de sleutelkluis gedurende enige tijd in de sqladapter-resourcegroep te bewaren. Als een tenantgebruiker na de upgrade inconsistente database- of aanmeldingsmetagegevens ziet, is het mogelijk om ondersteuning te krijgen voor het herstellen van de metagegevens uit de resourcegroep.
  • Nadat u hebt gecontroleerd of de DNS-zone in de resourcegroep dbadapter.dns leeg is zonder DNS-record, is het veilig om de resourcegroep dbadapter.dns te verwijderen.
  • [BELANGRIJK] Gebruik het V1-implementatiescript niet om de V1-versie te verwijderen. Nadat de upgrade is voltooid en bevestiging dat de upgrade is geslaagd, kunt u de resourcegroep handmatig verwijderen uit het providerabonnement.

Bijwerken van SQL RP V1 eerdere versie naar SQL RP V1.1.93.x

De V1-update van de SQL Resource Provider is cumulatief. U kunt rechtstreeks bijwerken naar de versie 1.1.93.x.

Als u de resourceprovider wilt bijwerken naar 1.1.93.x, gebruikt u het UpdateSQLProvider.ps1 script. Gebruik uw serviceaccount met lokale beheerdersrechten en als 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 uitrollen. Het updatescript gebruikt dezelfde argumenten als het DeploySqlProvider.ps1 script en u moet certificaatgegevens opgeven.

Scriptprocessen bijwerken

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

Opmerking

Wij raden u aan de Microsoft AzureStack Add-on RP Windows Server 1.2009.0 afbeelding te downloaden van Marketplace Management. Als u een update moet installeren, kunt u een enkele 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 VIRTUELE machine heeft gemaakt, migreert het script de volgende instellingen van de oude resourceprovider-VM:

  • databasegegevens
  • hostingservergegevens
  • vereiste DNS-record

Belangrijk

We raden u ten zeerste aan om 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 vanaf de opdrachtregel opgeven wanneer u het UpdateSQLProvider.ps1 PowerShell-script uitvoert. Als u dat niet doet of als er een parametervalidatie mislukt, wordt u gevraagd om 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 Azure Stack Hub-servicebeheerdersaccount. Gebruik dezelfde referenties die u hebt gebruikt voor het implementeren van Azure Stack Hub. Het script mislukt als het account dat u met AzCredential gebruikt, meervoudige verificatie (MFA) vereist. Vereist
VMLocalCredential De inloggegevens voor het beheerdersaccount van de SQL-resourceprovider-VM. Vereist
PrivilegedEndpoint- Het IP-adres of de DNS-naam van het bevoegde eindpunt. Vereist
Azure-omgeving 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, AzureUSGovernmentof als u een Microsoft Entra-id van China gebruikt, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath- U moet ook het PFX-certificaatbestand 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 uitvoeren als er een fout optreedt. 2
RetryDuration Het time-outinterval tussen nieuwe pogingen, in seconden. 120
Deïnstalleren Hiermee verwijdert u de resourceprovider en alle bijbehorende resources. Nee.
DebugMode- Voorkomt automatische opschoning bij een mislukking. Nee.

Voorbeeld van een updatescript in PowerShell

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 installeren in PowerShell.

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 u naar het pad C:\Program Files\SqlMySqlPsh.

Opmerking

Als map C:\Program Files\SqlMySqlPsh al bestaat met de PowerShell-module die 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

Opmerking

In een niet-verbonden scenario moet u de vereiste PowerShell-modules downloaden en de opslagplaats handmatig registreren als een 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