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 eerdere versie wilt uitvoeren, opent u een ondersteuningscase. Onze ondersteuningstechnici begeleiden u door het implementatie- of upgradeproces.

Belangrijk

Lees voordat u de resourceprovider bij te werken 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 releasenotities wordt ook de minimale Azure Stack Hub versie die vereist is voor de resourceprovider.

Belangrijk

Als u de resourceprovider bij te werken, wordt de hostingprovider niet SQL Server.

Er kan SQL nieuwe 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 Azure Stack Hub versie SQL RP-versie Windows server waar de RP-service wordt uitgevoerd
2108 SQL RP versie 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 SQL RP versie 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
2005, 2002, 1910 SQL RP versie 1.1.47.0 Windows Server 2016 Datacenter - Server Core
1908 SQL RP versie 1.1.33.0 Windows Server 2016 Datacenter - Server Core

De SQL Server resourceprovider V2 bijwerken

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

Als u wilt bijwerken van SQL RP V1 naar SQL RP V2, zorg er dan voor dat u eerst hebt bijgewerkt naar SQL RP V1.1.93.x en pas vervolgens het upgradeproces van de belangrijkste versie toe om te upgraden van SQl RP V1 naar SQL RP V2.

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

Vereisten

  1. Zorg ervoor dat u de SQL RP V1 hebt bijgewerkt naar de meest recente versie 1.1.93.x. Zoek onder Standaardproviderabonnement de RP-resourcegroep (naamgevingsindeling: system.<region>. sqladapter). Bevestig de versietag en SQL naam van de RP-VM in de resourcegroep.

  2. open een ondersteuningscase om het MajorVersionUpgrade-pakket op te halen en voeg uw abonnement toe aan de MARKETPLACE-allowlist voor DE MARKETPLACE voor de toekomstige versie van V2.

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

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

Vereiste Referentie
Voorwaardelijk doorsturen via DNS is correct ingesteld. Azure Stack Hub datacenterintegratie - DNS
Binnenkomende poorten voor resourceproviders zijn geopend. Azure Stack Hub datacentrumintegratie - Poorten en protocollen inkomende
Het onderwerp en de SAN van het PKI-certificaat zijn correct ingesteld. Azure Stack Hub verplichte PKI-vereisten voor implementatie
Azure Stack Hub paaS-certificaat voor implementatie
  1. (voor een 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 grote versie-upgrade uit te voeren.

Notitie

Zorg ervoor dat de clientmachine waar u het script op hebt uitgevoerd, de versie van het besturingssysteem heeft die niet ouder is dan Windows 10 of Windows Server 2016 en dat de clientmachine een X64-besturingssysteemarchitectuur heeft.

# 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 verschillen. Als u het nieuwe openbare IP-adres wilt, kunt u contact opnemen met de ondersteuning om een DRP-break glass te vereisen en de resource SQLRPVM1130-PublicIP vinden. U kunt ook 'nslookup sqlrp.dbadapter uitvoeren.< fqdn" van> een clientmachine die de eindpunttest al heeft doorstaan om het openbare IP-adres te vinden.

Valideren of de upgrade is geslaagd

  1. Het MajorVersionUpgrade-script wordt zonder fouten uitgevoerd.
  2. Controleer de resourceprovider in marketplace en controleer of SQL RP 2.0 is geïnstalleerd.
  3. Het oude systeem. location.sqladapter> resource group and > in het standaardproviderabonnement wordt niet automatisch verwijderd door het script.
  • We raden u aan het Storage account en de Key Vault enige tijd in de resourcegroep sqladapter te houden. Als na de upgrade elke tenantgebruiker 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 u hebt bevestigd dat de upgrade is geslaagd, kunt u de resourcegroep handmatig verwijderen uit het providerabonnement.

Eerdere versie SQL RP V1 bijgewerkt naar SQL RP V1.1.93.x

SQL V1-update van de resourceprovider 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 hetUpdateSQLProvider.ps1 script. 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 verstrekken.

Scriptprocessen bijwerken

Het UpdateSQLProvider.ps1-script maakt een nieuwe virtuele machine (VM) met de meest recente besturingssysteemafbeelding, implementeert de meest recente code van de resourceprovider en migreert de instellingen van de oude resourceprovider naar de nieuwe resourceprovider.

Notitie

U wordt aangeraden 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 éé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 een nieuwe VM heeft gemaakt, migreert het script de volgende instellingen van de oude resourceprovider-VM:

  • databasegegevens
  • servergegevens hosten
  • 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 gaat uitvoeren.

Scriptparameters bijwerken

U kunt de volgende parameters opgeven vanaf de opdrachtregel wanneer u het PowerShell-scriptUpdateSQLProvider.ps1uitvoeren. Als u dit niet doet of als 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 voor het account dat u gebruikt met AzCredential meervoudige verificatie (MFA) is vereist. Vereist
VMLocalCredential De referenties voor het lokale beheerdersaccount van de SQL resourceprovider-VM. 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 Azure AD-implementaties. Ondersteunde omgevingsnamen zijn AzureCloud, AzureUSGovernment of als u een China Azure AD, AzureChinaCloud gebruikt. AzureCloud
DependencyFilesLocalPath U moet ook het PFX-bestand van uw certificaat in deze map opslaan. Optioneel voor één knooppunt, maar verplicht voor meerdere knooppunt
DefaultSSLCertificatePassword Het wachtwoord voor het PFX-certificaat. Vereist
MaxRetryCount Het aantal keren dat u elke bewerking opnieuw wilt uitvoeren als er een fout is. 2
RetryDuration Het time-outinterval tussen nieuwe proberen, in seconden. 120
Verwijderen Hiermee verwijdert u de resourceprovider en alle bijbehorende resources. No
DebugMode Hiermee voorkomt u automatische opschoning bij een fout. No

PowerShell-voorbeeldscript bijwerken

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

Als u de resourceprovider SQL bijwerken 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 pad C:\Program Files\SqlMySqlPsh.

Notitie

Als de map C:\Program Files\SqlMySqlPsh al bestaat wanneer de PowerShell-module is gedownload, is het raadzaam om deze map op te schonen voordat u het updatescript gaat uitvoeren. 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 Deploy SQL resource provider (Een resourceprovider implementeren)

Hier volgt een voorbeeld van het gebruik van UpdateSQLProvider.ps1 script dat u kunt uitvoeren vanuit een PowerShell-console met verhoogde bevoegdheid. Zorg ervoor dat u de gegevens en wachtwoorden van de variabele zo 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 bijgewerkt, sluit u de huidige PowerShell-sessie.

Volgende stappen

De SQL resourceprovider onderhouden