Update the SQL resource provider (Atualizar o fornecedor de recursos do SQL)

Importante

A partir da construção do Azure Stack Hub 2108, os fornecedores de recursos SQL e MySQL são oferecidos a subscrições que tenham tido acesso. Se pretender começar a utilizar esta funcionalidade, ou se precisar de atualizar a partir de uma versão anterior, abra um caso de suporte e os nossos engenheiros de suporte irão guiá-lo através do processo de implementação ou atualização.

Importante

Antes de atualizar o fornecedor de recursos, reveja as notas de lançamento para saber sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar a sua implementação. As notas de lançamento também especificam a versão mínima Azure Stack Hub necessária para o fornecedor de recursos.

Importante

A atualização do fornecedor de recursos NÃO atualizará o SQL Server de hospedagem.

Um novo fornecedor de recursos SQL poderá ser lançado quando o Azure Stack Hub for atualizado para uma nova construção. Embora o fornecedor de recursos existente continue a funcionar, recomendamos atualização para a construção mais recente o mais rapidamente possível.

Versão suportada do Azure Stack Hub SQL versão RP Windows Servidor que o serviço RP está em execução
2108 SQL versão RP 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
2108, 2102, 2008, 2005 SQL versão RP 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
2005, 2002, 1910 SQL versão RP 1.1.47.0 Windows Server 2016 Datacenter - Núcleo do Servidor
1908 SQL versão RP 1.1.33.0 Windows Server 2016 Datacenter - Núcleo do Servidor

Atualizar SQL Server fornecedor de recursos V2

Se já implementou SQL RP V2 e pretende verificar se há atualizações, verifique como aplicar atualizações ao fornecedor de recursos.

Se quiser atualizar de SQL RP V1 para SQL RP V2, certifique-se de que foi atualizado pela primeira vez para SQL RP V1.1.93.x, em seguida, aplique o processo de upgrade da versão principal para atualizar de SQl RP V1 para SQL RP V2.

Atualização de SQL RP V1.1.93.x para SQL RP V2.0.6.0

Pré-requisitos

  1. Certifique-se de que atualizou SQL RP V1 para o mais recente 1.1.93.x. Em Subscrição de Fornecedor Predefinido, encontre o grupo de recursos RP (formato de nomeação: sistema.<region>. sqladapter). Confirme a etiqueta de versão e SQL nome RP VM no grupo de recursos.

  2. abrir um caso de suporte para obter o pacote MajorVersionUpgrade, e adicionar a sua subscrição ao mercado ASH allowlist para a futura versão V2.

  3. Baixe o Microsoft AzureStack Add-On RP Windows Server 1.2009.0 para o mercado.

  4. Certifique-se de que os pré-requisitos de integração do datacenter são cumpridos.

Pré-requisito Referência
O reencaminhamento de DNS condicional está definido corretamente. Integração do datacenter Azure Stack Hub - DNS
As portas de entrada para os fornecedores de recursos estão abertas. Integração do datacenter Azure Stack Hub - Portas e protocolos de entrada
O sujeito do certificado PKI e a SAN estão corretamente definidos. Pré-requisitos obrigatórios de PKI para PKI Azure Stack
Pré-requisitos de certificado PaaS de implantação Azure Stack Hub
  1. (para ambientes desligados) Instale os módulos PowerShell necessários, semelhantes ao processo de atualização utilizado para implementar o fornecedor de recursos.

Gatilho MajorVersionUpgrade

Execute o seguinte script a partir de uma consola PowerShell elevada para executar a atualização da versão principal.

Nota

Certifique-se de que a máquina cliente em que executou o script não é mais antiga do que Windows 10 ou Windows Server 2016, e a máquina do cliente tem Arquitetura do Sistema Operativo X64.

# 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

Nota

O endereço DNS e o endereço IP correspondente de SQL RP V2 são diferentes. Para obter o novo IP público, você pode contactar suporte para exigir um vidro de rutura DRP e encontrar o recurso SQLRPVM1130-PublicIP. Você também pode executar "nslookup sqlrp.dbadapter.< fqdn> " de uma máquina cliente que já passou no teste de ponto final para descobrir o IP público.

Validar a atualização é bem sucedida

  1. O guião MajorVersionUpgrade executado sem erros.
  2. Verifique o fornecedor de recursos no mercado e certifique-se de que SQL RP 2.0 foi instalado com sucesso.
  3. O sistema antigo.< localização.sqladapter> grupo de recursos e sistema.< location.dbadapter.dns> grupo de recursos na subscrição do fornecedor predefinido não será automaticamente eliminado pelo script.
  • Recomendamos manter a Conta Armazenamento e o Cofre-Chave no grupo de recursos sqladapter durante algum tempo. Se após a atualização, qualquer utilizador inquilino observar uma base de dados inconsistente ou metadados de login, é possível obter suporte para restaurar os metadados do grupo de recursos.
  • Depois de verificar se a Zona DNS do grupo de recursos dbadapter.dns está vazia sem registo DNS, é seguro apagar o grupo de recursos dbadapter.dns.
  • [IMPORTANTE] Não utilize o script de implementação V1 para desinstalar a versão V1. Após a atualização concluída e a confirmação de que a atualização foi bem sucedida, pode eliminar manualmente o grupo de recursos da subscrição do fornecedor.

Atualização a partir da versão anterior do RP V1 SQL para SQL RP V1.1.93.x

SQL atualização V1 do fornecedor de recursos é cumulativa. Pode atualizar diretamente para a versão 1.1.93.x.

Para atualizar o fornecedor de recursos para 1.1.93.x, utilize o UpdateSQLProvider.ps1 script. Utilize a sua conta de serviço com direitos administrativos locais e é proprietária da subscrição. Este script de atualização está incluído com o download do fornecedor de recursos.

O processo de atualização é semelhante ao processo utilizado para implementar o fornecedor de recursos. O script de atualização usa os mesmos argumentos que o script DeploySqlProvider.ps1, e você precisará fornecer informações de certificado.

Atualizar processos de script

O scriptUpdateSQLProvider.ps1 cria uma nova máquina virtual (VM) com a mais recente imagem de SO, implementa o mais recente código do fornecedor de recursos e migra as definições do antigo fornecedor de recursos para o novo fornecedor de recursos.

Nota

Recomendamos que baixe a imagem do Microsoft AzureStack Add-on RP Windows Server 1.2009.0 da Marketplace Management. Se precisar de instalar uma atualização, pode colocar um único pacote MSU no caminho da dependência local. O script falhará se houver mais de um ficheiro MSU neste local.

Após o UpdateSQLProvider.ps1 script criar um novo VM, o script migra as seguintes definições do antigo provedor de recursos VM:

  • informações sobre bases de dados
  • hospedar informações do servidor
  • registo DNS necessário

Importante

Recomendamos vivamente a utilização de Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar a cache antes de executar o script de implementação ou atualização.

Atualizar parâmetros de script

Pode especificar os seguintes parâmetros da linha de comando quando executar o UpdateSQLProvider.ps1 script PowerShell. Se não o fizer, ou se alguma validação de parâmetros falhar, é solicitado que forneça os parâmetros necessários.

Nome do parâmetro Descrição Comentário ou valor predefinido
CloudAdminCredential A credencial para a administração da nuvem, necessária para aceder ao ponto final privilegiado. Obrigatório
AzCredential As credenciais para a conta de administração do Azure Stack Hub. Use as mesmas credenciais que usou para implantar o Azure Stack Hub. O script falhará se a conta que utilizar com o AzCredential necessitar de autenticação multi-factor (MFA). Obrigatório
VMLocalCredential As credenciais para a conta de administração local do SQL fornecedor de recursos VM. Obrigatório
Ponto privilegiado O endereço IP ou o nome DNS do ponto final privilegiado. Obrigatório
AzureEnvironment O ambiente Azure da conta de administração de serviço que usou para implantar o Azure Stack Hub. Requerido apenas para implementações AZure AD. Os nomes de ambiente suportados são AzureCloud, AzureUSGovernment, ou se usando um AD AZure AD da China, AzureChinaCloud. AzureCloud
DependênciaFilesLocalPath Deve também colocar o seu arquivo certificado .pfx neste diretório. Opcional para nó único, mas obrigatório para vários nós
Palavra-passe defaultsslcertificatePassword A senha do certificado .pfx. Obrigatório
MaxRetryCount O número de vezes que pretende voltar a tentar cada operação se houver uma falha. 2
Retripduração O intervalo de tempo entre as recauchutagens, em segundos. 120
Desinstalar Remove o fornecedor de recursos e todos os recursos associados. No
DebugMode Evita a limpeza automática em avarias. No

Atualizar o exemplo PowerShell

Se estiver a atualizar a versão do fornecedor de recursos SQL para versões 1.1.33.0 ou anteriores, tem de instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.

Se estiver a atualizar o fornecedor de recursos SQL para a versão 1.1.47.0 ou posterior, pode saltar este passo. O script de implementação irá descarregar e instalar automaticamente os módulos PowerShell necessários para que possa seguir o caminho C:\Program Files\SqlMySqlPsh.

Nota

Se a pasta C:\Program Files\SqlMySqlPsh já existir com o módulo PowerShell descarregado, é aconselhável limpar esta pasta antes de executar o script de atualização. Isto é para garantir que a versão certa do módulo PowerShell é descarregada e usada.

# 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

Nota

Em cenário desconectado, é necessário descarregar os módulos PowerShell necessários e registar o repositório manualmente como pré-requisito. Pode obter mais informações no Fornecedor de recursos de SQL Deploy

Segue-se um exemplo de utilização doUpdateSQLProvider.ps1 script que podes executar a partir de uma consola PowerShell elevada. Certifique-se de alterar as informações e senhas variáveis conforme necessário:

# 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

Quando o script de atualização do fornecedor de recursos terminar, feche a sessão atual do PowerShell.

Passos seguintes

Manter o fornecedor de recursos SQL